public virtual void PrepareStructureForModification(Vector3 inputPosition, string structureName, StructureType structureType) { if (_structureData.GetType() == typeof(NullStructureSO) && structureType != StructureType.None) { _structureData = this._structureRepository.GetStructureData(structureName, structureType); } }
private static void PrepareManufactureStructure(Vector3Int gridPosition, GridStructure grid) { PrepareNewStructure(gridPosition, grid); StructureBaseSO structureData = grid.GetStructureDataFromTheGrid(gridPosition); AddFacilityTypeToStructure(gridPosition, grid, structureData); }
public StructureModificationHelper(StructureRepository structureRepository, GridStructure grid, IPlacementManager placementManager, IResourceManager resourceManager) { this._structureRepository = structureRepository; this._grid = grid; this._placementManager = placementManager; this._resourceManager = resourceManager; _structureData = ScriptableObject.CreateInstance <NullStructureSO>(); }
public void PlaceStructureOnTheGrid(GameObject structure, Vector3 gridPosition, StructureBaseSO structureData) { var cellIndex = CalculateGridIndex(gridPosition); if (CheckIndexValidity(cellIndex)) { grid[cellIndex.y, cellIndex.x].SetConstruction(structure, structureData); } }
private void AddHealthcareToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Healthcare && nearByStructure.requireHealthcare) { if (nearByStructure.AddHealthcareFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddPowerFacilityToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Power && nearByStructure.requirePower) { if (nearByStructure.AddPowerFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddGarbageServiceToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Garbage && nearByStructure.requireGarbageService) { if (nearByStructure.AddGarbageFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddFireProtectionToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.FireProtection && nearByStructure.requireFireProtection) { if (nearByStructure.AddFireProtectionFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddEducationServiceToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Education && nearByStructure.requireEducationSerivce) { if (nearByStructure.AddEducationFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddLawEnforcementToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.LawEnforcement && nearByStructure.requireLawEnforcement) { if (nearByStructure.AddLawEnforcementFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddSiloToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Silo && nearByStructure.requireSilo) { if (nearByStructure.AddSiloFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddPostalServiceToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Postal && nearByStructure.requirePostalService) { if (nearByStructure.AddPostalFacility(this)) { _customers.Add(nearByStructure); } } }
private void AddBankingServiceToClient(StructureBaseSO nearByStructure) { if (facilityType == FacilityType.Banking && nearByStructure.requireBankService) { if (nearByStructure.AddBankingFacility(this)) { _customers.Add(nearByStructure); } } }
private void CheckStructureToDisplayUpgradeAmountText(StructureBaseSO structure) { if (structure.upgradable == true) { SetText(upgradeAmountText, structure.GetUpgradePlacementCost() + ""); } else { HideElement(upgradeAmountText.gameObject); } }
private void CheckStructureToDisplayMaterialBuildTimeText(StructureBaseSO structure) { if (structure.GetType() == typeof(ManufacturerBaseSO)) { SetText(materialBuildTimeText, ((ManufacturerBaseSO)structure).GetMaterialBuildTimer() + "'s"); } else { HideElement(materialBuildTimeText.gameObject); } }
private void CheckStructureToDisplayGarbageServiceToggle(StructureBaseSO structure) { if (structure.requireGarbageService) { SetToggle(garbageServiceToggle, structure.HasGarbageService()); } else { HideElement(garbageServiceToggle.gameObject); } }
private void CheckStructureToDisplayEducationServiceToggle(StructureBaseSO structure) { if (structure.requireEducationSerivce) { SetToggle(educationServiceToggle, structure.HasEducationService()); } else { HideElement(educationServiceToggle.gameObject); } }
private void CheckStructureToDisplayHealthcareToggle(StructureBaseSO structure) { if (structure.requireHealthcare) { SetToggle(heatlhcareToggle, structure.HasHealthcare()); } else { HideElement(heatlhcareToggle.gameObject); } }
private void CheckStructureToDisplayLawEnforcementToggle(StructureBaseSO structure) { if (structure.requireLawEnforcement) { SetToggle(lawEnforcementToggle, structure.HasLawEnforcement()); } else { HideElement(lawEnforcementToggle.gameObject); } }
private void CheckStructureToDisplayWaterToggle(StructureBaseSO structure) { if (structure.requireWater) { SetToggle(waterToggle, structure.HasWater()); } else { HideElement(waterToggle.gameObject); } }
private void CheckStructureToDisplaySiloToggle(StructureBaseSO structure) { if (structure.requireSilo) { SetToggle(siloToggle, structure.HasSilo()); } else { HideElement(siloToggle.gameObject); } }
private void CheckStructureToDisplayRoadToggle(StructureBaseSO structure) { if (structure.requireRoadAccess) { SetToggle(roadToggle, structure.HasRoadAccess()); } else { HideElement(roadToggle.gameObject); } }
public static void CheckStructureTypeForUpgradePreparation(Type structureType, StructureBaseSO structureData, Vector3Int gridPosition, GridStructure grid) { if (structureType == typeof(ZoneStructureSO)) { PrepareZoneStructureForUpgrade(gridPosition, grid, structureData); } else if (structureType == typeof(SingleFacilitySO)) { PrepareFacilityStructureForUpgrade(gridPosition, grid, structureData); } }
private void CheckStructureToDisplayBankingServiceToggle(StructureBaseSO structure) { if (structure.requireBankService) { SetToggle(bankingServiceToggle, structure.HasBankingService()); } else { HideElement(bankingServiceToggle.gameObject); } }
private void CheckStructureToDisplayFireProtectionToggle(StructureBaseSO structure) { if (structure.requireFireProtection) { SetToggle(fireProtectionToggle, structure.HasFireProtection()); } else { HideElement(fireProtectionToggle.gameObject); } }
//display all the data public void DisplayBasicStructureInfo(StructureBaseSO data) { Show(); HideElement(clientsTxt.gameObject); HideElement(powerToggle.gameObject); HideElement(waterToggle.gameObject); HideElement(roadToggle.gameObject); SetText(nameTxt, data.buildingName); SetText(incomeTxt, data.GetIncome() + ""); SetText(upkeepTxt, data.upkeepCost + ""); }
private void CheckStructureToDisplayPostalServiceToggle(StructureBaseSO structure) { if (structure.requirePostalService) { SetToggle(postalServiceToggle, structure.HasPostalService()); } else { HideElement(postalServiceToggle.gameObject); } }
private void CheckStructureToDisplayUpgradeToggle(StructureBaseSO structure) { SetToggle(upgradeToggle, structure.HasFullyUpgraded()); if (structure.HasFullyUpgraded() == true) { HideElement(upgradeAmountText.gameObject); } else { HideElement(upgradeToggle.gameObject); } }
private static bool DoesStructureRequireAnyResources(StructureBaseSO structureData) { return((structureData.requirePower && structureData.HasPower() == false) || (structureData.requireWater && structureData.HasWater() == false) || (structureData.requireSilo && structureData.HasSilo() == false) || (structureData.requireHealthcare && structureData.HasHealthcare() == false) || (structureData.requireLawEnforcement && structureData.HasLawEnforcement() == false) || (structureData.requireFireProtection && structureData.HasFireProtection() == false) || (structureData.requirePostalService && structureData.HasPostalService() == false) || (structureData.requireBankService && structureData.HasBankingService() == false) || (structureData.requireGarbageService && structureData.HasGarbageService() == false)); }
public void RemoveClient(StructureBaseSO client) { if (_customers.Contains(client)) { switch (facilityType) { case FacilityType.Water: client.RemoveWaterFacility(); break; case FacilityType.Power: client.RemovePowerFacility(); break; case FacilityType.Silo: client.RemoveSiloFacility(); break; case FacilityType.Healthcare: client.RemoveHealthcareFacility(); break; case FacilityType.LawEnforcement: client.RemoveLawEnforcementFacility(); break; case FacilityType.FireProtection: client.RemoveFireProtectionFacility(); break; case FacilityType.Postal: client.RemovePostalFacility(); break; case FacilityType.Banking: client.RemoveBankingFacility(); break; case FacilityType.Garbage: client.RemoveGarbageFacility(); break; case FacilityType.Education: client.RemoveEducationFacility(); break; } _customers.Remove(client); } }