示例#1
0
    void OnTriggerEnter(Collider col)
    {
        BaseBossEnemy boss = col.transform.GetComponent <BaseBossEnemy>();

        if (boss != null)
        {
            return;
        }

        BaseEnemy target = col.transform.GetComponent <BaseEnemy>();

        if (target != null && agent.isStopped == false)
        {
            NearTarget = target.gameObject;

            IsStop   = true;
            isAttack = true;
        }

        if (NearTarget == null)
        {
            return;
        }

        Hole colHole    = col.GetComponent <Hole>();
        Hole targetHole = NearTarget.GetComponent <Hole>();

        if (colHole != null && targetHole != null && colHole == targetHole)
        {
            NearTarget = null;
        }
    }
示例#2
0
    void OnTriggerEnter(Collider col)
    {
        if (type == PumpType._attack)
        {
            if (target == null && hole == null)
            {
                // 当たったオブジェクトがボス野菜であれば、以下の処理はしない
                BaseBossEnemy bossEnemy = col.GetComponent <BaseBossEnemy>();
                if (bossEnemy != null)
                {
                    return;
                }

                //ターゲットにダメージを与える
                target = col.GetComponent <BaseVegetable>();

                //ターゲットにHoleスクリプトがアタッチされており、感染が終わっていたら
                hole = col.GetComponent <Hole>();
                if (hole != null && hole.Infection == true)
                {
                    hole = null;
                }

                // ターゲットがnullでなければ、移動を停止
                if (target != null || hole != null)
                {
                    IsStop = true;
                }

                // ターゲットがいる場合
                if (target != null)
                {
                    // 当たったやつを攻撃
                    isEnemyCollision = true;
                    NearTarget       = target.gameObject;
                }
                // 畑がnullでなければ
                else if (hole != null && hole.tag == "Hole")
                {
                    // 当たった畑を感染させる
                    isHoleCollision = true;
                    NearTarget      = hole.gameObject;
                }
            }
        }
    }