Barotrauma Client Doc
Barotrauma.AIObjectiveContainItem Class Reference
Inheritance diagram for Barotrauma.AIObjectiveContainItem:
Barotrauma.AIObjective

Public Member Functions

 AIObjectiveContainItem (Character character, Item item, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier=1)
 
 AIObjectiveContainItem (Character character, Identifier itemIdentifier, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier=1, bool spawnItemIfNotFound=false)
 
 AIObjectiveContainItem (Character character, ImmutableHashSet< Identifier > itemIdentifiers, ItemContainer container, AIObjectiveManager objectiveManager, float priorityModifier=1, bool spawnItemIfNotFound=false)
 
bool IsInTargetSlot (Item item)
 
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 More...
 
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. More...
 
float CalculatePriority ()
 Call this only when the priority needs to be recalculated. Use the cached Priority property when you don't need to recalculate. More...
 
virtual bool IsDuplicate< T > (T otherObjective)
 
virtual void Update (float deltaTime)
 
virtual void OnSelected ()
 
virtual void OnDeselected ()
 
virtual void SpeakAfterOrderReceived ()
 
Sprite GetSprite ()
 

Public Attributes

Func< Item, float > GetItemPriority
 
ImmutableHashSet< IdentifierignoredContainerIdentifiers
 
bool checkInventory = true
 
readonly ImmutableHashSet< IdentifieritemIdentifiers
 
readonly ItemContainer container
 
int? TargetSlot
 
- Public Attributes inherited from Barotrauma.AIObjective
readonly Character character
 
readonly AIObjectiveManager objectiveManager
 
readonly Identifier Option
 
Func< AIObjective, bool > AbortCondition
 Aborts the objective when this condition is true. More...
 

Protected Member Functions

override bool CheckObjectiveSpecific ()
 
override void Act (float deltaTime)
 
- Protected Member Functions inherited from Barotrauma.AIObjective
void HandleNonAllowed ()
 
virtual float GetPriority ()
 
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. More...
 
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. More...
 
virtual void OnCompleted ()
 
virtual void OnAbandon ()
 
bool CanEquip (Item item, bool allowWearing)
 

Properties

override Identifier Identifier = "contain item".ToIdentifier() [get, set]
 
override bool AllowWhileHandcuffed [get]
 
Item ItemToContain [get]
 
bool AllowToFindDivingGear = true [get, set]
 
bool AllowDangerousPressure [get, set]
 
float ConditionLevel = 1 [get, set]
 
bool Equip [get, set]
 
bool RemoveEmpty = true [get, set]
 
bool RemoveExisting [get, set]
 
bool RemoveExistingWhenNecessary [get, set]
 Only remove existing items when the contain target can't be put in the inventory More...
 
Func< Item, bool > RemoveExistingPredicate [get, set]
 
int? RemoveMax [get, set]
 
bool MoveWholeStack [get, set]
 
int ItemCount [get, set]
 
- Properties inherited from Barotrauma.AIObjective
virtual float Devotion [get]
 
abstract Identifier Identifier [get, set]
 
virtual string DebugTag [get]
 
virtual bool ForceRun [get]
 
virtual bool IgnoreUnsafeHulls [get]
 
virtual bool AbandonWhenCannotCompleteSubjectives [get]
 
virtual bool AllowSubObjectiveSorting [get]
 
virtual bool PrioritizeIfSubObjectivesActive [get]
 
virtual bool AllowMultipleInstances [get]
 Can there be multiple objective instaces of the same type? More...
 
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). More...
 
virtual bool KeepDivingGearOn [get]
 
virtual bool KeepDivingGearOnAlsoWhenInactive [get]
 
virtual bool AllowAutomaticItemUnequipping [get]
 There's a separate property for diving suit and mask: KeepDivingGearOn. More...
 
virtual bool AllowOutsideSubmarine [get]
 
virtual bool AllowInFriendlySubs [get]
 
virtual bool AllowInAnySub [get]
 
virtual bool AllowWhileHandcuffed [get]
 
float CumulatedDevotion [get, set]
 
virtual float MaxDevotion [get]
 
float Priority [get, set]
 Final priority value after all calculations. More...
 
float BasePriority [get, set]
 
float PriorityModifier = 1 [get]
 
bool ForceHighestPriority [get, set]
 
bool ForceWalk [get, set]
 
bool IgnoreAtOutpost [get, set]
 
bool Abandon [get, set]
 
virtual bool CanBeCompleted [get]
 
virtual bool IsLoop [get, set]
 When true, the objective is never completed, unless CanBeCompleted returns false. More...
 
IEnumerable< AIObjectiveSubObjectives [get]
 
AIObjective CurrentSubObjective [get]
 
HumanAIController HumanAIController [get]
 
IndoorsSteeringManager PathSteering [get]
 
SteeringManager SteeringManager [get]
 
bool IsAllowed [get]
 
bool IsCompleted [get, protected set]
 
