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; } }
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; } } } }