public StructureType GetStructureTypeFromTile(TileBase tile) { StructureType returnType = StructureType.None; StructureBinding binding = GetStructureBindingFromTile(tile); if (binding != null) { returnType = binding.type; } return(returnType); }
public StructureTile CreateStructureFromType(StructureType type, BaseTileData data) { StructureTile newTile = null; StructureBinding structureBinding = BuildingManager.Instance.StructuresTemplates.GetStructureBindingFromType(type); if (structureBinding != null) { switch (type) { case StructureType.PowerPlant: newTile = new PowerPlantTile(); break; case StructureType.Sawmill: newTile = new SawmillTile(); break; case StructureType.PumpingStation: newTile = new PumpingStationTile(); WaterClusterManager.Instance.RegisterPumpingStation(data); break; case StructureType.Village: newTile = new VillageTile(); break; case StructureType.Mine: newTile = new MineTile(); break; case StructureType.Relay: newTile = new RelayTile(); break; case StructureType.MainRelay: newTile = new MainRelayTile(); break; default: throw new MissingStructureTypeDefinitionException(); } data.structureTile = newTile; BuildingView building = Instantiate(structureBinding.building, data.worldPosition, Quaternion.identity, transform); building.dataTile = newTile; newTile._building = building; newTile.GridPosition = data.GridPosition; ResourcesManager.Instance.RegisterStructure(newTile); RelayManager.Instance.RegisterStructure(data); } return(newTile); }
public override string GetText() { StructureBinding binding = BuildingManager.Instance.StructuresTemplates.GetStructureBindingFromType(structureType); return(GetBuildingSpecificCondition() + GetNumberString() + binding.data.structureName); }
public StructureData GetDataForStructure(StructureType type) { StructureBinding element = _structureTemplates.First(x => x.type == type); return(element?.data); }
#pragma warning restore 0649 #endregion public override string GetText() { StructureBinding binding = BuildingManager.Instance.StructuresTemplates.GetStructureBindingFromType(structureType); return("Create " + binding.data.structureName); }
public void InitWithBuilding(StructureBinding building) { this.building = building; GetComponentInChildren <TextMeshProUGUI>().text = building.data.structureName; _iconImage.sprite = building.data.icon; }