static Color ObjectiveIconColor [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from Barotrauma.AIObjective
static Sprite GetSprite (Identifier identifier, Identifier option, Entity targetEntity)
 
- Static Protected Member Functions inherited from Barotrauma.AIObjective
static bool CanEquip (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. More...
 
Action Abandoned
 A single shot event. Automatically cleared after launching. Use OnAbandoned method for implementing (internal) persistent behavior. More...
 
Action Selected
 A single shot event. Automatically cleared after launching. Use OnSelected method for implementing (internal) persistent behavior. More...
 
Action Deselected
 A single shot event. Automatically cleared after launching. Use OnDeselected method for implementing (internal) persistent behavior. More...
 

Detailed Description

Definition at line 11 of file AIObjectiveContainItem.cs.

Constructor & Destructor Documentation

◆ AIObjectiveContainItem() [1/3]

Barotrauma.AIObjectiveContainItem.AIObjectiveContainItem ( Character  character,
Item  item,
ItemContainer  container,
AIObjectiveManager  objectiveManager,
float  priorityModifier = 1 
)

Definition at line 62 of file AIObjectiveContainItem.cs.

◆ AIObjectiveContainItem() [2/3]

Barotrauma.AIObjectiveContainItem.AIObjectiveContainItem ( Character  character,
Identifier  itemIdentifier,
ItemContainer  container,
AIObjectiveManager  objectiveManager,
float  priorityModifier = 1,
bool  spawnItemIfNotFound = false 
)

Definition at line 69 of file AIObjectiveContainItem.cs.

◆ AIObjectiveContainItem() [3/3]

Barotrauma.AIObjectiveContainItem.AIObjectiveContainItem ( Character  character,
ImmutableHashSet< Identifier itemIdentifiers,
ItemContainer  container,
AIObjectiveManager  objectiveManager,
float  priorityModifier = 1,
bool  spawnItemIfNotFound = false 
)

Definition at line 72 of file AIObjectiveContainItem.cs.

Member Function Documentation

◆ Act()

override void Barotrauma.AIObjectiveContainItem.Act ( float  deltaTime)
protectedvirtual

Implements Barotrauma.AIObjective.

Definition at line 116 of file AIObjectiveContainItem.cs.

◆ CheckObjectiveSpecific()

override bool Barotrauma.AIObjectiveContainItem.CheckObjectiveSpecific ( )
protectedvirtual

Implements Barotrauma.AIObjective.

Definition at line 80 of file AIObjectiveContainItem.cs.

◆ IsInTargetSlot()

bool Barotrauma.AIObjectiveContainItem.IsInTargetSlot ( Item  item)

Definition at line 251 of file AIObjectiveContainItem.cs.

◆ Reset()

override void Barotrauma.AIObjectiveContainItem.Reset ( )
virtual

Reimplemented from Barotrauma.AIObjective.

Definition at line 261 of file AIObjectiveContainItem.cs.

Member Data Documentation

◆ checkInventory

bool Barotrauma.AIObjectiveContainItem.checkInventory = true

Definition at line 19 of file AIObjectiveContainItem.cs.

◆ container

readonly ItemContainer Barotrauma.AIObjectiveContainItem.container

Definition at line 26 of file AIObjectiveContainItem.cs.

◆ GetItemPriority

Func<Item, float> Barotrauma.AIObjectiveContainItem.GetItemPriority

Definition at line 16 of file AIObjectiveContainItem.cs.

◆ ignoredContainerIdentifiers

ImmutableHashSet<Identifier> Barotrauma.AIObjectiveContainItem.ignoredContainerIdentifiers

Definition at line 18 of file AIObjectiveContainItem.cs.

◆ itemIdentifiers

readonly ImmutableHashSet<Identifier> Barotrauma.AIObjectiveContainItem.itemIdentifiers

Definition at line 25 of file AIObjectiveContainItem.cs.

◆ TargetSlot

int? Barotrauma.AIObjectiveContainItem.TargetSlot

Definition at line 30 of file AIObjectiveContainItem.cs.

Property Documentation

◆ AllowDangerousPressure

bool Barotrauma.AIObjectiveContainItem.AllowDangerousPressure
getset

Definition at line 38 of file AIObjectiveContainItem.cs.

◆ AllowToFindDivingGear

bool Barotrauma.AIObjectiveContainItem.AllowToFindDivingGear = true
getset

Definition at line 37 of file AIObjectiveContainItem.cs.

◆ AllowWhileHandcuffed

override bool Barotrauma.AIObjectiveContainItem.AllowWhileHandcuffed
get

Definition at line 14 of file AIObjectiveContainItem.cs.

◆ ConditionLevel

float Barotrauma.AIObjectiveContainItem.ConditionLevel = 1
getset

Definition at line 39 of file AIObjectiveContainItem.cs.

◆ Equip

bool Barotrauma.AIObjectiveContainItem.Equip
getset

Definition at line 40 of file AIObjectiveContainItem.cs.

◆ Identifier

override Identifier Barotrauma.AIObjectiveContainItem.Identifier = "contain item".ToIdentifier()
getset

Definition at line 13 of file AIObjectiveContainItem.cs.

◆ ItemCount

int Barotrauma.AIObjectiveContainItem.ItemCount
getset

Definition at line 53 of file AIObjectiveContainItem.cs.

◆ ItemToContain

Item Barotrauma.AIObjectiveContainItem.ItemToContain
get

Definition at line 28 of file AIObjectiveContainItem.cs.

◆ MoveWholeStack

bool Barotrauma.AIObjectiveContainItem.MoveWholeStack
getset

Definition at line 50 of file AIObjectiveContainItem.cs.

◆ RemoveEmpty

bool Barotrauma.AIObjectiveContainItem.RemoveEmpty = true
getset

Definition at line 41 of file AIObjectiveContainItem.cs.

◆ RemoveExisting

bool Barotrauma.AIObjectiveContainItem.RemoveExisting
getset

Definition at line 42 of file AIObjectiveContainItem.cs.

◆ RemoveExistingPredicate

Func<Item, bool> Barotrauma.AIObjectiveContainItem.RemoveExistingPredicate
getset

Definition at line 47 of file AIObjectiveContainItem.cs.

◆ RemoveExistingWhenNecessary

bool Barotrauma.AIObjectiveContainItem.RemoveExistingWhenNecessary
getset

Only remove existing items when the contain target can't be put in the inventory

Definition at line 46 of file AIObjectiveContainItem.cs.

◆ RemoveMax

int? Barotrauma.AIObjectiveContainItem.RemoveMax
getset

Definition at line 48 of file AIObjectiveContainItem.cs.