void Reset(Hero h) { GameObject reset = null; switch (eyeDee) // THIS IS NOT DRY, YOU MUST MAKE CHANGES BELOW AS WELL AS HERE { case (EnemyID.ROCK): reset = Instantiate(GameManager.instance.rockEnemyFab); break; case (EnemyID.TREE): reset = Instantiate(GameManager.instance.treeEnemyFab); break; case (EnemyID.SAVE): reset = Instantiate(GameManager.instance.saveEnemyFab); break; case (EnemyID.PLANT): reset = Instantiate(GameManager.instance.plantEnemyFab); break; } if (reset.GetComponent <AggroMimic>() != null) { AggroMimic mimic = reset.GetComponent <AggroMimic> (); mimic.getUpDelay = startDelay; mimic.aggGroup = startGroup; if (startGroup != null) { startGroup.mimicGroup.Add(mimic); startGroup.RegisterTrackingMimic(mimic); } } if (reset != null) { reset.transform.position = startPosition; notKilled = true; Destroy(this.gameObject); } }
public void Respawn() { GameObject reset = null; switch (iidd) { case (EnemyID.ROCK): reset = Instantiate(GameManager.instance.rockEnemyFab); break; case (EnemyID.TREE): reset = Instantiate(GameManager.instance.treeEnemyFab); break; case (EnemyID.SAVE): reset = Instantiate(GameManager.instance.saveEnemyFab); break; case (EnemyID.PLANT): reset = Instantiate(GameManager.instance.plantEnemyFab); break; } if (reset.GetComponent <AggroMimic>() != null) { AggroMimic mimic = reset.GetComponent <AggroMimic> (); mimic.getUpDelay = delay; mimic.aggGroup = groupWith; if (groupWith != null) { groupWith.mimicGroup.Add(mimic); groupWith.RegisterTrackingMimic(mimic); } } if (reset != null) { reset.transform.position = spawnHere; } }
void UntrackMimic(AggroMimic mimic) { aggrodMimics.Remove(mimic); }
void TrackMimic(AggroMimic mimic) { aggrodMimics.Add(mimic); }
// Use this for initialization public void RegisterTrackingMimic(AggroMimic m) { m.OnGotUp += TrackMimic; m.OnSatDown += UntrackMimic; }
void SatDown(AggroMimic self) { animations.SetTrigger("Idle"); }
void GotUp(AggroMimic self) { animations.SetTrigger("Seeking"); }