Beispiel #1
0
    /// <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);
    }