Beispiel #1
0
    public void Start()
    {
        SelectionMaterial.ChangeShader(gameObject, "Standard");

        Mousemanager = FindObjectOfType <MouseManager>();

        InstantiateItemContainers();

        //To make sure that each start function in the scripts happends in the right
        //order, they will be assigner here instead.
        switch (building.CurrentBuildingType)
        {
        case (BuildingList.Types.Mine):
            mine            = gameObject.AddComponent <Mine>();
            mine.building   = this;
            mine.MiningTime = MiningTime;
            break;

        case (BuildingList.Types.Conveyor):
            conveyor          = gameObject.AddComponent <Conveyor>();
            conveyor.building = this;
            break;

        case (BuildingList.Types.Splitter):
            splitter          = gameObject.AddComponent <Splitter>();
            splitter.building = this;
            break;

        case (BuildingList.Types.Smelter):
            crafting          = gameObject.AddComponent <Crafting>();
            crafting.building = this;
            break;

        default:
            break;
        }

        if (building.Outputs > 0)
        {
            StartCoroutine(CheckOuput());
        }

        if (building.Inputs > 0)
        {
            StartCoroutine(CheckInputs());
        }
    }
Beispiel #2
0
    //This function is called by the building buttons. Changes what building is selected.
    public void ChangeBuilding(int build)
    {
        foreach (BuildingList building in BuildingList.buildinglist)
        {
            if (building.ID == build)
            {
                buildingtype = building;
            }
        }

        if (buildingtype != BuildingList.Nothing && buildingtype != null)
        {
            //Instantiates the building the player wants to construct where mouse was clicked
            switch (buildingtype.CurrentBuildingType)
            {
            //TO-DO: Use the dictionary with IDs instead to prevent too much expansion here and make it easier to add buildings
            case (BuildingList.Types.Mine):
                InstantiateBuilding(buildingtype, 1f);
                break;

            case (BuildingList.Types.Conveyor):
                InstantiateBuilding(buildingtype, 0.666f);
                break;

            case (BuildingList.Types.Splitter):
                InstantiateBuilding(buildingtype, 0.8f);
                break;

            case (BuildingList.Types.Smelter):
                InstantiateBuilding(buildingtype, 1f);
                break;

            default:
                break;
            }

            SelectionMaterial.ChangeShader(TheBuilding, "Legacy Shaders/Transparent/Diffuse");
            TheBuilding.GetComponent <Collider>().enabled = enabled;
            TheBuilding.layer = 5;
            TheBuilding.transform.Rotate(new Vector3(0, 90, 0));
        }

        destroy = false;
    }