private IEnumerator ConstructAfterTime() { StartedBuilding = DateTime.Now; ItemBuilding = GetNextItemInBuildQueue(); ref_GameController.GameData.Storage.TakeResources(ItemBuilding.DataObject.CostToBuild); EndBuilding = StartedBuilding.AddSeconds((int)ItemBuilding.DataObject.TimeToBuild); if (building) { yield break; } building = true; yield return(new WaitForSeconds((int)ItemBuilding.DataObject.TimeToBuild)); if (ItemBuilding.DataObject is SO_Machine) { BuiltMachine = ((SO_Machine)ItemBuilding.DataObject).PrefabForMachine; } else { ref_GameController.GameData.Storage.AddResources(new CL_Resource(ItemBuilding.DataObject)); } ItemBuilding = null; building = false; }
public void RemoveFromQueue(CL_BuildQueue itemToRemove) { if (MachineGenerator != null) { MachineGenerator.RemoveFromQueue(itemToRemove); } }
public void RemoveFromQueue(CL_BuildQueue itemToRemove) { CL_BuildQueue ItemFound = BuildQueue.Find(f => f.DataObject.ResourceName == itemToRemove.DataObject.ResourceName); if (ItemFound != null) { ItemFound.Quantity = ItemFound.Quantity - 1; if (ItemFound.Quantity <= 0) { BuildQueue.Remove(ItemFound); } } }
public CL_BuildQueue GetNextItemInBuildQueue() { if (BuildQueue.Count > 0) { CL_BuildQueue BuildQueueToReturn = new CL_BuildQueue(BuildQueue[0].DataObject, 1); BuildQueue[0].Quantity -= 1; if (BuildQueue[0].Quantity <= 0) { BuildQueue.RemoveAt(0); } return(BuildQueueToReturn); } return(null); }
public void AddToQueue(CL_ItemConstructable ItemToAdd) { if (BuildQueue != null) { CL_BuildQueue ItemFound = BuildQueue.Find(f => f.DataObject.ResourceName == ItemToAdd.ResourceName); if (ItemFound != null) { ItemFound.Quantity += 1; } else { BuildQueue.Add(new CL_BuildQueue(ItemToAdd, 1)); } } }
public void SetItem(CL_BuildQueue resourcePass, S_InGameMenuBase ToPassBackToPass) { ToPassBackTo = ToPassBackToPass; Data = resourcePass; if (m_IconBuildQueueItem != null) { if (Data.DataObject != null) { m_IconBuildQueueItem.sprite = Data.DataObject.Sprite != null ? Data.DataObject.Sprite : null; } } if (m_ButtonBuildQueue != null) { m_ButtonBuildQueue.onClick.AddListener(RemoveItemFromQueue); } }
public void SetData(CL_BuildQueue BuildDataPass) { Data = BuildDataPass; if (Data != null) { if (Data.DataObject != null) { if (m_TextCurrentBuilding != null) { m_TextCurrentBuilding.SetText(BuildDataPass.DataObject.ResourceName.ToString()); } if (m_TextCurrentBuildingQuantity != null) { m_TextCurrentBuildingQuantity.SetText(BuildDataPass.DataObject.Quantity.ToString()); } if (m_ImageCurrentBuilding != null) { m_ImageCurrentBuilding.sprite = BuildDataPass.DataObject.Sprite; } } } }
public CL_BuildQueue(CL_BuildQueue dataPass) { DataObject = dataPass.DataObject; Quantity = dataPass.Quantity; }