void MyUnit.IGameRule.OnDeath(MyUnit myUnit) { gameMode.OnDeathMyUnit(myUnit); }
protected virtual void OnDeathMyUnit(MyUnit myUnit) { gameMode.StartCoroutine(gameMode.GameOverAndRespawnCoroutine(myUnit)); }
void MyUnit.IGameRule.OnDeath(MyUnit myUnit) { gameMode.OnDeathEnemyUnit(myUnit, creatableEnemyIndex); }
protected void OnDeathEnemyUnit(MyUnit myUnit, int creatableEnemyIndex) { creatableEnemies[creatableEnemyIndex].currentCount--; StartCoroutine(DestroyUnitAfterSeconds(myUnit, 1)); return; }
IEnumerator DestroyUnitAfterSeconds(MyUnit myUnit, float seconds) { yield return(new WaitForSeconds(seconds)); Destroy(myUnit.gameObject); }
protected override void OnDeathMyUnit(MyUnit myUnit) { StartCoroutine(DestroyUnitAfterSeconds(myUnit, 3)); return; }