|
| | AIObjectiveFindSafety (Character character, AIObjectiveManager objectiveManager, float priorityModifier=1) |
| |
| override void | Update (float deltaTime) |
| |
| void | UpdateSimpleEscape (float deltaTime) |
| |
| HullSearchStatus | FindBestHull (out Hull bestHull, IEnumerable< Hull > ignoredHulls=null, bool allowChangingSubmarine=true) |
| | Tries to find the best (safe, nearby) hull the character can find a path to. Checks one hull at a time, and returns HullSearchStatus.Finished when all potential hulls have been checked.
|
| |
| 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 | 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 = "find safety".ToIdentifier() [get, set] |
| |
| override bool | ForceRun [get] |
| |
| override bool | KeepDivingGearOn [get] |
| |
| override bool | IgnoreUnsafeHulls [get] |
| |
| override bool | ConcurrentObjectives [get] |
| |
| override bool | AllowOutsideSubmarine [get] |
| |
| override bool | AllowInAnySub [get] |
| |
| override bool | AbandonWhenCannotCompleteSubObjectives [get] |
| |
| override bool | CanBeCompleted [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] |
| |
|
| static float | GetDistanceFactor (Vector2 selfPos, 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.
|
| |
| EventAction | SourceEventAction |
| | Which event action (if any) created this objective.
|
| |
| AIObjective | SourceObjective |
| | Which objective (if any) created this objective. When this is a subobjective, the parent objective is used by default.
|
| |
| readonly Character | character |
| |
| readonly AIObjectiveManager | objectiveManager |
| |
| readonly Identifier | Option |
| |
| Func< AIObjective, bool > | AbortCondition |
| | Aborts the objective when this condition is true.
|
| |
| static bool | CanPutInInventory (Character character, Item item, bool allowWearing) |
| |
| readonly List< AIObjective > | subObjectives = new List<AIObjective>() |
| |
| Action | Completed |
| | A single shot event. Automatically cleared after launching. Use OnCompleted method for implementing (internal) persistent behavior.
|
| |
| Action | Abandoned |
| | A single shot event. Automatically cleared after launching. Use OnAbandoned method for implementing (internal) persistent behavior.
|
| |
| Action | Selected |
| | A single shot event. Automatically cleared after launching. Use OnSelected method for implementing (internal) persistent behavior.
|
| |
| Action | Deselected |
| | A single shot event. Automatically cleared after launching. Use OnDeselected method for implementing (internal) persistent behavior.
|
| |