/// <summary> /// Create Tower Class /// </summary> /// <param name="towerName"></param> /// <returns></returns> private TowerClass CreateTower(string towerName) { GameObject towerObject = GameManager.Instance.GetObjectPool().SpawnTowerFromPool(towerName, transform); TowerData towerData = GameManager.Instance.GetObjectPool().TowerDataDictionary[towerName]; TowerClass tower = null; switch (towerData.TOWERTYPE) { case TowerType.Attack: tower = towerObject.AddComponent <AttackTowerClass>(); break; case TowerType.Buff: tower = AddBuffTowerClass(towerObject, towerData); break; default: tower = null; Debug.LogError("Tower is null"); break; } mSoundManager.PlayTowerBuildSfx(); mMap.AddTower(tower); return(tower); }