Beispiel #1
0
    /*===================================================*/
    // あたり判定の処理

    void OnTriggerEnter(Collider col)
    {
        // 弾にあたったら
        if (col.gameObject.tag == "Shot")
        {
            gm.RemoveEnemy(this);

            foreach (Enemy e in GameMgr.enemyList)
            {
                if ((this.transform.position - e.transform.position).sqrMagnitude < normalEyeSightLength)
                {
                    //e.SetDangerFlag(true);
                    //targetStagePos = player.transform.position;
                    e.SetRelayStagePos(Vector3.zero);
                    e.SetTargetStagePos(player.transform.position);
                    e.SetStates(StateType.Caution);
                }
            }

            dangerEnemyUI.SetActive(false);
            cautionEnemyUI.SetActive(false);
            if (keyEnemyUIFlag == true)
            {
                keyEnemyUI.SetActive(false);
                foreach (Wall w in GameMgr.wallList)
                {
                    if (w.gateFlag)
                    {
                        w.obj.SetActive(false);
                    }
                }
                dp.SetPurposeText("人質の場所に向かおう");
                Debug.Log("Gate Open");
            }
            if (Random.Range(0, 2) == 1)
            {
                pi.DestroyItem();
            }
            else
            {
                pi.gameObject.SetActive(false);
            }
            Vanish();
        }
    }