private void spawnUnit(SpawnUnit unit) { //Debug.Log("WaveController:spawnUnits count="+unit.count); for (int i = 0; i < unit.count; i++) { leftSpawnUnits--; //Debug.Log("WaveController:spawnUnit id="+unit.unitId+" prefabName="+unit.unitInfo.prefabName); Transform pos = _enemyControl.getRandomSpawnPosition(); GameObject instant = GameContext.inst.getPrefabByName(unit.unitInfo.prefabName); Vector3 spawpPos = new Vector3(pos.position.x + UnityEngine.Random.Range(-0.1f, 0.1f), pos.position.y + UnityEngine.Random.Range(-0.1f, 0.1f), pos.position.z); GameObject newUnit = (GameObject)Instantiate(instant, spawpPos, Quaternion.identity); UnitController unitControl = newUnit.GetComponent <UnitController>(); unitControl.init(unit.unitId, Teams.BAD, moveFinalTarget); } }