Ejemplo n.º 1
0
        // 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;
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }