internal void ConstructBuilding(Building building) { foreach (Planet p in selectedSystem.PlanetsList) { foreach (Planet ownedPlanet in HumanPlayer.OwnedPlanets) { if (ownedPlanet.PlanetName == p.PlanetName) { if (building.BuildingCatagory == BuildingCatagories.Resources) { ResourceExtractor extractor = building as ResourceExtractor; extractor.Resource.HasResourceBuilding = true; UpdateResourcesDetails(); updateResources.Invoke(this, new EventArgs()); } } } } }
internal void AddBuildQueueItem(Building buildingToBuild) { foreach (Planet p in selectedSystem.PlanetsList) { foreach (Planet ownedPlanet in HumanPlayer.OwnedPlanets) { if (ownedPlanet.PlanetName == p.PlanetName) { if (HumanPlayer.resources.money >= buildingToBuild.BuildCost) { //TAKE MONEY FROM PLAYER HumanPlayer.resources.money -= buildingToBuild.BuildCost; //SET QUEUEITEMTYPE QueueItemType itemType = QueueItemType.Building; //CHECK IF RESOURCEBUILDING if (buildingToBuild.BuildingCatagory == BuildingCatagories.Resources) { ResourceExtractor extractor = buildingToBuild as ResourceExtractor; if (extractor != null) { extractor.Resource.IsResourceBuildingInQueue = true; itemType = QueueItemType.BuildingResources; } } selectedSystem.PlanetsList[p.PlanetsListIndex].buildQueue.AddQueueItem(buildingToBuild, itemType); UpdateResourcesDetails(); } } } } }
private void BuildingToBuildNameChanged(int i) //1 for extractor, 2 for other buildings { if (i == 0) { if (SelectedBuildingToBuild >= 0) { if (AvailableBuildings != null) { if (AvailableBuildings.Count > 0) { BuildingToBuildName = AvailableBuildings[SelectedBuildingToBuild].Content.ToString(); } } } } if (i == 1) { if (depositList != null) { if (depositList.Count > 0) { if (SelectedExtractor >= 0 && SelectedUnusedResource >= 0) { BuildingBuildText = "Build: "; var tempExtractor = new ResourceExtractor(1, 1, depositList[SelectedUnusedResource], currentList.Count); switch (depositList[SelectedUnusedResource].ExtractorName) { case "MiningFacility": tempExtractor = new MiningFacility(1, 1, depositList[SelectedUnusedResource], currentList.Count); break; case "AdvancedMiningFacility": tempExtractor = new AdvancedMiningFacility(1, 1, depositList[SelectedUnusedResource], currentList.Count); break; case "Farm": tempExtractor = new Farm(1, 1, depositList[SelectedUnusedResource], currentList.Count); break; case "Pump": tempExtractor = new Pump(1, 1, depositList[SelectedUnusedResource], currentList.Count); break; case "Sawmill": tempExtractor = new Sawmill(1, 1, depositList[SelectedUnusedResource], currentList.Count); break; } tempExtractor.SizeChanged(SelectedExtractor + 1); tempExtractor.LevelChanged(Int32.Parse(BuildingToBuildLevel)); BuildingToBuildName = tempExtractor.Name; BuildingBuildText += tempExtractor.GetBuildCost().ToString(); YieldText = "Yield: " + tempExtractor.actualYield.ToString() + " (" + (tempExtractor.percentYield * 100).ToString("0.0") + "%)"; depositList[SelectedUnusedResource].HasResourceBuilding = false; tempBuilding = tempExtractor; } } else { BuildingToBuildName = "N/a"; BuildingBuildText = "Build: "; } } } }
public PlanetBuildingsModel(EventHandler buildEvent, EventHandler removeEvent) { //EVENTS constructEvent = buildEvent; removeQueueItemEvent = removeEvent; //INTS CurrentMoney = 0; SelectedBuilding = 0; QueueItemMaxBuildTime = 10; CurrentQueueItemElapsedTime = 0; //OBSERV COLLECT BuildingNames = new ObservableCollection<ListBoxItem>(); //BuildingNames.Add(new ListBoxItem { Content = "DICKBUTT" }); BuildingIcons = new ObservableCollection<ListBoxItem>(); //IMAGES Image img = new Image(); img.Source = LocalisationHelper.GetLocalizedImage("Building1"); img.Width = 50; img.Height = 50; BuildingIcons.Add(new ListBoxItem { Content = img }); BuildingIcons.Add(new ListBoxItem { Content = "content" }); //BOOL CanUpgrade = false; HasBuildQueue = false; BuildQueueCurrentImage = new BitmapImage(); AvailableResourceExtractors = new ObservableCollection<ComboBoxItem>(); AvailableResourceExtractors.Add(new ComboBoxItem { Content = "Small Extractor" }); AvailableResourceExtractors.Add(new ComboBoxItem { Content = "Medium Extractor" }); AvailableResourceExtractors.Add(new ComboBoxItem { Content = "Large Extractor" }); AvailableResourceExtractors.Add(new ComboBoxItem { Content = "Huge Extractor" }); AvailableResourceExtractors.Add(new ComboBoxItem { Content = "Massive Extractor" }); AvailableBuildings = new ObservableCollection<ComboBoxItem>(); tempBuilding = new Building(1, 1, 0); ResourcesBuildingIcons = new ObservableCollection<ListBoxItem>(); ResourcesBuildingNames = new ObservableCollection<ListBoxItem>(); ProductionBuildingIcons = new ObservableCollection<ListBoxItem>(); ProductionBuildingNames = new ObservableCollection<ListBoxItem>(); ResearchBuildingIcons = new ObservableCollection<ListBoxItem>(); ResearchBuildingNames = new ObservableCollection<ListBoxItem>(); MilitaryBuildingIcons = new ObservableCollection<ListBoxItem>(); MilitaryBuildingNames = new ObservableCollection<ListBoxItem>(); UnusedResourceIcons = new ObservableCollection<ListBoxItem>(); UnusedResourceNames = new ObservableCollection<ListBoxItem>(); BuildQueue = new ObservableCollection<ListBoxItem>(); currentList = new List<Building>(); depositList = new List<ResourceDeposit>(); //CurrentBuilding = BuildingNames[SelectedBuilding].Content.ToString(); UpgradeText = "UPGRADE: "; BuildingBuildText = "BUILD: "; BuildingToBuildName = "Dickbutt"; BuildingToBuildLevel = "1"; BuildingBuildCommand = new RelayCommand(new Action<object>(BuildPressed)); }
public void ConstructBuilding(Building building) { if(game != null) { game.ConstructBuilding(building); } }
internal void ConstructBuilding(Building building) { BuildingToBuild = building; constructBuildingEvent.Invoke(this, new EventArgs()); //ADD ITEM TO BUILD QUEUE }