using System.Collections; using System.Collections.Generic; using UnityEngine; using RhythmHeavenMania.Util; namespace RhythmHeavenMania.Games.Scripts_WizardsWaltz { public class Wizard : MonoBehaviour { public Animator animator; public GameObject shadow; private float newBeat = 0; private int beats = 0; private WizardsWaltz game; private float songPos; private void Awake() { game = WizardsWaltz.instance; } void Update() { songPos = Conductor.instance.songPositionInBeats - game.wizardBeatOffset; var am = game.beatInterval / 2f; var x = Mathf.Sin(Mathf.PI * songPos / am) * 6; var y = Mathf.Cos(Mathf.PI * songPos / am); var scale = 1 - Mathf.Cos(Mathf.PI * songPos / am) * 0.35f; transform.position = new Vector3(x, 3f - y * 0.5f, 0); shadow.transform.position = new Vector3(x, -3f + y * 1.5f, 0); var xscale = scale; if (y > 0) xscale *= -1; transform.localScale = new Vector3(xscale, scale, 1); shadow.transform.localScale = new Vector3(scale, scale, 1); } private void LateUpdate() { if (PlayerInput.Pressed(true)) { animator.Play("Magic", 0, 0); Jukebox.PlayOneShotGame("wizardsWaltz/wand"); } } public void Idle() { animator.Play("Idle", 0, 0); } public void Magic(Plant plant, bool hit) { animator.Play("Magic", 0, 0); if(plant == null) { // TODO: Play empty A press sound return; } if (hit) { Jukebox.PlayOneShotGame("wizardsWaltz/grow"); plant.Bloom(); game.girl.Happy(); } else { Jukebox.PlayOneShot("miss"); plant.Eat(); game.girl.Sad(); } } } }