// Use this for initialization void Start() { //親のオブジェクトの位置を取得 leaderObj = transform.parent.GetChild(0).gameObject; animator = transform.GetChild(0).GetComponent <Animator>(); ai = leaderObj.GetComponent <PumpAI>(); if (ai.type == PumpType._attack) { agent = GetComponent <NavMeshAgent>(); parentAgent = leaderObj.GetComponent <NavMeshAgent>(); } }
// Update is called once per frame void Update() { //子オブジェクトが増えたら if (childCount < transform.childCount && isFirstAttach) { //菌の当たり判定を、一番最初に生成された菌に追従させる BoxCollider collider = transform.GetChild(0).gameObject.AddComponent <BoxCollider>(); collider.isTrigger = true; collider.size = new Vector3(7, 7, 7); //自分の当たり判定を削除する Destroy(GetComponent <BoxCollider>()); pumpAI = transform.GetChild(0).GetComponent <PumpAI>(); isFirstAttach = false; } StartCoroutine(Die()); }
/// <summary> /// 分裂の数に応じて、それぞれのステータスをセットする /// </summary> void StatusSet(int displayCount) { PumpAI pumpAI = attackPumpkin.GetComponent <PumpAI>(); switch (displayCount) { case 1: pumpAI.status = status[0]; break; case 2: pumpAI.status = status[1]; break; case 4: pumpAI.status = status[2]; break; case 8: pumpAI.status = status[3]; break; } }