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); }
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()); }
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); }
public int GetBuiltTowersCount(Declarations.TowerType towerType) { return(GetBuiltTowersOfType(towerType).Length); }