//----------------------------------- // パーツを使用するスクリプトを追加 //----------------------------------- private void Add_PartsController(Parts_Base parts) { if (parts.Get_Type() == "Type_Hand") { if (parts.Get_Parts_Type() == "Gun") { gameObject.AddComponent <SoldierAction_Gun>().Init(this); } if (parts.Get_Parts_Type() == "Shield") { gameObject.AddComponent <SoldierAction_Shield>().Init(this); } } if (parts.Get_Type() == "Type_Shld") { if (parts.Get_Parts_Type() == "Wing") { gameObject.AddComponent <SoldierAction_Wing>().Init(this); } if (parts.Get_Parts_Type() == "Tail") { gameObject.AddComponent <SoldierAction_Tail>().Init(this); } } if (parts.Get_Type() == "Type_Foot") { if (parts.Get_Parts_Type() == "Shoes") { //gameObject.AddComponent<SoldierAction_Foot>().Init(this); } } }
//------------------------- // Bodyにパーツをアタッチ //------------------------- public void Attach_Body() { // パーツを生成 parts_base = Instantiate(prefab); // Bodyにアタッチ parts_base.Attach(GameObject.Find("Player_Body_" + tag).transform, this); }
void Start() { if (transform.childCount > 0) { parts = transform.GetChild(0).GetComponent <Parts_Base>(); } StartCoroutine(Action()); }
//-------------------------------- // 対象のbody_UIが空ならアタッチ //-------------------------------- private bool Attach_UI_Body(int i, Parts_Base parts) { if (body_UI[i].GetChild(0).childCount == 0) { // イメージのみアタッチ parts_attacher[i].Attach(parts.name, body_UI[i].GetChild(0)); // パーツは一旦削除 Destroy(parts.gameObject); return(true); } return(false); }
//------------------------------------ // 空のslot_UIを探してあればアタッチ //------------------------------------ private void Attach_UI_Slot(int i, Parts_Base parts) { for (int j = 0; j < slot_UI.Length; j++) { if (slot_UI[j].GetChild(0).childCount == 0) { // イメージのみアタッチ parts_attacher[i].Attach(parts.name, slot_UI[j].GetChild(0)); // パーツは一旦削除 Destroy(parts.gameObject); return; } } }