예제 #1
0
    /// <summary>
    /// 相手にダメージを与える
    /// </summary>
    public void AddDamage(GameObject target)
    {
        // 渡された引数がnullであれば処理しない
        if (target == null)
        {
            return;
        }

        // 相手がいなければ処理しない
        BaseVegetable targetVegetable = target.GetComponent <BaseVegetable>();

        if (targetVegetable == null)
        {
            return;
        }

        // 相手のHPを取得
        int targetHP = targetVegetable.HP;

        // 相手のHPを減らす
        targetHP -= POW;

        // 反映する
        target.GetComponent <BaseVegetable>().HP = targetHP;
    }
예제 #2
0
    void OnTriggerEnter(Collider col)
    {
        BaseVegetable target = col.transform.GetComponent <BaseVegetable>();

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

            IsStop   = true;
            isAttack = true;
        }
    }
예제 #3
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;
                }
            }
        }
    }