|
| AIObjectiveFixLeak (Gap leak, Character character, AIObjectiveManager objectiveManager, float priorityModifier=1, bool isPriority=false) |
|
override void | Reset () |
|
IEnumerable< AIObjective > | GetSubObjectivesRecursive (bool includingSelf=false) |
|
AIObjective | GetActiveObjective () |
|
| AIObjective (Character character, AIObjectiveManager objectiveManager, float priorityModifier, Identifier option=default) |
|
void | TryComplete (float deltaTime) |
| Makes the character act according to the objective, or according to any subobjectives that need to be completed before this one.
|
|
void | AddSubObjective (AIObjective objective, bool addFirst=false) |
|
void | RemoveSubObjective< T > (ref T objective) |
|
void | SortSubObjectives () |
|
bool | IsIgnoredAtOutpost () |
| Returns true only when at a friendly outpost and when the order is set to be ignored there. Note that even if this returns false, the objective can be disallowed, because AllowInFriendlySubs is false.
|
|
float | CalculatePriority () |
| Call this only when the priority needs to be recalculated. Use the cached Priority property when you don't need to recalculate.
|
|
virtual bool | IsDuplicate< T > (T otherObjective) |
|
virtual void | Update (float deltaTime) |
|
virtual void | OnSelected () |
|
virtual void | OnDeselected () |
|
virtual void | SpeakAfterOrderReceived () |
|
|
override bool | CheckObjectiveSpecific () |
|
override float | GetPriority () |
|
override void | Act (float deltaTime) |
|
void | HandleDisallowed () |
|
float | GetDistanceFactor (Vector2 targetWorldPos, float factorAtMaxDistance, float verticalDistanceMultiplier=3, float maxDistance=10000.0f, float factorAtMinDistance=1.0f) |
| Get a normalized value representing how close the target position is. The value is a rough estimation, where vertical movement is assumed to be more costly than horizontal.
|
|
virtual void | SyncRemovedObjectives< T1, T2 > (Dictionary< T1, T2 > dictionary, IEnumerable< T1 > collection) |
| Checks if the subobjectives in the given collection are removed from the subobjectives. And if so, removes it also from the dictionary.
|
|
bool | TryAddSubObjective< T > (ref T objective, Func< T > constructor, Action onCompleted=null, Action onAbandon=null) |
| Checks if the objective already is created and added in subobjectives. If not, creates it. Handles objectives that cannot be completed. If the objective has been removed form the subobjectives, a null value is assigned to the reference. Returns true if the objective was created and successfully added.
|
|
virtual void | OnCompleted () |
|
virtual void | OnAbandon () |
|
void | Act (float deltaTime) |
|
bool | CheckObjectiveSpecific () |
| Should return whether the objective is completed or not.
|
|
bool | CanEquip (Item item, bool allowWearing) |
|
|
override Identifier | Identifier = "fix leak".ToIdentifier() [get, set] |
|
override bool | ForceRun [get] |
|
override bool | KeepDivingGearOn [get] |
|
override bool | AllowInFriendlySubs [get] |
|
override bool | AllowInAnySub [get] |
|
override bool | AllowWhileHandcuffed [get] |
|
Gap | Leak [get] |
|
virtual float | Devotion [get] |
|
Identifier | Identifier [get, set] |
|
virtual string | DebugTag [get] |
|
virtual bool | ForceRun [get] |
|
virtual bool | IgnoreUnsafeHulls [get] |
|
virtual bool | AbandonWhenCannotCompleteSubObjectives [get] |
|
virtual bool | AllowSubObjectiveSorting [get] |
| Should subobjectives be sorted according to their priority?
|
|
virtual bool | PrioritizeIfSubObjectivesActive [get] |
|
virtual bool | AllowMultipleInstances [get] |
| Can there be multiple objective instaces of the same type?
|
|
virtual bool | ConcurrentObjectives [get] |
| Run the main objective with all subobjectives concurrently? If false, the main objective will continue only when all the subobjectives have been removed (done).
|
|
virtual bool | KeepDivingGearOn [get] |
|
virtual bool | KeepDivingGearOnAlsoWhenInactive [get] |
|
virtual bool | AllowAutomaticItemUnequipping [get] |
| There's a separate property for diving suit and mask: KeepDivingGearOn.
|
|
virtual bool | AllowOutsideSubmarine [get] |
|
virtual bool | AllowInFriendlySubs [get] |
| When true, the objective is allowed in the player subs (when in the same team) and on friendly outposts (regardless of the alignment). Note: ignored when AllowInAnySub is true.
|
|
virtual bool | AllowInAnySub [get] |
|
virtual bool | AllowWhileHandcuffed [get] |
|
virtual bool | AbandonIfDisallowed [get] |
| Should the objective abandon when it's not allowed in the current context or should it just stay inactive with 0 priority? Abandoned automatic objectives are removed and recreated automatically (when new orders are assigned or after a cooldown period). Abandoned orders are removed, but the most recent order can be reissued by clicking the small order icon with the arrow in the crew manager panel.
|
|
virtual bool | CanBeCompleted [get] |
|
virtual float | MaxDevotion [get] |
|
float | CumulatedDevotion [get, set] |
|
float | Priority [get, set] |
| Final priority value after all calculations.
|
|
float | BasePriority [get, set] |
|
float | PriorityModifier = 1 [get] |
|
bool | ForceHighestPriority [get, set] |
|
bool | ForceWalk [get, set] |
|
bool | IgnoreAtOutpost [get, set] |
|
bool | Abandon [get, set] |
|
IEnumerable< AIObjective > | SubObjectives [get] |
|
AIObjective | CurrentSubObjective [get] |
|
HumanAIController | HumanAIController [get] |
|
IndoorsSteeringManager | PathSteering [get] |
|
SteeringManager | SteeringManager [get] |
|
bool | IsAllowed [get] |
|
bool | IsCompleted [get, protected set] |
|