//abort placing the building:
        private void Cancel()
        {
            //Call the stop building placement custom event:
            CustomEvents.OnBuildingStopPlacement(currentBuilding);

            //abort the building process
            Destroy(currentBuilding.gameObject);
            currentBuilding = null;
        }
        /// <summary>
        /// Stops placing the current pending building that's getting placed.
        /// </summary>
        private void StopPlacingBuilding()
        {
            if (currPendingBuilding.instance != null) //valid building instance:
            {
                //Call the stop building placement custom event:
                CustomEvents.OnBuildingStopPlacement(currPendingBuilding.instance);

                //Give back resources:
                gameMgr.ResourceMgr.UpdateRequiredResources(currPendingBuilding.instance.GetResources(), true, factionMgr.FactionID);

                //destroy the building instance that was supposed to be placed:
                Destroy(currPendingBuilding.instance.gameObject);
            }

            Deactivate();               //component is no longer active

            StartPlacingNextBuilding(); //start placing next building, if it exists.
        }
Пример #3
0
        //a method that stops placing a building
        void StopPlacingBuilding()
        {
            if (pendingBuildings[0].buildingInstance != null) //valid building instance:
            {
                //Call the stop building placement custom event:
                CustomEvents.OnBuildingStopPlacement(pendingBuildings[0].buildingInstance);

                //Give back resources:
                gameMgr.ResourceMgr.UpdateRequiredResources(pendingBuildings[0].buildingInstance.GetResources(), true, factionMgr.FactionID);

                //destroy the building instance that was supposed to be placed:
                Destroy(pendingBuildings[0].buildingInstance.gameObject);
            }

            //remove the first item in pending buildings list:
            pendingBuildings.RemoveAt(0);

            StartPlacingNextBuilding(); //start placing next building.
        }