mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 08:27:40 +02:00
No way, fireworks is now feature-complete???! he did da impossible PART 2 (#298)
* Started * Added bomb * Just need more explosion types ig * Count ins :D * Remix 5 background * This was painful * Shity particles * particle adjustments * stuff --------- Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
This commit is contained in:
65
Assets/Scripts/Games/Fireworks/FireworksBomb.cs
Normal file
65
Assets/Scripts/Games/Fireworks/FireworksBomb.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using HeavenStudio.Util;
|
||||
using NaughtyBezierCurves;
|
||||
|
||||
namespace HeavenStudio.Games.Scripts_Fireworks
|
||||
{
|
||||
public class FireworksBomb : PlayerActionObject
|
||||
{
|
||||
public BezierCurve3D curve;
|
||||
private bool exploded;
|
||||
private Fireworks game;
|
||||
private float startBeat;
|
||||
private Animator anim;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
game = Fireworks.instance;
|
||||
anim = GetComponent<Animator>();
|
||||
}
|
||||
|
||||
public void Init(float beat)
|
||||
{
|
||||
game.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, Just, Out, Out);
|
||||
startBeat = beat;
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
if (exploded) return;
|
||||
float flyPos = cond.GetPositionFromBeat(startBeat, 1f);
|
||||
transform.position = curve.GetPoint(flyPos);
|
||||
if (flyPos > 2) Destroy(gameObject);
|
||||
}
|
||||
|
||||
void Just(PlayerActionEvent caller, float state)
|
||||
{
|
||||
anim.DoScaledAnimationAsync("ExplodeBomb", 0.25f);
|
||||
exploded = true;
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 3f, delegate { Destroy(gameObject); })
|
||||
});
|
||||
if (state >= 1f || state <= -1f)
|
||||
{
|
||||
Jukebox.PlayOneShotGame("fireworks/miss");
|
||||
|
||||
return;
|
||||
}
|
||||
Success();
|
||||
}
|
||||
|
||||
void Success()
|
||||
{
|
||||
Jukebox.PlayOneShotGame("fireworks/explodeBomb");
|
||||
game.FadeFlashColor(Color.white, new Color(1, 1, 1, 0), 0.5f);
|
||||
}
|
||||
|
||||
void Out(PlayerActionEvent caller) { }
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user