/// <summary> /// Starts building process. /// Building is supposed to be placed. /// </summary> public void StartBuilding(DAT_Building buildingData) { // prepare position (middle of a screen) and instantiate Vector3 pos = Camera.main.ViewportToWorldPoint(new Vector3(0.5f, 0.5f, Camera.main.nearClipPlane)); pos.y = M_MapManager.SGetHighYDepthValue(pos.z); // set appropriate depth value. (Building has to be above every other obj) // Instantiate new building in the TEMP group. m_tempBuildingObj = buildingData.InstantiateBuilding(pos, M_GameHelper.Group.TEMP); m_tempBuildingComp = m_tempBuildingObj.GetComponent <IBuilding>(); // Get build button and activate it. m_tempBuildingComp.GetBuildButton().GetComponent <Button>().onClick.AddListener(OnBuildingBuildIconClick); m_tempBuildingComp.GetBuildButton().SetActive(true); M_MiscManager.RemoveListenersCancelButton(); M_MiscManager.AddListenerCancelButton(QuitBuilding); M_MiscManager.ShowCancelButton(true); }