Barotrauma Client
Loading...
Searching...
No Matches
Barotrauma.AIObjectiveGetItem Class Reference
Inheritance diagram for Barotrauma.AIObjectiveGetItem:
Barotrauma.AIObjective

Public Member Functions

 AIObjectiveGetItem (Character character, Item targetItem, AIObjectiveManager objectiveManager, bool equip=true, float priorityModifier=1)
 
 AIObjectiveGetItem (Character character, Identifier identifierOrTag, AIObjectiveManager objectiveManager, bool equip=true, bool checkInventory=true, float priorityModifier=1, bool spawnItemIfNotFound=false)
 
 AIObjectiveGetItem (Character character, IEnumerable< Identifier > identifiersOrTags, AIObjectiveManager objectiveManager, bool equip=true, bool checkInventory=true, float priorityModifier=1, bool spawnItemIfNotFound=false)
 
override void Reset ()
 
- Public Member Functions inherited from Barotrauma.AIObjective
IEnumerable< AIObjectiveGetSubObjectivesRecursive (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 ()
 

Static Public Member Functions

static IEnumerable< IdentifierParseGearTags (IEnumerable< Identifier > identifiersOrTags)
 
static IEnumerable< IdentifierParseIgnoredTags (IEnumerable< Identifier > identifiersOrTags)
 
static Func< PathNode, bool > CreateEndNodeFilter (ISpatialEntity targetEntity)
 
- Static Public Member Functions inherited from Barotrauma.AIObjective
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.
 

Public Attributes

HashSet< ItemignoredItems = new HashSet<Item>()
 
Func< Item, float > GetItemPriority
 
Func< Item, bool > ItemFilter
 
readonly ImmutableHashSet< IdentifierIdentifiersOrTags
 
ImmutableHashSet< IdentifierignoredContainerIdentifiers
 
ImmutableHashSet< IdentifierignoredIdentifiersOrTags
 
- Public Attributes inherited from Barotrauma.AIObjective
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 Public Attributes

const float DefaultReach = 100
 
const float MaxReach = 150
 

Protected Member Functions

override void Act (float deltaTime)
 
override bool CheckObjectiveSpecific ()
 
override void OnAbandon ()
 
- Protected Member Functions inherited from Barotrauma.AIObjective
void HandleDisallowed ()
 
virtual float GetPriority ()
 
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 ()
 
void Act (float deltaTime)
 
bool CheckObjectiveSpecific ()
 Should return whether the objective is completed or not.
 
bool CanEquip (Item item, bool allowWearing)
 

Properties

override Identifier Identifier = "get item".ToIdentifier() [get, set]
 
override bool AbandonWhenCannotCompleteSubObjectives [get]
 
override bool AllowMultipleInstances [get]
 
override bool AllowWhileHandcuffed [get]
 
float TargetCondition = 1 [get, set]
 
bool AllowDangerousPressure [get, set]
 
Item TargetItem [get]
 
bool AllowToFindDivingGear = true [get, set]
 
bool MustBeSpecificItem [get, set]
 
bool AllowStealing [get, set]
 Is the character allowed to take the item from somewhere else than their own sub (e.g. an outpost)
 
bool TakeWholeStack [get, set]
 
bool AllowVariants [get, set]
 Are variants of the specified item allowed.
 
bool Equip [get, set]
 
bool Wear [get, set]
 
bool RequireNonEmpty [get, set]
 
bool EvaluateCombatPriority [get, set]
 
bool CheckPathForEachItem [get, set]
 
bool SpeakIfFails [get, set]
 
string CannotFindDialogueIdentifierOverride [get, set]
 
Func< bool > CannotFindDialogueCondition [get, set]
 
int ItemCount [get, set]
 
InvSlotTypeEquipSlotType [get, set]
 
- Properties inherited from Barotrauma.AIObjective
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< AIObjectiveSubObjectives [get]
 
AIObjective CurrentSubObjective [get]
 
HumanAIController HumanAIController [get]
 
IndoorsSteeringManager PathSteering [get]
 
SteeringManager SteeringManager [get]
 
bool IsAllowed [get]
 
bool IsCompleted [get, protected set]
 

Additional Inherited Members

- Static Protected Member Functions inherited from Barotrauma.AIObjective
static bool CanPutInInventory (Character character, Item item, bool allowWearing)
 
- Protected Attributes inherited from Barotrauma.AIObjective
readonly List< AIObjectivesubObjectives = new List<AIObjective>()
 
- Events inherited from Barotrauma.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.
 

Constructor & Destructor Documentation

◆ AIObjectiveGetItem() [1/3]

Barotrauma.AIObjectiveGetItem.AIObjectiveGetItem ( Character character,
Item targetItem,
AIObjectiveManager objectiveManager,
bool equip = true,
float priorityModifier = 1 )

◆ AIObjectiveGetItem() [2/3]

Barotrauma.AIObjectiveGetItem.AIObjectiveGetItem ( Character character,
Identifier identifierOrTag,
AIObjectiveManager objectiveManager,
bool equip = true,
bool checkInventory = true,
float priorityModifier = 1,
bool spawnItemIfNotFound = false )

◆ AIObjectiveGetItem() [3/3]

Barotrauma.AIObjectiveGetItem.AIObjectiveGetItem ( Character character,
IEnumerable< Identifier > identifiersOrTags,
AIObjectiveManager objectiveManager,
bool equip = true,
bool checkInventory = true,
float priorityModifier = 1,
bool spawnItemIfNotFound = false )

Member Function Documentation

◆ Act()

override void Barotrauma.AIObjectiveGetItem.Act ( float deltaTime)
protected

◆ CheckObjectiveSpecific()

override bool Barotrauma.AIObjectiveGetItem.CheckObjectiveSpecific ( )
protected

◆ CreateEndNodeFilter()

static Func< PathNode, bool > Barotrauma.AIObjectiveGetItem.CreateEndNodeFilter ( ISpatialEntity targetEntity)
static

◆ OnAbandon()

override void Barotrauma.AIObjectiveGetItem.OnAbandon ( )
protectedvirtual

Reimplemented from Barotrauma.AIObjective.

◆ ParseGearTags()

static IEnumerable< Identifier > Barotrauma.AIObjectiveGetItem.ParseGearTags ( IEnumerable< Identifier > identifiersOrTags)
static

◆ ParseIgnoredTags()

static IEnumerable< Identifier > Barotrauma.AIObjectiveGetItem.ParseIgnoredTags ( IEnumerable< Identifier > identifiersOrTags)
static

◆ Reset()

override void Barotrauma.AIObjectiveGetItem.Reset ( )
virtual

Reimplemented from Barotrauma.AIObjective.

Member Data Documentation

◆ DefaultReach

const float Barotrauma.AIObjectiveGetItem.DefaultReach = 100
static

◆ GetItemPriority

Func<Item, float> Barotrauma.AIObjectiveGetItem.GetItemPriority

◆ IdentifiersOrTags

readonly ImmutableHashSet<Identifier> Barotrauma.AIObjectiveGetItem.IdentifiersOrTags

◆ ignoredContainerIdentifiers

ImmutableHashSet<Identifier> Barotrauma.AIObjectiveGetItem.ignoredContainerIdentifiers

◆ ignoredIdentifiersOrTags

ImmutableHashSet<Identifier> Barotrauma.AIObjectiveGetItem.ignoredIdentifiersOrTags

◆ ignoredItems

HashSet<Item> Barotrauma.AIObjectiveGetItem.ignoredItems = new HashSet<Item>()

◆ ItemFilter

Func<Item, bool> Barotrauma.AIObjectiveGetItem.ItemFilter

◆ MaxReach

const float Barotrauma.AIObjectiveGetItem.MaxReach = 150
static

Property Documentation

◆ AbandonWhenCannotCompleteSubObjectives

override bool Barotrauma.AIObjectiveGetItem.AbandonWhenCannotCompleteSubObjectives
get

◆ AllowDangerousPressure

bool Barotrauma.AIObjectiveGetItem.AllowDangerousPressure
getset

◆ AllowMultipleInstances

override bool Barotrauma.AIObjectiveGetItem.AllowMultipleInstances
get

◆ AllowStealing

bool Barotrauma.AIObjectiveGetItem.AllowStealing
getset

Is the character allowed to take the item from somewhere else than their own sub (e.g. an outpost)

◆ AllowToFindDivingGear

bool Barotrauma.AIObjectiveGetItem.AllowToFindDivingGear = true
getset

◆ AllowVariants

bool Barotrauma.AIObjectiveGetItem.AllowVariants
getset

Are variants of the specified item allowed.

◆ AllowWhileHandcuffed

override bool Barotrauma.AIObjectiveGetItem.AllowWhileHandcuffed
getprotected

◆ CannotFindDialogueCondition

Func<bool> Barotrauma.AIObjectiveGetItem.CannotFindDialogueCondition
getset

◆ CannotFindDialogueIdentifierOverride

string Barotrauma.AIObjectiveGetItem.CannotFindDialogueIdentifierOverride
getset

◆ CheckPathForEachItem

bool Barotrauma.AIObjectiveGetItem.CheckPathForEachItem
getset

◆ Equip

bool Barotrauma.AIObjectiveGetItem.Equip
getset

◆ EquipSlotType

InvSlotType? Barotrauma.AIObjectiveGetItem.EquipSlotType
getset

◆ EvaluateCombatPriority

bool Barotrauma.AIObjectiveGetItem.EvaluateCombatPriority
getset

◆ Identifier

override Identifier Barotrauma.AIObjectiveGetItem.Identifier = "get item".ToIdentifier()
getset

◆ ItemCount

int Barotrauma.AIObjectiveGetItem.ItemCount
getset

◆ MustBeSpecificItem

bool Barotrauma.AIObjectiveGetItem.MustBeSpecificItem
getset

◆ RequireNonEmpty

bool Barotrauma.AIObjectiveGetItem.RequireNonEmpty
getset

◆ SpeakIfFails

bool Barotrauma.AIObjectiveGetItem.SpeakIfFails
getset

◆ TakeWholeStack

bool Barotrauma.AIObjectiveGetItem.TakeWholeStack
getset

◆ TargetCondition

float Barotrauma.AIObjectiveGetItem.TargetCondition = 1
getset

◆ TargetItem

Item Barotrauma.AIObjectiveGetItem.TargetItem
get

◆ Wear

bool Barotrauma.AIObjectiveGetItem.Wear
getset

The documentation for this class was generated from the following file: