public CreateUnitJob(BuildingCommonControl building, Controllable unitToConvert, CreatableUnit destinationUnit, Player owner, bool isRootJob) : base(owner, isRootJob) { Building = building; UnitToConvert = unitToConvert; DestinationUnit = destinationUnit; CreationStarted = false; CreationTime = 0f; foreach(ResourceAmount resourceAmount in DestinationUnit.resourceCosts) { if(!resourceAmount.IsUpkeepResource()) { AddSubJob(new MoveResourceJob(resourceAmount.resource, resourceAmount.amount, building, owner, false)); } } }
public void QueueUnitToCreate(Controllable unitToConvert, CreatableUnit unitToCreate) { unitToCreate.SpendResources(Owner); unitQueue.Enqueue(new UnitQueueEntry(unitToConvert, unitToCreate)); }
public UnitQueueEntry(Controllable unitToConvert, CreatableUnit destinationUnit) { UnitToConvert = unitToConvert; DestinationUnit = destinationUnit; }