mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 08:17:38 +02:00
Camera flashes (bug associated with fullscreen)
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
|
||||
using RhythmHeavenMania.Util;
|
||||
@ -20,8 +22,13 @@ namespace RhythmHeavenMania
|
||||
public int track;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float length;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valA;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valB;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public float valC;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public int type;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public EasingFunction.Ease ease;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public Color colorA;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public Color colorB;
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore)] public Color colorC;
|
||||
public string datamodel;
|
||||
[JsonIgnore] public Editor.Track.TimelineEventObj eventObj;
|
||||
|
||||
|
@ -73,6 +73,8 @@ namespace RhythmHeavenMania
|
||||
}
|
||||
|
||||
GameManager.instance.SetCurrentEventToClosest(beat);
|
||||
songPosBeat = beat;
|
||||
songPositionInBeats = songPosBeat;
|
||||
}
|
||||
|
||||
public void Play(float beat)
|
||||
|
@ -9,11 +9,8 @@ namespace RhythmHeavenMania
|
||||
public class EventCaller : MonoBehaviour
|
||||
{
|
||||
public Transform GamesHolder;
|
||||
public float currentBeat;
|
||||
public float currentLength;
|
||||
public float currentValA;
|
||||
public Beatmap.Entity currentEntity = new Beatmap.Entity();
|
||||
public string currentSwitchGame;
|
||||
public int currentType;
|
||||
|
||||
public delegate void EventCallback();
|
||||
|
||||
@ -37,6 +34,8 @@ namespace RhythmHeavenMania
|
||||
{
|
||||
instance = this;
|
||||
|
||||
currentEntity = new Beatmap.Entity();
|
||||
|
||||
Minigames.Init(this);
|
||||
|
||||
List<Minigames.Minigame> minigamesInBeatmap = new List<Minigames.Minigame>();
|
||||
@ -57,7 +56,7 @@ namespace RhythmHeavenMania
|
||||
private void Update()
|
||||
{
|
||||
if (GameManager.instance.currentEvent >= 0 && GameManager.instance.currentEvent < GameManager.instance.Beatmap.entities.Count)
|
||||
currentBeat = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].beat;
|
||||
currentEntity.beat = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].beat;
|
||||
}
|
||||
|
||||
public void CallEvent(string event_)
|
||||
@ -67,9 +66,7 @@ namespace RhythmHeavenMania
|
||||
|
||||
try
|
||||
{
|
||||
currentLength = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].length;
|
||||
currentType = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].type;
|
||||
currentValA = GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].valA;
|
||||
currentEntity = (Beatmap.Entity)GameManager.instance.Beatmap.entities[GameManager.instance.currentEvent].Clone();
|
||||
|
||||
if (details.Length > 2) currentSwitchGame = details[2];
|
||||
|
||||
|
@ -23,6 +23,7 @@ namespace RhythmHeavenMania
|
||||
public Camera GameCamera, CursorCam;
|
||||
public CircleCursor CircleCursor;
|
||||
[HideInInspector] public GameObject GamesHolder;
|
||||
public Games.Global.Flash fade;
|
||||
|
||||
[Header("Games")]
|
||||
public string currentGame;
|
||||
@ -35,6 +36,9 @@ namespace RhythmHeavenMania
|
||||
public float startBeat;
|
||||
private GameObject currentGameO;
|
||||
public bool autoplay;
|
||||
|
||||
public event Action<float> onBeatChanged;
|
||||
|
||||
public int BeatmapEntities()
|
||||
{
|
||||
return Beatmap.entities.Count + Beatmap.tempoChanges.Count;
|
||||
@ -57,7 +61,10 @@ namespace RhythmHeavenMania
|
||||
sp.color = Color.black;
|
||||
sp.sprite = Resources.Load<Sprite>("Sprites/GeneralPurpose/Square");
|
||||
sp.sortingOrder = 30000;
|
||||
// this.gameObject.layer = 3;
|
||||
this.gameObject.layer = 3;
|
||||
|
||||
GameObject fade = new GameObject();
|
||||
this.fade = fade.AddComponent<Games.Global.Flash>();
|
||||
|
||||
if (txt != null)
|
||||
{
|
||||
@ -177,6 +184,7 @@ namespace RhythmHeavenMania
|
||||
public void Play(float beat)
|
||||
{
|
||||
StartCoroutine(PlayCo(beat));
|
||||
onBeatChanged?.Invoke(beat);
|
||||
}
|
||||
|
||||
private IEnumerator PlayCo(float beat)
|
||||
@ -204,6 +212,7 @@ namespace RhythmHeavenMania
|
||||
{
|
||||
Conductor.instance.Stop(beat);
|
||||
SetCurrentEventToClosest(beat);
|
||||
onBeatChanged?.Invoke(beat);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -219,6 +228,7 @@ namespace RhythmHeavenMania
|
||||
public void SetCurrentEventToClosest(float beat)
|
||||
{
|
||||
SortEventsList();
|
||||
onBeatChanged?.Invoke(beat);
|
||||
if (Beatmap.entities.Count > 0)
|
||||
{
|
||||
List<float> entities = Beatmap.entities.Select(c => c.beat).ToList();
|
||||
|
8
Assets/Scripts/Games/Global.meta
Normal file
8
Assets/Scripts/Games/Global.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a3d05dfe6f7cf84398844e087744cd0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
116
Assets/Scripts/Games/Global/Flash.cs
Normal file
116
Assets/Scripts/Games/Global/Flash.cs
Normal file
@ -0,0 +1,116 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
using RhythmHeavenMania.Util;
|
||||
using System.Linq;
|
||||
|
||||
namespace RhythmHeavenMania.Games.Global
|
||||
{
|
||||
public class Flash : MonoBehaviour
|
||||
{
|
||||
public float startBeat;
|
||||
public float length;
|
||||
|
||||
public Color startColor;
|
||||
public Color endColor;
|
||||
|
||||
public EasingFunction.Ease ease;
|
||||
private EasingFunction.Function func;
|
||||
|
||||
private SpriteRenderer spriteRenderer;
|
||||
|
||||
[SerializeField] private Color currentCol;
|
||||
|
||||
private List<Beatmap.Entity> allFadeEvents = new List<Beatmap.Entity>();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
this.gameObject.transform.SetParent(GameManager.instance.gameObject.transform);
|
||||
this.gameObject.layer = 3;
|
||||
this.gameObject.transform.localScale = new Vector3(1, 1);
|
||||
|
||||
spriteRenderer = this.gameObject.AddComponent<SpriteRenderer>();
|
||||
|
||||
spriteRenderer.color = startColor;
|
||||
spriteRenderer.sortingOrder = 30001;
|
||||
spriteRenderer.sprite = Resources.Load<Sprite>("Sprites/GeneralPurpose/Square");
|
||||
|
||||
func = EasingFunction.GetEasingFunction(EasingFunction.Ease.Linear);
|
||||
|
||||
GameManager.instance.onBeatChanged += OnBeatChanged;
|
||||
}
|
||||
|
||||
public void OnBeatChanged(float beat)
|
||||
{
|
||||
// I really need to create a class for objects that are constant like the Spaceball Camera
|
||||
// startColor = new Color(1, 1, 1, 0);
|
||||
// endColor = new Color(1, 1, 1, 0);
|
||||
|
||||
allFadeEvents = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "flash" });
|
||||
Test(beat);
|
||||
}
|
||||
|
||||
private void Test(float beat)
|
||||
{
|
||||
Color startCol = Color.white;
|
||||
Color endCol = Color.white;
|
||||
|
||||
bool override_ = false;
|
||||
|
||||
if (allFadeEvents.Count > 0)
|
||||
{
|
||||
Beatmap.Entity startEntity = null;
|
||||
|
||||
for (int i = 0; i < allFadeEvents.Count; i++)
|
||||
{
|
||||
if (allFadeEvents[i].beat <= beat)
|
||||
{
|
||||
startEntity = allFadeEvents[i];
|
||||
}
|
||||
else if (i == 0 && allFadeEvents[i].beat > beat)
|
||||
{
|
||||
startEntity = allFadeEvents[i];
|
||||
override_ = true;
|
||||
startCol = new Color(1, 1, 1, 0);
|
||||
endCol = new Color(1, 1, 1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (startEntity != null)
|
||||
{
|
||||
if (!override_)
|
||||
{
|
||||
Color colA = startEntity.colorA;
|
||||
Color colB = startEntity.colorB;
|
||||
|
||||
startCol = new Color(colA.r, colA.g, colA.b, startEntity.valA);
|
||||
endCol = new Color(colB.r, colB.g, colB.b, startEntity.valB);
|
||||
}
|
||||
|
||||
SetFade(startEntity.beat, startEntity.length, startCol, endCol, startEntity.ease);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetFade(float beat, float length, Color startCol, Color endCol, EasingFunction.Ease ease)
|
||||
{
|
||||
this.startBeat = beat;
|
||||
this.length = length;
|
||||
this.startColor = startCol;
|
||||
this.endColor = endCol;
|
||||
this.ease = ease;
|
||||
func = EasingFunction.GetEasingFunction(ease);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
Test(Conductor.instance.songPositionInBeats);
|
||||
float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, length);
|
||||
// normalizedBeat = Mathf.Clamp01(normalizedBeat);
|
||||
|
||||
currentCol = new Color(func(startColor.r, endColor.r, normalizedBeat), func(startColor.g, endColor.g, normalizedBeat), func(startColor.b, endColor.b, normalizedBeat), func(startColor.a, endColor.a, normalizedBeat));
|
||||
spriteRenderer.color = currentCol;
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Games/Global/Flash.cs.meta
Normal file
11
Assets/Scripts/Games/Global/Flash.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 16a839834af94a042a3feb7a4762bafd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -97,7 +97,6 @@ namespace RhythmHeavenMania.Games.Spaceball
|
||||
}
|
||||
else
|
||||
{
|
||||
EasingFunction.Ease ease = EasingFunction.Ease.EaseInOutCirc;
|
||||
EasingFunction.Function func = EasingFunction.GetEasingFunction(lastEase);
|
||||
|
||||
float newPosZ = func(lastCamDistance, currentZoomCamDistance, normalizedBeat);
|
||||
|
@ -146,7 +146,7 @@ namespace RhythmHeavenMania.Editor
|
||||
|
||||
private void SelectEvents()
|
||||
{
|
||||
if (!Input.GetKey(KeyCode.LeftShift) && !Timeline.instance.InteractingWithEvents() && !Timeline.instance.MouseInRectTransform(Editor.instance.eventSelectorBG)) Selections.instance.DeselectAll();
|
||||
if (!Input.GetKey(KeyCode.LeftShift) && !Timeline.instance.InteractingWithEvents() && Editor.instance.canSelect) Selections.instance.DeselectAll();
|
||||
|
||||
int selected = 0;
|
||||
|
||||
|
25
Assets/Scripts/LevelEditor/DisableSelectOnHover.cs
Normal file
25
Assets/Scripts/LevelEditor/DisableSelectOnHover.cs
Normal file
@ -0,0 +1,25 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
namespace RhythmHeavenMania.Editor
|
||||
{
|
||||
public class DisableSelectOnHover : MonoBehaviour
|
||||
{
|
||||
public EventParameterManager eventParameterManager;
|
||||
|
||||
// this is fucking retarded
|
||||
private void LateUpdate()
|
||||
{
|
||||
eventParameterManager.canDisable = true;
|
||||
for (int i = 0; i < transform.childCount; i++)
|
||||
{
|
||||
if (Editor.MouseInRectTransform(transform.GetChild(i).GetComponent<RectTransform>()))
|
||||
{
|
||||
eventParameterManager.canDisable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/LevelEditor/DisableSelectOnHover.cs.meta
Normal file
11
Assets/Scripts/LevelEditor/DisableSelectOnHover.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c29b4f68c2b2e3849af4ab850c275cea
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -56,6 +56,7 @@ namespace RhythmHeavenMania.Editor
|
||||
private string remixName = "";
|
||||
private bool fullscreen;
|
||||
public bool discordDuringTesting = false;
|
||||
public bool canSelect = true;
|
||||
|
||||
public static Editor instance { get; private set; }
|
||||
|
||||
@ -63,6 +64,7 @@ namespace RhythmHeavenMania.Editor
|
||||
{
|
||||
instance = this;
|
||||
Initializer = GetComponent<Initializer>();
|
||||
canSelect = true;
|
||||
}
|
||||
|
||||
public void Init()
|
||||
@ -134,7 +136,7 @@ namespace RhythmHeavenMania.Editor
|
||||
}
|
||||
}
|
||||
|
||||
if (Timeline.instance.timelineState.selected)
|
||||
if (Timeline.instance.timelineState.selected && Editor.instance.canSelect)
|
||||
{
|
||||
if (Input.GetMouseButtonUp(0))
|
||||
{
|
||||
@ -408,5 +410,10 @@ namespace RhythmHeavenMania.Editor
|
||||
{
|
||||
GameEventSelectorTitle.text = txt;
|
||||
}
|
||||
|
||||
public static bool MouseInRectTransform(RectTransform rectTransform)
|
||||
{
|
||||
return (rectTransform.gameObject.activeSelf && RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Editor.instance.EditorCamera));
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@ namespace RhythmHeavenMania.Editor
|
||||
[SerializeField] private GameObject IntegerP;
|
||||
[SerializeField] private GameObject FloatP;
|
||||
[SerializeField] private GameObject DropdownP;
|
||||
[SerializeField] private GameObject ColorP;
|
||||
|
||||
public Beatmap.Entity entity;
|
||||
|
||||
@ -23,6 +24,8 @@ namespace RhythmHeavenMania.Editor
|
||||
|
||||
private int childCountAtStart;
|
||||
|
||||
public bool canDisable = true;
|
||||
|
||||
public static EventParameterManager instance { get; set; }
|
||||
|
||||
private void Awake()
|
||||
@ -39,7 +42,7 @@ namespace RhythmHeavenMania.Editor
|
||||
{
|
||||
if (Input.GetMouseButtonDown(0))
|
||||
{
|
||||
if (!Timeline.instance.MouseInRectTransform(Editor.instance.eventSelectorBG) && active)
|
||||
if (canDisable && active)
|
||||
{
|
||||
Disable();
|
||||
}
|
||||
@ -107,6 +110,10 @@ namespace RhythmHeavenMania.Editor
|
||||
{
|
||||
prefab = DropdownP;
|
||||
}
|
||||
else if (objType == typeof(Color))
|
||||
{
|
||||
prefab = ColorP;
|
||||
}
|
||||
|
||||
GameObject input = Instantiate(prefab);
|
||||
input.transform.SetParent(this.gameObject.transform);
|
||||
|
@ -4,6 +4,7 @@ using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
using TMPro;
|
||||
using Starpelly;
|
||||
|
||||
using RhythmHeavenMania.Util;
|
||||
|
||||
@ -23,8 +24,14 @@ namespace RhythmHeavenMania.Editor
|
||||
[Space(10)]
|
||||
public TMP_Dropdown dropdown;
|
||||
|
||||
private string propertyName;
|
||||
[Header("Color")]
|
||||
[Space(10)]
|
||||
public Button ColorBTN;
|
||||
public RectTransform ColorTable;
|
||||
public bool colorTableActive;
|
||||
public ColorPreview colorPreview;
|
||||
|
||||
private string propertyName;
|
||||
|
||||
public void SetProperties(string propertyName, object type, string caption)
|
||||
{
|
||||
@ -97,6 +104,40 @@ namespace RhythmHeavenMania.Editor
|
||||
parameterManager.entity[propertyName] = (EasingFunction.Ease)dropdown.value;
|
||||
});
|
||||
}
|
||||
else if (objType == typeof(Color))
|
||||
{
|
||||
colorPreview.colorPicker.onColorChanged += delegate
|
||||
{
|
||||
parameterManager.entity[propertyName] = (Color)colorPreview.colorPicker.color;
|
||||
};
|
||||
|
||||
Color paramCol = (Color)parameterManager.entity[propertyName];
|
||||
|
||||
ColorBTN.onClick.AddListener(delegate
|
||||
{
|
||||
ColorTable.gameObject.SetActive(true);
|
||||
colorTableActive = true;
|
||||
colorPreview.ChangeColor(paramCol);
|
||||
});
|
||||
|
||||
colorPreview.ChangeColor(paramCol);
|
||||
ColorTable.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (colorTableActive)
|
||||
{
|
||||
if (!Editor.MouseInRectTransform(ColorTable))
|
||||
{
|
||||
if (Input.GetMouseButtonDown(0))
|
||||
{
|
||||
ColorTable.gameObject.SetActive(false);
|
||||
colorTableActive = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -244,7 +244,7 @@ namespace RhythmHeavenMania.Editor.Track
|
||||
}
|
||||
|
||||
|
||||
if (Input.GetMouseButton(1) && !Conductor.instance.isPlaying && MouseInRectTransform(TimelineGridSelect))
|
||||
if (Input.GetMouseButton(1) && !Conductor.instance.isPlaying && Editor.MouseInRectTransform(TimelineGridSelect))
|
||||
{
|
||||
movingPlayback = true;
|
||||
}
|
||||
@ -429,11 +429,6 @@ namespace RhythmHeavenMania.Editor.Track
|
||||
{
|
||||
return (this.gameObject.activeSelf && RectTransformUtility.RectangleContainsScreenPoint(TimelineContent.transform.parent.gameObject.GetComponent<RectTransform>(), Input.mousePosition, Editor.instance.EditorCamera));
|
||||
}
|
||||
|
||||
public bool MouseInRectTransform(RectTransform rectTransform)
|
||||
{
|
||||
return (rectTransform.gameObject.activeSelf && RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition, Editor.instance.EditorCamera));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Functions
|
||||
|
@ -80,83 +80,112 @@ namespace RhythmHeavenMania
|
||||
new GameAction("switchGame", delegate { GameManager.instance.SwitchGame(eventCaller.currentSwitchGame); }, 0.5f),
|
||||
new GameAction("end", delegate { Debug.Log("end"); }),
|
||||
new GameAction("skill star", delegate { }, 1f, true),
|
||||
new GameAction("flash", delegate
|
||||
{
|
||||
|
||||
/*Color colA = eventCaller.currentEntity.colorA;
|
||||
Color colB = eventCaller.currentEntity.colorB;
|
||||
|
||||
Color startCol = new Color(colA.r, colA.g, colA.b, eventCaller.currentEntity.valA);
|
||||
Color endCol = new Color(colB.r, colB.g, colB.b, eventCaller.currentEntity.valB);
|
||||
|
||||
GameManager.instance.fade.SetFade(eventCaller.currentEntity.beat, eventCaller.currentEntity.length, startCol, endCol, eventCaller.currentEntity.ease);*/
|
||||
|
||||
}, 1f, true, new List<Param>()
|
||||
{
|
||||
new Param("colorA", Color.white, "Start Color"),
|
||||
new Param("colorB", Color.white, "End Color"),
|
||||
new Param("valA", new EntityTypes.Float(0, 1, 1), "Start Opacity"),
|
||||
new Param("valB", new EntityTypes.Float(0, 1, 0), "End Opacity"),
|
||||
new Param("ease", EasingFunction.Ease.Linear, "Ease")
|
||||
} ),
|
||||
}),
|
||||
new Minigame("countIn", "Count-Ins", "", false, true, new List<GameAction>()
|
||||
{
|
||||
new GameAction("cowbell", delegate { Jukebox.PlayOneShot("count-ins/cowbell"); }, 1f),
|
||||
new GameAction("one", delegate { Jukebox.PlayOneShot("count-ins/one1"); }, 1f),
|
||||
new GameAction("one (alt)", delegate { Jukebox.PlayOneShot("count-ins/one2"); }, 1f),
|
||||
new GameAction("two", delegate { Jukebox.PlayOneShot("count-ins/two1"); }, 1f),
|
||||
new GameAction("two (alt)", delegate { Jukebox.PlayOneShot("count-ins/two2"); }, 1f),
|
||||
new GameAction("three", delegate { Jukebox.PlayOneShot("count-ins/three1"); }, 1f),
|
||||
new GameAction("three (alt)", delegate { Jukebox.PlayOneShot("count-ins/three2"); }, 1f),
|
||||
new GameAction("four", delegate { Jukebox.PlayOneShot("count-ins/four1"); }, 1f),
|
||||
new GameAction("four (alt)", delegate { Jukebox.PlayOneShot("count-ins/four2"); }, 1f),
|
||||
new GameAction("and", delegate { Jukebox.PlayOneShot("count-ins/and"); }, 0.5f),
|
||||
new GameAction("go!", delegate { Jukebox.PlayOneShot("count-ins/go1"); }, 1f),
|
||||
new GameAction("go! (alt)", delegate { Jukebox.PlayOneShot("count-ins/go2"); }, 1f),
|
||||
new GameAction("ready!", delegate
|
||||
{
|
||||
new GameAction("one", delegate { Jukebox.PlayOneShot("count-ins/one1"); }, 1f),
|
||||
new GameAction("one (alt)", delegate { Jukebox.PlayOneShot("count-ins/one2"); }, 1f),
|
||||
new GameAction("two", delegate { Jukebox.PlayOneShot("count-ins/two1"); }, 1f),
|
||||
new GameAction("two (alt)", delegate { Jukebox.PlayOneShot("count-ins/two2"); }, 1f),
|
||||
new GameAction("three", delegate { Jukebox.PlayOneShot("count-ins/three1"); }, 1f),
|
||||
new GameAction("three (alt)", delegate { Jukebox.PlayOneShot("count-ins/three2"); }, 1f),
|
||||
new GameAction("four", delegate { Jukebox.PlayOneShot("count-ins/four1"); }, 1f),
|
||||
new GameAction("four (alt)", delegate { Jukebox.PlayOneShot("count-ins/four2"); }, 1f),
|
||||
new GameAction("and", delegate { Jukebox.PlayOneShot("count-ins/and"); }, 0.5f),
|
||||
new GameAction("go!", delegate { Jukebox.PlayOneShot("count-ins/go1"); }, 1f),
|
||||
new GameAction("go! (alt)", delegate { Jukebox.PlayOneShot("count-ins/go2"); }, 1f),
|
||||
new GameAction("ready!", delegate
|
||||
{
|
||||
MultiSound.Play(new MultiSound.Sound[]
|
||||
{
|
||||
new MultiSound.Sound("count-ins/ready1", eventCaller.currentBeat),
|
||||
new MultiSound.Sound("count-ins/ready2", eventCaller.currentBeat + 1f),
|
||||
new MultiSound.Sound("count-ins/ready1", eventCaller.currentEntity.beat),
|
||||
new MultiSound.Sound("count-ins/ready2", eventCaller.currentEntity.beat + 1f),
|
||||
}, false);
|
||||
}, 2f),
|
||||
}),
|
||||
new Minigame("forkLifter", "Fork Lifter", "FFFFFF", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("pea", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 0); }, 3),
|
||||
new GameAction("topbun", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 1); }, 3),
|
||||
new GameAction("burger", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 2); }, 3),
|
||||
new GameAction("bottombun", delegate { ForkLifter.instance.Flick(eventCaller.currentBeat, 3); }, 3),
|
||||
new GameAction("pea", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 0); }, 3),
|
||||
new GameAction("topbun", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 1); }, 3),
|
||||
new GameAction("burger", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 2); }, 3),
|
||||
new GameAction("bottombun", delegate { ForkLifter.instance.Flick(eventCaller.currentEntity.beat, 3); }, 3),
|
||||
new GameAction("prepare", delegate { ForkLifter.instance.ForkLifterHand.Prepare(); }, 0.5f),
|
||||
new GameAction("gulp", delegate { ForkLifterPlayer.instance.Eat(); }),
|
||||
new GameAction("sigh", delegate { Jukebox.PlayOneShot("sigh"); })
|
||||
}),
|
||||
new Minigame("clappyTrio", "The Clappy Trio", "29E7FF", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("clap", delegate { ClappyTrio.instance.Clap(eventCaller.currentBeat, eventCaller.currentLength); }, 3, true),
|
||||
new GameAction("bop", delegate { ClappyTrio.instance.Bop(eventCaller.currentBeat); } ),
|
||||
new GameAction("clap", delegate { ClappyTrio.instance.Clap(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 3, true),
|
||||
new GameAction("bop", delegate { ClappyTrio.instance.Bop(eventCaller.currentEntity.beat); } ),
|
||||
new GameAction("prepare", delegate { ClappyTrio.instance.Prepare(0); } ),
|
||||
new GameAction("prepare_alt", delegate { ClappyTrio.instance.Prepare(3); } ),
|
||||
}),
|
||||
new Minigame("spaceball", "Spaceball", "00A518", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("shoot", delegate { Spaceball.instance.Shoot(eventCaller.currentBeat, false, eventCaller.currentType); }, 2, false),
|
||||
new GameAction("shootHigh", delegate { Spaceball.instance.Shoot(eventCaller.currentBeat, true, eventCaller.currentType); }, 3),
|
||||
new GameAction("costume", delegate { Spaceball.instance.Costume(eventCaller.currentType); }, 1f, false, new List<Param>() { new Param("type", new EntityTypes.Integer(0, 2), "type") } ),
|
||||
new GameAction("alien", delegate { Spaceball.instance.alien.Show(eventCaller.currentBeat); } ),
|
||||
new GameAction("camera", delegate { Spaceball.instance.OverrideCurrentZoom(); }, 4, true, new List<Param>() { new Param("valA", new EntityTypes.Integer(1, 320, 10), "zoom"), new Param("ease", EasingFunction.Ease.Linear, "ease") } ),
|
||||
new GameAction("shoot", delegate { Spaceball.instance.Shoot(eventCaller.currentEntity.beat, false, eventCaller.currentEntity.type); }, 2, false),
|
||||
new GameAction("shootHigh", delegate { Spaceball.instance.Shoot(eventCaller.currentEntity.beat, true, eventCaller.currentEntity.type); }, 3),
|
||||
new GameAction("costume", delegate { Spaceball.instance.Costume(eventCaller.currentEntity.type); }, 1f, false, new List<Param>()
|
||||
{
|
||||
new Param("type", new EntityTypes.Integer(0, 2), "Type")
|
||||
} ),
|
||||
new GameAction("alien", delegate { Spaceball.instance.alien.Show(eventCaller.currentEntity.beat); } ),
|
||||
new GameAction("camera", delegate { Spaceball.instance.OverrideCurrentZoom(); }, 4, true, new List<Param>()
|
||||
{
|
||||
new Param("valA", new EntityTypes.Integer(1, 320, 10), "Zoom"),
|
||||
new Param("ease", EasingFunction.Ease.Linear, "Ease")
|
||||
} ),
|
||||
new GameAction("prepare dispenser", delegate { Spaceball.instance.PrepareDispenser(); }, 1 ),
|
||||
}),
|
||||
new Minigame("karateman", "Karate Man", "70A8D8", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("bop", delegate { KarateMan.instance.Bop(eventCaller.currentBeat, eventCaller.currentLength); }, 0.5f, true),
|
||||
new GameAction("pot", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 0); }, 2),
|
||||
new GameAction("bulb", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 1); }, 2),
|
||||
new GameAction("rock", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 2); }, 2),
|
||||
new GameAction("ball", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 3); }, 2),
|
||||
new GameAction("kick", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 4); }, 4.5f),
|
||||
new GameAction("combo", delegate { KarateMan.instance.Combo(eventCaller.currentBeat); }, 4f),
|
||||
new GameAction("hit3", delegate { KarateMan.instance.Hit3(eventCaller.currentBeat); }),
|
||||
new GameAction("hit4", delegate { KarateMan.instance.Hit4(eventCaller.currentBeat); }),
|
||||
new GameAction("prepare", delegate { KarateMan.instance.Prepare(eventCaller.currentBeat, eventCaller.currentLength); }, 1f, true),
|
||||
new GameAction("bop", delegate { KarateMan.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true),
|
||||
new GameAction("pot", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 0); }, 2),
|
||||
new GameAction("bulb", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 1); }, 2),
|
||||
new GameAction("rock", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 2); }, 2),
|
||||
new GameAction("ball", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 3); }, 2),
|
||||
new GameAction("kick", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 4); }, 4.5f),
|
||||
new GameAction("combo", delegate { KarateMan.instance.Combo(eventCaller.currentEntity.beat); }, 4f),
|
||||
new GameAction("hit3", delegate { KarateMan.instance.Hit3(eventCaller.currentEntity.beat); }),
|
||||
new GameAction("hit4", delegate { KarateMan.instance.Hit4(eventCaller.currentEntity.beat); }),
|
||||
new GameAction("prepare", delegate { KarateMan.instance.Prepare(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 1f, true),
|
||||
new GameAction("bgfxon", delegate { KarateMan.instance.BGFXOn(); } ),
|
||||
new GameAction("bgfxoff", delegate { KarateMan.instance.BGFXOff(); }),
|
||||
new GameAction("tacobell", delegate { KarateMan.instance.Shoot(eventCaller.currentBeat, 6); }, 2),
|
||||
new GameAction("tacobell", delegate { KarateMan.instance.Shoot(eventCaller.currentEntity.beat, 6); }, 2),
|
||||
}),
|
||||
new Minigame("spaceSoccer", "Space Soccer", "B888F8", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("ball dispense", delegate { SpaceSoccer.instance.Dispense(eventCaller.currentBeat); }, 2f),
|
||||
new GameAction("ball dispense", delegate { SpaceSoccer.instance.Dispense(eventCaller.currentEntity.beat); }, 2f),
|
||||
new GameAction("keep-up", delegate { }, 4f, true),
|
||||
new GameAction("high kick-toe!", delegate { }, 3f, false, new List<Param>() { new Param("valA", new EntityTypes.Float(0, 1), "swing") }),
|
||||
new GameAction("high kick-toe!", delegate { }, 3f, false, new List<Param>()
|
||||
{
|
||||
new Param("valA", new EntityTypes.Float(0, 1), "Swing")
|
||||
}),
|
||||
}),
|
||||
new Minigame("djSchool", "DJ School \n<color=#eb5454>[Non-Playable]</color>", "008c97", false, false, new List<GameAction>()
|
||||
{
|
||||
new GameAction("bop", delegate { DJSchool.instance.Bop(eventCaller.currentBeat, eventCaller.currentLength); }, 0.5f, true),
|
||||
new GameAction("break c'mon ooh", delegate { DJSchool.instance.BreakCmon(eventCaller.currentBeat); }, 3f),
|
||||
new GameAction("scratch-o hey", delegate { DJSchool.instance.ScratchoHey(eventCaller.currentBeat); }, 3f),
|
||||
new GameAction("bop", delegate { DJSchool.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length); }, 0.5f, true),
|
||||
new GameAction("break c'mon ooh", delegate { DJSchool.instance.BreakCmon(eventCaller.currentEntity.beat); }, 3f),
|
||||
new GameAction("scratch-o hey", delegate { DJSchool.instance.ScratchoHey(eventCaller.currentEntity.beat); }, 3f),
|
||||
}),
|
||||
/*new Minigame("rhythmRally", "Rhythm Rally", "B888F8", true, false, new List<GameAction>()
|
||||
{
|
||||
|
Reference in New Issue
Block a user