Trick on the Class: prep bop entity

This commit is contained in:
minenice55
2022-04-11 09:56:37 -04:00
parent 27dd45148e
commit 995d20d522
4 changed files with 27 additions and 10 deletions

View File

@ -13,7 +13,7 @@ namespace HeavenStudio.Games.Scripts_TrickClass
public bool flyType;
public float startBeat;
bool flying = true;
bool hit = false;
bool dodged = false;
bool miss = false;
float flyBeats;
@ -80,7 +80,7 @@ namespace HeavenStudio.Games.Scripts_TrickClass
}
}
if (!(hit || miss))
if (!(dodged || miss))
{
float normalizedBeat = cond.GetPositionFromMargin(startBeat + dodgeBeats, 1f);
StateCheck(normalizedBeat);
@ -89,7 +89,7 @@ namespace HeavenStudio.Games.Scripts_TrickClass
{
if (state.perfect)
{
hit = true;
dodged = true;
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("trickClass/ball_impact", startBeat + flyBeats, volume: 0.75f),
});
@ -108,7 +108,7 @@ namespace HeavenStudio.Games.Scripts_TrickClass
break;
default:
curve = TrickClass.instance.ballMissCurve;
flyBeats = 1.5f;
flyBeats = 1.25f;
break;
}
startBeat += dodgeBeats;
@ -120,7 +120,7 @@ namespace HeavenStudio.Games.Scripts_TrickClass
public override void OnAce()
{
TrickClass.instance.PlayerDodge();
hit = true;
dodged = true;
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("trickClass/ball_impact", startBeat + flyBeats, volume: 0.5f),
});

View File

@ -37,6 +37,7 @@ namespace HeavenStudio.Games
public BezierCurve3D shockTossCurve;
public static TrickClass instance;
public GameEvent bop = new GameEvent();
private void Awake()
{
@ -45,12 +46,27 @@ namespace HeavenStudio.Games
private void Update()
{
var cond = Conductor.instance;
if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1))
{
if (cond.songPositionInBeats >= bop.startBeat && cond.songPositionInBeats < bop.startBeat + bop.length)
{
//TODO: bop animation
}
}
if (PlayerInput.Pressed())
{
PlayerDodge();
}
}
public void Bop(float beat, float length)
{
bop.startBeat = beat;
bop.length = length;
}
public void TossObject(float beat, int type)
{
switch (type)

View File

@ -464,6 +464,7 @@ namespace HeavenStudio
}),
new Minigame("trickClass", "Trick on the Class\n<color=#eb5454>[WIP don't use]</color>", "C0171D", false, false, new List<GameAction>()
{
new GameAction("bop", delegate { var e = eventCaller.currentEntity; TrickClass.instance.Bop(e.beat, e.length); }, 1, true),
new GameAction("toss", delegate
{
TrickClass.instance.TossObject(eventCaller.currentEntity.beat, eventCaller.currentEntity.type);