Пример #1
0
    public static bool ReadTowerData(XElement towerData, TowerAssetData assetData, Declarations.TowerType towerType, out Declarations.TowerData tower)
    {
        switch (towerType)
        {
        case Declarations.TowerType.Canon:
            return(ReadCanonData(towerData, assetData, out tower));

        case Declarations.TowerType.Plasma:
            return(ReadPlasmaData(towerData, assetData, out tower));

        case Declarations.TowerType.Crystal:
            return(ReadCrystalData(towerData, assetData, out tower));

        case Declarations.TowerType.Tesla:
            return(ReadTeslaData(towerData, assetData, out tower));

        case Declarations.TowerType.Laser:
            return(ReadLaserData(towerData, assetData, out tower));

        case Declarations.TowerType.Radar:
            return(ReadRadarData(towerData, assetData, out tower));

        default:
            Debug.Log("Unknown tower type");
            break;
        }
        tower = null;
        return(false);
    }
Пример #2
0
    internal Tower[] GetBuiltTowersOfType(Declarations.TowerType towerType)
    {
        List <Tower> towers = new List <Tower>();

        foreach (var tower in CurrentTowers)
        {
            if (tower.Type == towerType)
            {
                towers.Add(tower);
            }
        }
        return(towers.ToArray());
    }
Пример #3
0
    public static bool GetTowerTypeFromString(string type, out Declarations.TowerType towerType)
    {
        if (string.IsNullOrEmpty(type))
        {
            towerType = Declarations.TowerType.Canon;
            return(false);
        }
        switch (type)
        {
        case "Canon":
            towerType = Declarations.TowerType.Canon;
            break;

        case "Plasma":
            towerType = Declarations.TowerType.Plasma;
            break;

        case "Crystal":
            towerType = Declarations.TowerType.Crystal;
            break;

        case "Tesla":
            towerType = Declarations.TowerType.Tesla;
            break;

        case "Laser":
            towerType = Declarations.TowerType.Laser;
            break;

        case "Radar":
            towerType = Declarations.TowerType.Radar;
            break;

        default:
            towerType = Declarations.TowerType.Canon;
            return(false);
        }
        return(true);
    }
Пример #4
0
 public int GetBuiltTowersCount(Declarations.TowerType towerType)
 {
     return(GetBuiltTowersOfType(towerType).Length);
 }