コード例 #1
0
        public bool OrderAttendedTo(float timeSinceLastCheck = 0f)
        {
            if (!HumanAIController.IsActive(OrderedCharacter))
            {
                return(false);
            }

            // accept only the highest priority order
            if (CurrentOrder != null && OrderedCharacter.GetCurrentOrderWithTopPriority()?.Order != CurrentOrder)
            {
#if DEBUG
                ShipCommandManager.ShipCommandLog($"Order {CurrentOrder.Name} did not match current order for character {OrderedCharacter} in {this}");
#endif
                return(false);
            }

            if (!shipCommandManager.AbleToTakeOrder(OrderedCharacter))
            {
#if DEBUG
                ShipCommandManager.ShipCommandLog(OrderedCharacter + " was unable to perform assigned order in " + this);
#endif
                return(false);
            }
            return(true);
        }
コード例 #2
0
 // The AI could be set to steer automatically through a specialized job or autonomous objectives
 // but the logic involved doesn't really allow that without some annoyingly specific changes
 // hence the AI will command itself to steer if steering is not being taken care of or the target location is wrong
 public ShipIssueWorkerSteer(ShipCommandManager shipCommandManager, Order order, Item targetItem, ItemComponent targetItemComponent, string option) : base(shipCommandManager, order, targetItem, targetItemComponent, option)
 {
 }
コード例 #3
0
 public ShipIssueWorkerItem(ShipCommandManager shipCommandManager, Order order, Item targetItem, ItemComponent targetItemComponent, string option = null) : base(shipCommandManager, order, option)
 {
     TargetItemComponent = targetItemComponent;
     TargetItem          = targetItem;
 }
コード例 #4
0
 public ShipIssueWorkerOperateWeapons(ShipCommandManager shipCommandManager, Order order, Item targetItem, ItemComponent targetItemComponent) : base(shipCommandManager, order, targetItem, targetItemComponent)
 {
 }
コード例 #5
0
 public ShipGlobalIssueFixLeaks(ShipCommandManager shipCommandManager) : base(shipCommandManager)
 {
 }
コード例 #6
0
 public ShipIssueWorkerFixLeaks(ShipCommandManager shipCommandManager, Order order, ShipGlobalIssueFixLeaks shipGlobalIssueFixLeaks) : base(shipCommandManager, order, shipGlobalIssueFixLeaks)
 {
 }
コード例 #7
0
 public ShipGlobalIssueRepairSystems(ShipCommandManager shipCommandManager) : base(shipCommandManager)
 {
 }
コード例 #8
0
 public ShipIssueWorkerRepairSystems(ShipCommandManager shipCommandManager, Order order, ShipGlobalIssueRepairSystems shipGlobalIssueRepairSystems) : base(shipCommandManager, order, shipGlobalIssueRepairSystems)
 {
 }
コード例 #9
0
 public ShipIssueWorker(ShipCommandManager shipCommandManager, Order suggestedOrderPrefab, string option = null)
 {
     this.shipCommandManager = shipCommandManager;
     SuggestedOrderPrefab    = suggestedOrderPrefab;
     Option = option;
 }