3 using Microsoft.Xna.Framework;
13 private float importance;
33 public bool Active {
get;
protected set; } =
true;
56 minDurationBetweenSimilar: 5,
66 minDurationBetweenSimilar: 5,
106 if (shipIssueWorker.GetType() == GetType() && shipIssueWorker !=
this && shipIssueWorker.
OrderAttendedTo())
List< Order > CurrentOrders
void Speak(string message, ChatMessageType? messageType=null, float delay=0.0f, Identifier identifier=default, float minDurationBetweenSimilar=0.0f)
Order GetCurrentOrderWithTopPriority()
virtual AIController AIController
void SetOrder(Order order, bool isNewOrder, bool speak=true, bool force=false)
Force an order to be set for the character, bypassing hearing checks
Stores information about the Character that is needed between rounds in the menu etc....
static int HighestManualOrderPriority
static bool IsActive(Character c)
AIObjectiveManager ObjectiveManager
The base class for components holding the different functionalities of the item
Order WithOption(Identifier option)
readonly Entity TargetEntity
string GetChatMessage(string targetCharacterName, string targetRoomName, bool givingOrderToSelf, Identifier orderOption=default, bool isNewOrder=true)
readonly Identifier Option
Order WithManualPriority(int newPriority)
Order WithItemComponent(Item item, ItemComponent component=null)
readonly OrderPrefab Prefab
readonly ItemComponent TargetItemComponent
Order WithOrderGiver(Character orderGiver)
readonly Identifier Identifier
readonly Character character
static void ShipCommandLog(string text)
readonly List< ShipIssueWorker > ShipIssueWorkers
bool AbleToTakeOrder(Character character)
bool OrderAttendedTo(float timeSinceLastCheck=0f)
ShipIssueWorker(ShipCommandManager shipCommandManager, Order suggestedOrder)
const float MinImportance
void SetOrder(Character orderedCharacter)
virtual float TimeSinceLastAttempt
ItemComponent TargetItemComponent
virtual Character CommandingCharacter
float CalculateImportance(bool isEmergency)
virtual bool IsIssueViable()
virtual float RedundantIssueModifier
virtual bool AllowEasySwitching
abstract void CalculateImportanceSpecific()
Character OrderedCharacter
const float MaxImportance
virtual bool StopDuringEmergency
readonly ShipCommandManager shipCommandManager