private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == this.gameObject.tag) { switch (this.gameObject.tag) { case "BigSlime": Destroy(this.gameObject); Debug.Log("BiggestSlimes Disappear!"); break; case "MiddleSlime": //おっきくなって上位存在のプレハブ生産 Vector3 tmp = this.gameObject.transform.position; //生まれる位置(=変更前の位置)取得 GameObject OYA = transform.parent.gameObject; //親クラス取得 Destroy(this.gameObject); script.CreatePrefabAsChild(OYA, (GameObject)Resources.Load("Prefab/BigSlime"), tmp, "BigSlime"); break; case "SmallSlime": //おっきくなって上位存在のプレハブ生産 Vector3 tmp2 = this.gameObject.transform.position; //生まれる位置(=変更前の位置)取得 GameObject OYA2 = transform.parent.gameObject; //親クラス取得 Destroy(this.gameObject); GameObject G = (GameObject)Resources.Load("Prefab/MiddleSlime"); script.CreatePrefabAsChild(OYA2, G, // (GameObject)Resources.Load("Prefab/MiddleSlime") tmp2, "MiddleSlime"); break; default: break; } } }
[SerializeField] public Vector3 SpawnSlimePos; //スライムごとの位置 // Start is called before the first frame update void Start() { GameObject SmallSlime = (GameObject)Resources.Load("Prefab/SmallSlime"); //フィールドの中心軸(の位置)を取得 Center = GameObject.Find("FieldCenter"); //ステージマネージャーの取得 StageManager = GameObject.Find("StageManager"); //マネージャーが持っているmanagerスクリプト script = StageManager.GetComponent <manager>(); //=================== // 小スライムの生成 //=================== for (int i = 0; i < AppearSlimeCount; i++) { script.CreatePrefabAsChild ( this.gameObject, SmallSlime, SpawnSlimePos, SmallSlime.tag ); } targetObj = GameObject.Find("FieldCenter"); targetPos = targetObj.transform.position; Manager = GameObject.Find("StageManager"); BottunScriptL = GameObject.Find("ButtonL").GetComponent <Bottun>(); BottunScriptR = GameObject.Find("ButtonR").GetComponent <Bottun>(); }
[SerializeField, PersistentAmongPlayMode] public Vector3 SpawnSlimePos; //スライムごとの位置 // Start is called before the first frame update void Start() { GameObject SmallSlime = (GameObject)Resources.Load("Prefab/SmallSlime"); //フィールドの中心軸(の位置)を取得 Center = GameObject.Find("FieldCenter"); //ステージマネージャーの取得 StageManager = GameObject.Find("StageManager"); //マネージャーが持っているmanagerスクリプト script = StageManager.GetComponent <manager>(); //=================== // 小スライムの生成 //=================== for (int i = 0; i < AppearSlimeCount; i++) { script.CreatePrefabAsChild ( this.gameObject, SmallSlime, SpawnSlimePos, SmallSlime.tag ); } }
[SerializeField, PersistentAmongPlayMode] public string TakenTag; //スライムごとのタグ //} //[SerializeField, PersistentAmongPlayMode] SlimeAttriBute[] slime; // Start is called before the first frame update void Start() { Center = GameObject.Find("FieldCenter"); targetPos = Center.transform.position; Manager = GameObject.Find("Manager"); script = Manager.GetComponent <manager>(); for (int i = 0; i < AppearSlimeCount; i++) { script.CreatePrefabAsChild(this.gameObject, (GameObject)Resources.Load("Prefab/SmallSlime"), SpawnSlimePos, TakenTag); } }