//兵士生産 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; }
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); } }