public void init(int playerNum, Vector3 centerPos) { _playerNum = playerNum; // Determine which side to generate from _centerPos = centerPos; if (heroParent != null) { Destroy(heroParent); } heroParent = new GameObject(); heroParent.name = "Hero Parent"; if (_heroParent != null) { Destroy(_heroParent); } _heroParent = heroParent.transform; _heroParent.position = centerPos; // Player 2 should be inverted if (playerNum == 1) { _heroParent.localScale = new Vector3(-1, 1, 1); } _heroPrefab = new GameObject[(int)HERO_TYPE.SIZE]; _heroPrefab[(int)HERO_TYPE.TYPE_1] = Resources.Load("Prefabs/Hero1") as GameObject; _heroPrefab[(int)HERO_TYPE.TYPE_2] = Resources.Load("Prefabs/Hero2") as GameObject; _heroPrefab[(int)HERO_TYPE.TYPE_3] = Resources.Load("Prefabs/Hero3") as GameObject; _heroPrefab[(int)HERO_TYPE.TYPE_4] = Resources.Load("Prefabs/Hero4") as GameObject; _heroPrefab[(int)HERO_TYPE.TYPE_5] = Resources.Load("Prefabs/Hero5") as GameObject; SetHeroPowerLevels(); _heroList = new List<Hero>(HERO_LIMIT); _currentHero = GenerateHero(); for (int i = 0; i < HERO_LIMIT; i++) { AddHero(); } _currentHero.SetToCenter(); }