//兵士生産
    IEnumerator MakeSoldierFunc()
    {
        if (running)//コルーチンが終わってないならブレイク
        {
            yield break;
        }
        running = true;


        GameObject sol = (GameObject)Instantiate(SoldierPrefabs,
                                                 SoldierDefaltPos[SoldierNowCount].transform.position,
                                                 SoldierDefaltPos[SoldierNowCount].transform.rotation);

        //メソッドに代入
        soldata = sol.GetComponent <SoldierSystem>();

        soldata.StartPoint = SoldierDefaltPos[SoldierNowCount];

        sol.transform.parent = gameObject.transform;//タワーの子にする
        SoldierNowCount++;

        yield return(new WaitForSeconds(SoldierRespwanInterval));//リスポーン時間

        running = false;
    }
Beispiel #2
0
    void OnTriggerEnter(Collider coll)       //攻撃を受けた時の判定
    {
        if (coll.gameObject.tag == "Bullet") //弾に当たった時
        {
            bullet = coll.gameObject.GetComponent <Bullet>();
            //Debug.Log(bullet.ATK);
            Now_HP -= bullet.ATK;
        }
        else if (coll.gameObject.tag == "BulletMissile")
        {
            bullet2 = coll.gameObject.GetComponent <Bullet_Missile>();
            Now_HP -= bullet2.ATK;
        }

        if (coll.gameObject.tag == "Bomb")
        {
            bomsys = coll.gameObject.GetComponent <BombSystem>();

            Now_HP -= bomsys.BombATK;
        }

        if (coll.gameObject.tag == "Soldier")
        {
            sol = coll.gameObject.GetComponent <SoldierSystem>();

            sol.startcolcol();
        }

        if (coll.gameObject.tag == "Goal")//拠点到達時
        {
            stage.Endurance--;
            Now_HP -= 1000;
            lose    = true;
            //Destroy(gameObject);
        }
    }