4 beat count in added
This commit is contained in:
parent
6b1dc45ba6
commit
48c78fd4e9
|
|
@ -15,15 +15,24 @@ namespace HeavenStudio.Games.Loaders
|
||||||
{
|
{
|
||||||
return new Minigame("nightWalkAgb", "Night Walk (GBA)", "FFFFFF", false, false, new List<GameAction>()
|
return new Minigame("nightWalkAgb", "Night Walk (GBA)", "FFFFFF", false, false, new List<GameAction>()
|
||||||
{
|
{
|
||||||
new GameAction("countIn", "8 Beat Count-In")
|
new GameAction("countIn8", "8 Beat Count-In")
|
||||||
{
|
{
|
||||||
preFunction = delegate { if (!eventCaller.currentEntity["mute"] && AgbNightWalk.IsValidCountIn(eventCaller.currentEntity)) AgbNightWalk.CountInSound(eventCaller.currentEntity.beat); },
|
preFunction = delegate { if (!eventCaller.currentEntity["mute"] && AgbNightWalk.IsValidCountIn(eventCaller.currentEntity)) AgbNightWalk.CountInSound8(eventCaller.currentEntity.beat); },
|
||||||
defaultLength = 8,
|
defaultLength = 8,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("mute", false, "Mute Cowbell")
|
new Param("mute", false, "Mute Cowbell")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
new GameAction("countIn4", "4 Beat Count-In")
|
||||||
|
{
|
||||||
|
preFunction = delegate { if (!eventCaller.currentEntity["mute"] && AgbNightWalk.IsValidCountIn(eventCaller.currentEntity)) AgbNightWalk.CountInSound4(eventCaller.currentEntity.beat); },
|
||||||
|
defaultLength = 4,
|
||||||
|
parameters = new List<Param>()
|
||||||
|
{
|
||||||
|
new Param("mute", false, "Mute Cowbell")
|
||||||
|
}
|
||||||
|
},
|
||||||
new GameAction("height", "Platform Height")
|
new GameAction("height", "Platform Height")
|
||||||
{
|
{
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
|
|
@ -55,7 +64,8 @@ namespace HeavenStudio.Games.Loaders
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("mute", false, "Mute Cue")
|
new Param("mute", false, "Mute Cue")
|
||||||
}
|
},
|
||||||
|
preFunctionLength = 1
|
||||||
},
|
},
|
||||||
new GameAction("noJump", "No Jumping")
|
new GameAction("noJump", "No Jumping")
|
||||||
{
|
{
|
||||||
|
|
@ -91,6 +101,7 @@ namespace HeavenStudio.Games
|
||||||
public AgbPlayYan playYan;
|
public AgbPlayYan playYan;
|
||||||
[SerializeField] private AgbPlatformHandler platformHandler;
|
[SerializeField] private AgbPlatformHandler platformHandler;
|
||||||
[NonSerialized] public double countInBeat = -1;
|
[NonSerialized] public double countInBeat = -1;
|
||||||
|
[NonSerialized] public float countInLength = 8;
|
||||||
[Header("Curves")]
|
[Header("Curves")]
|
||||||
[SerializeField] SuperCurveObject.Path[] jumpPaths;
|
[SerializeField] SuperCurveObject.Path[] jumpPaths;
|
||||||
private struct HeightEvent
|
private struct HeightEvent
|
||||||
|
|
@ -201,6 +212,7 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
public static void FishSound(double beat)
|
public static void FishSound(double beat)
|
||||||
{
|
{
|
||||||
|
if (GameManager.instance.currentGame == "nightWalkAgb" && instance.platformHandler.PlatformsStopped()) return;
|
||||||
MultiSound.Play(new MultiSound.Sound[]
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
{
|
{
|
||||||
new MultiSound.Sound("nightWalkAgb/fish1", beat - 1),
|
new MultiSound.Sound("nightWalkAgb/fish1", beat - 1),
|
||||||
|
|
@ -245,13 +257,14 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
private void SetCountInBeat(double beat)
|
private void SetCountInBeat(double beat)
|
||||||
{
|
{
|
||||||
List<RiqEntity> countInEvents = EventCaller.GetAllInGameManagerList("nightWalkAgb", new string[] { "countIn" });
|
List<RiqEntity> countInEvents = EventCaller.GetAllInGameManagerList("nightWalkAgb", new string[] { "countIn8", "countIn4" });
|
||||||
if (countInEvents.Count > 0)
|
if (countInEvents.Count > 0)
|
||||||
{
|
{
|
||||||
var allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" });
|
var allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" });
|
||||||
if (allEnds.Count == 0)
|
if (allEnds.Count == 0)
|
||||||
{
|
{
|
||||||
countInBeat = countInEvents[0].beat;
|
countInBeat = countInEvents[0].beat;
|
||||||
|
countInLength = countInEvents[0].length;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -278,6 +291,7 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
tempEvents.Sort((x, y) => x.beat.CompareTo(y.beat));
|
tempEvents.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||||
countInBeat = tempEvents[tempEvents.Count - 1].beat;
|
countInBeat = tempEvents[tempEvents.Count - 1].beat;
|
||||||
|
countInLength = tempEvents[tempEvents.Count - 1].length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -286,7 +300,7 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
public static bool IsValidCountIn(RiqEntity countInEntity)
|
public static bool IsValidCountIn(RiqEntity countInEntity)
|
||||||
{
|
{
|
||||||
List<RiqEntity> countInEvents = EventCaller.GetAllInGameManagerList("nightWalkAgb", new string[] { "countIn" });
|
List<RiqEntity> countInEvents = EventCaller.GetAllInGameManagerList("nightWalkAgb", new string[] { "countIn8", "countIn4" });
|
||||||
if (countInEvents.Count > 0)
|
if (countInEvents.Count > 0)
|
||||||
{
|
{
|
||||||
var allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" });
|
var allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame" });
|
||||||
|
|
@ -339,6 +353,8 @@ namespace HeavenStudio.Games
|
||||||
private void UpdateBalloons(double beat)
|
private void UpdateBalloons(double beat)
|
||||||
{
|
{
|
||||||
if (countInBeat != -1)
|
if (countInBeat != -1)
|
||||||
|
{
|
||||||
|
if (countInLength == 8)
|
||||||
{
|
{
|
||||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||||
{
|
{
|
||||||
|
|
@ -352,12 +368,26 @@ namespace HeavenStudio.Games
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
playYan.PopBalloon(0, true);
|
||||||
|
playYan.PopBalloon(1, true);
|
||||||
|
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||||
|
{
|
||||||
|
new BeatAction.Action(countInBeat, delegate { playYan.PopBalloon(2, beat >= countInBeat); }),
|
||||||
|
new BeatAction.Action(countInBeat + 1, delegate { playYan.PopBalloon(3, beat >= countInBeat + 1); }),
|
||||||
|
new BeatAction.Action(countInBeat + 2, delegate { playYan.PopBalloon(4, beat >= countInBeat + 2); }),
|
||||||
|
new BeatAction.Action(countInBeat + 3, delegate { playYan.PopBalloon(5, beat >= countInBeat + 3); }),
|
||||||
|
new BeatAction.Action(countInBeat + 4, delegate { playYan.PopBalloon(6, beat >= countInBeat + 4); }),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
playYan.PopAll();
|
playYan.PopAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void CountInSound(double beat)
|
public static void CountInSound8(double beat)
|
||||||
{
|
{
|
||||||
MultiSound.Play(new MultiSound.Sound[]
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
{
|
{
|
||||||
|
|
@ -369,6 +399,17 @@ namespace HeavenStudio.Games
|
||||||
new MultiSound.Sound("count-ins/cowbell", beat + 7),
|
new MultiSound.Sound("count-ins/cowbell", beat + 7),
|
||||||
}, false, true);
|
}, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void CountInSound4(double beat)
|
||||||
|
{
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new MultiSound.Sound("count-ins/cowbell", beat),
|
||||||
|
new MultiSound.Sound("count-ins/cowbell", beat + 1),
|
||||||
|
new MultiSound.Sound("count-ins/cowbell", beat + 2),
|
||||||
|
new MultiSound.Sound("count-ins/cowbell", beat + 3),
|
||||||
|
}, false, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ namespace HeavenStudio.Games.Scripts_AgbNightWalk
|
||||||
private bool doFillStartSound = false;
|
private bool doFillStartSound = false;
|
||||||
|
|
||||||
private PlayerActionEvent inputEvent;
|
private PlayerActionEvent inputEvent;
|
||||||
private bool stopped;
|
[NonSerialized] public bool stopped;
|
||||||
private Sound kickSound;
|
private Sound kickSound;
|
||||||
[SerializeField] private GameObject fallYan;
|
[SerializeField] private GameObject fallYan;
|
||||||
[SerializeField] private Animator fish;
|
[SerializeField] private Animator fish;
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ namespace HeavenStudio.Games.Scripts_AgbNightWalk
|
||||||
AgbPlatform platform = Instantiate(platformRef, transform);
|
AgbPlatform platform = Instantiate(platformRef, transform);
|
||||||
allPlatforms.Add(platform);
|
allPlatforms.Add(platform);
|
||||||
platform.handler = this;
|
platform.handler = this;
|
||||||
platform.StartInput(game.countInBeat + i + 8 - (platformCount * 0.5), game.countInBeat + i + 8);
|
platform.StartInput(game.countInBeat + i + game.countInLength - (platformCount * 0.5), game.countInBeat + i + game.countInLength);
|
||||||
platform.gameObject.SetActive(true);
|
platform.gameObject.SetActive(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -78,6 +78,11 @@ namespace HeavenStudio.Games.Scripts_AgbNightWalk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool PlatformsStopped()
|
||||||
|
{
|
||||||
|
return allPlatforms[0].stopped;
|
||||||
|
}
|
||||||
|
|
||||||
public void DestroyPlatforms(double startBeat, double firstBeat, double lastBeat)
|
public void DestroyPlatforms(double startBeat, double firstBeat, double lastBeat)
|
||||||
{
|
{
|
||||||
List<AgbPlatform> platformsToDestroy = allPlatforms.FindAll(x => x.endBeat >= firstBeat && x.endBeat <= lastBeat);
|
List<AgbPlatform> platformsToDestroy = allPlatforms.FindAll(x => x.endBeat >= firstBeat && x.endBeat <= lastBeat);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue