void SpawnRoles() { //Spawn Enemy GameObject enemyGo = Instantiate(EnemyPrefab.gameObject, Vector3.zero, Quaternion.identity) as GameObject; MyEnemyRole = enemyGo.GetComponent <EnemyRole>(); enemyGo.transform.SetParent(transform); //Spawn Player GameObject playerGo = Instantiate(PlayerPrefab.gameObject, Vector3.zero, Quaternion.identity) as GameObject; MyPlayerRole = playerGo.GetComponent <PlayerRole>(); playerGo.transform.SetParent(transform); //Init EnemyData Dictionary <string, object> enemyDataDic = new Dictionary <string, object>(); enemyDataDic.Add("Health", 30 + Level * 4); enemyDataDic.Add("Attack", 10 + Level * 2); enemyDataDic.Add("Camera", MyCamera); int ammoNum = Mathf.RoundToInt(Level / 2) + 3; int ammoBounceTimes = 0; if (ammoNum > 6) { ammoNum = 6; ammoBounceTimes = 1; } enemyDataDic.Add("AmmoNum", ammoNum); enemyDataDic.Add("AmmoBounceTimes", ammoBounceTimes); MyEnemyRole.Init(enemyDataDic); //Init PlayerData Dictionary <string, object> playerDataDic = new Dictionary <string, object>(); playerDataDic.Add("Health", 50); playerDataDic.Add("Attack", 25); playerDataDic.Add("AmmoBounceTimes", 2); playerDataDic.Add("AmmoBounceDamage", 0); playerDataDic.Add("DecreaseEnemyAmmo", 0); playerDataDic.Add("ShieldLevel", 0); playerDataDic.Add("Camera", MyCamera); playerDataDic.Add("Target", MyEnemyRole); MyPlayerRole.Init(playerDataDic); }