Example #1
0
    public StructureType GetStructureTypeFromTile(TileBase tile)
    {
        StructureType    returnType = StructureType.None;
        StructureBinding binding    = GetStructureBindingFromTile(tile);

        if (binding != null)
        {
            returnType = binding.type;
        }
        return(returnType);
    }
Example #2
0
    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);
    }
Example #3
0
    public override string GetText()
    {
        StructureBinding binding = BuildingManager.Instance.StructuresTemplates.GetStructureBindingFromType(structureType);

        return(GetBuildingSpecificCondition() + GetNumberString() + binding.data.structureName);
    }
Example #4
0
    public StructureData GetDataForStructure(StructureType type)
    {
        StructureBinding element = _structureTemplates.First(x => x.type == type);

        return(element?.data);
    }
Example #5
0
#pragma warning restore 0649
    #endregion
    public override string GetText()
    {
        StructureBinding binding = BuildingManager.Instance.StructuresTemplates.GetStructureBindingFromType(structureType);

        return("Create " + binding.data.structureName);
    }
Example #6
0
 public void InitWithBuilding(StructureBinding building)
 {
     this.building = building;
     GetComponentInChildren <TextMeshProUGUI>().text = building.data.structureName;
     _iconImage.sprite = building.data.icon;
 }