private void ShowTowerBaseInfo(string name, string key, Vector2 pos) { if (TowerBaseWindow != null) { TowerBaseWindow.Close(); TowerBaseWindow = null; } TowerBaseWindow = new TowerBaseInfoWindow(manager) { Left = (int)pos.X, Top = (int)pos.Y, TowerName = name }; int damage; TowerBaseWindow.Damage = int.TryParse(TowerManager.GetTowerProperty(key, "Damage"), out damage) ? damage : 0; int speed; TowerBaseWindow.Interval = int.TryParse(TowerManager.GetTowerProperty(key, "Interval"), out speed) ? speed : 0; int range; TowerBaseWindow.Range = int.TryParse(TowerManager.GetTowerProperty(key, "Range"), out range) ? range : 0; int price; TowerBaseWindow.Price = int.TryParse(TowerManager.GetTowerProperty(key, "Price"), out price) ? price : 0; TowerBaseWindow.Description = TowerManager.GetTowerProperty(key, "Description"); bool showDamage = bool.Parse(TowerManager.GetTowerProperty("Labels", key, "ShowDamage")); bool showRange = bool.Parse(TowerManager.GetTowerProperty("Labels", key, "ShowRange")); bool showInterval = bool.Parse(TowerManager.GetTowerProperty("Labels", key, "ShowInterval")); DebugLog("ShowTowerBaseInfo: " + key); TowerBaseWindow.Init(showDamage, showRange, showInterval); TowerBaseWindow.Show(); TowerBaseWindow.BringToFront(); }