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()); } }
//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; }