public IEnumerator ConfigureMonster(MonsterGenerator.MonsterSpawnInfo monsterInfo) { yield return(new WaitForEndOfFrame()); ModifierManager = gameObject.AddComponent <ModifierManager>(); ModifierManager.modifiers = monsterInfo.modifierTypes; MonsterName = monsterInfo.monsterName; NoteCountLeft = (int)monsterInfo.noteCount; ModifierManager.noteCountDuration = NoteCountLeft; maxHealth = (int)monsterInfo.monsterHp; CurrentHealth = (int)monsterInfo.monsterHp; MonsterDifficulty = (int)monsterInfo.monsterDifficulty; SpawnTime = monsterInfo.spawnTime; UnSpawnTime = monsterInfo.unspawnTime; name = "[FS|" + MonsterName + "lv." + MonsterDifficulty + "]"; new UnityTask(ModifierManager.ConfigureModifiers()); ScoreControllerManager = gameObject.AddComponent <ScoreControllerManager>(); ScoreControllerManager.ScoreControllerInitialized += self => enabled = true; ScoreControllerManager.BombCut += self => { ModifierManager.ReduceColorSuckerColorness(); }; ScoreControllerManager.NoteCut += self => { ModifierManager.ImproveColorSuckerColorness(); }; ScoreControllerManager.NoteFullyCut += (self, score) => { Hurt(score); NotePassed(); }; ScoreControllerManager.NoteMissed += self => { ModifierManager.ReduceColorSuckerColorness(); NotePassed(); }; }
private void Awake() { instance = this; }