// Update is called once per frame public void DoLogic() { //spotTransform.Rotate(0f, 145f * Time.deltaTime, 0f); if (bss == BombSpotState.Installing && Time.time - lastInstallTime > installTimeTakes) { bss = BombSpotState.Installed; //bombSpotObj.renderer.enabled = false; bombSpotObj.transform.Find("glow").GetComponent <Renderer>().enabled = true; BombQuest bq = gameScene.GetQuest() as BombQuest; bq.CheckAllBombComplete(); } if (bss == BombSpotState.Installing) { Hashtable enemies = gameScene.GetEnemies(); foreach (Enemy enemy in enemies.Values) { if (enemy.GetState() != Enemy.DEAD_STATE) { if ((enemy.GetPosition() - spotTransform.position).sqrMagnitude < spotRadius * spotRadius) { bss = BombSpotState.UnInstalled; //Debug.Log("UnInstalled.."); break; } } } } }
public virtual void PlayDeadEffects() { if (enemyObject) { if (enemyObject.active) { PlayBloodEffect(); PlayBodyExlodeEffect(); GameObject enemyDeadHeadPrefab = rConfig.deadhead[(int)EnemyType]; GameObject deadhead = (GameObject)GameObject.Instantiate(enemyDeadHeadPrefab, enemyTransform.position + new Vector3(0, 2, 0), enemyTransform.rotation); deadhead.GetComponent <Rigidbody>().AddForce(Random.Range(-5, 5), Random.Range(-5, 0), Random.Range(-5, 5), ForceMode.Impulse); gameScene.GetEnemies().Remove(enemyObject.name); enemyObject.SetActiveRecursively(false); } //GameObject.Destroy(enemyObject); } }