protected override void Awake() { base.Awake(); // states stateMachine = new StateMachine(this, SpawningState); stateMachine.CreateState(SpawningState, SpawningEnter, info => { }); stateMachine.CreateState(EnteringState, info => stateMachine.SetUpdate(EnteringUpdate()), info => { }); stateMachine.CreateState(AttackingState, info => stateMachine.SetUpdate(AttackingUpdate()), info => { }); stateMachine.CreateState(ExitingState, info => stateMachine.SetUpdate(ExitingUpdate()), info => { }); stateMachine.CreateState(DyingState, DyingEnter, info => { }); // weapons laser.Initialize(this); }
protected override void Awake() { base.Awake(); // references myRigidbody = rigidbody; // states stateMachine = new StateMachine(this, SpawningState); stateMachine.CreateState(SpawningState, SpawningEnter, info => { }); stateMachine.CreateState(HomingState, info => stateMachine.SetUpdate(HomingUpdate()), info => { }); stateMachine.CreateState(DyingState, DyingEnter, info => { }); }
public void Initialize(Highscore score, int[] ranks, float loot, int[] salvage, bool nextIsUnlocked) { // cache data playerScore = score.score; rankThresholds = ranks; playerRank = score.rank; playerLoot = loot; playerSalvage = salvage; // buttons replayButton.ActivateEvent += (sender, args) => SceneManager.ReloadScene(); int nextLevel = ((FormationLevelManager)FormationLevelManager.Main).levelIndex + 1; if (nextLevel < FormationLevelManager.LevelNames.Length && (score.rank != 0 || nextIsUnlocked)) { nextButton.ActivateEvent += (sender, args) => SceneManager.LoadScene(Scenes.Scene((Scenes.Levels)((FormationLevelManager)FormationLevelManager.Main).levelIndex + 1)); } else { nextAvailable = true; } states = new StateMachine(this, InitializingState); states.CreateState(InitializingState, InitializingEnter, info => { }); states.CreateState(TimeState, info => { timeLabel.text = score.TimeString; states.SetState(LootState); }, info => { }); states.CreateState(LootState, info => states.SetUpdate(LootUpdate()), info => { }); states.CreateState(SalvageState, info => states.SetUpdate(SalvageUpdate()), info => { }); states.CreateState(IdleState, info => { }, info => { }); states.CreateState(CompleteState, CompleteEnter, info => { }); states.Start(); }