public void AssignTo(CityOffice nextOwner) { if (nextOwner != null && nextOwner != owners.Peek()) { owners.Push(nextOwner); } }
public CityBill(CityOffice givenOwner, BillAction requestedAction, BillObject requestedTarget) { owners = new Stack <CityOffice>(); owners.Push(givenOwner); state = BillState.Proposed; action = requestedAction; target = requestedTarget; }
public void AssignBack() { if (owners.Count <= 1) { return; } CityOffice currentOwner = owners.Pop(); CityOffice prevOwner = owners.Peek(); if (prevOwner != null && !prevOwner.bills.Contains(this)) { prevOwner.bills.Enqueue(this); } else { owners.Push(currentOwner); } }
public StructureRequest(CityOffice requester, BillObject requestedType, Int2 requestedSize) : base(requester, CityBill.BillAction.Request, requestedType) { size = requestedSize; }