I don't need to test my programs. I have an error-correcting modem.

UE3:InventoryManager (UT3)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT3 Object >> Actor >> InventoryManager
Package: 
Engine
Direct subclass:
UTInventoryManager
This class in other games:
UDK

InventoryManager Base class to manage Pawn's inventory This provides a simple interface to control and interact with the Pawn's inventory, such as weapons, items and ammunition. Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.

Properties[edit]

bMustHoldWeapon[edit]

Type: bool

if true, don't allow player to put down weapon without switching to another one

InventoryChain[edit]

Type: Inventory

First inventory item in inventory linked list

LastAttemptedSwitchToWeapon[edit]

Type: Weapon


PendingFire[edit]

Type: array<int>

Holds the current "Fire" status for both firing modes

PendingWeapon[edit]

Type: Weapon

Player will switch to PendingWeapon, once the current weapon has been put down.

Fixme: laurent -- PendingWeapon should be made protected, because too many bugs result by setting this variable directly. It's only safe to read it, but to change it, SetCurrentWeapon() should be used.

Default values[edit]

Property Value
bHidden True
bOnlyDirtyReplication True
bOnlyRelevantToOwner True
bReplicateInstigator True
bReplicateMovement False
CollisionType COLLIDE_CustomDefault
NetPriority 1.4
RemoteRole ROLE_SimulatedProxy
TickGroup TG_DuringAsyncWork

Functions[edit]

Iterator functions[edit]

InventoryActors[edit]

native final iterator function InventoryActors (class<InventoryBaseClass, out Inventory Inv)

returns all Inventory Actors of class BaseClass

Parameters:

  • BaseClass - Inventory actors returned are of, or childs of, this base class.

Output: Inv Inventory actors returned.

Note: this iterator bails if it encounters more than 100 items, since temporary loops in linked list may sometimes be created on network clients while link pointers are being replicated. For performance reasons you shouldn't have that many inventory items anyway.

Exec functions[edit]

DumpWeaponStats[edit]

exec simulated function DumpWeaponStats ()

Dump debug stats in log of all weapons in inventory.

Events[edit]

Destroyed[edit]

event Destroyed ()

Overrides: Actor.Destroyed

Event called when inventory manager is destroyed, called from Pawn.Destroyed()

DiscardInventory[edit]

simulated event DiscardInventory ()

Discard full inventory, generally because the owner died

FindInventoryType[edit]

simulated event Inventory FindInventoryType (class<InventoryDesiredClass, optional bool bAllowSubclass)

returns the inventory item of the requested class if it exists in this inventory manager.

Parameters:

  • DesiredClass - class of inventory item we're trying to find.
  • bAllowSubclass - whether subclasses of the desired class are acceptable

Returns:

Inventory actor if found, None otherwise.

PostBeginPlay[edit]

event PostBeginPlay ()

Overrides: Actor.PostBeginPlay


Other instance functions[edit]

AddInventory[edit]

simulated function bool AddInventory (Inventory NewItem, optional bool bDoNotActivate)

Adds an existing inventory item to the list. Returns true to indicate it was added, false if it was already in the list.

Parameters:

  • NewItem - Item to add to inventory manager.

Returns:

true if item was added, false otherwise.

CancelWeaponChange[edit]

simulated function bool CancelWeaponChange ()

Prevents player from being without a weapon.

ChangedWeapon[edit]

simulated function ChangedWeapon ()

ChangedWeapon is called when the current weapon is finished being deactivated

ClientSyncWeapon[edit]

reliable client function ClientSyncWeapon (Weapon NewWeapon)

If the server detects that the client's weapon is out of sync, it will use this function to realign them. Network: LocalPlayer

Parameters:

  • NewWeapon - The weapon the server wishes to force the client to

ClientWeaponSet[edit]

simulated function ClientWeaponSet (Weapon NewWeapon, bool bOptionalSet)

Weapon just given to a player, check if player should switch to this weapon Network: LocalPlayer Called from Weapon.ClientWeaponSet()

CreateInventory[edit]

simulated function Inventory CreateInventory (class<InventoryNewInventoryItemClass, optional bool bDoNotActivate)

Spawns a new Inventory actor of NewInventoryItemClass type, and adds it to the Inventory Manager.

Parameters:

  • NewInventoryItemClass - Class of inventory item to spawn and add.

Returns:

Inventory actor, None if couldn't be spawned.

DrawHud[edit]

simulated function DrawHud (HUD H)

Hook called from HUD actor. Gives access to HUD and Canvas

Parameters:

  • H - HUD

GetBestWeapon[edit]

simulated function Weapon GetBestWeapon (optional bool bForceADifferentWeapon)

returns the best weapon for this Pawn in loadout

GetWeaponRatingFor[edit]

simulated function float GetWeaponRatingFor (Weapon W)

Returns a weight reflecting the desire to use the given weapon, used for AI and player best weapon selection.

Parameters:

  • Weapon - W

Returns:

Weapon rating (range -1.f to 1.f)

HandlePickupQuery[edit]

function bool HandlePickupQuery (class<InventoryItemClass, Actor Pickup)

Handle Pickup. Can Pawn pickup this item?

Parameters:

  • ItemClass - Class of Inventory our Owner is trying to pick up
  • Pickup - the Actor containing that item (this may be a PickupFactory or it may be a DroppedPickup)

Returns:

whether or not the Pickup actor should give its item to Other

IsActiveWeapon[edit]

simulated function bool IsActiveWeapon (Weapon ThisWeapon)

returns true if ThisWeapon is the Pawn's active weapon.

Parameters:

  • ThisWeapon - weapon to test if it's the Pawn's active weapon.

Returns:

true if ThisWeapon is the Pawn's current weapon

ModifyDamage[edit]

function int ModifyDamage (int Damage, Controller instigatedBy, Object.Vector HitLocation, Object.Vector Momentum, class<DamageTypeDamageType)

Damage modifier. Is Pawn carrying items that can modify taken damage? Called from GameInfo.ReduceDamage()

NextWeapon[edit]

simulated function NextWeapon ()

Switches to Next weapon Network: Client

OwnerEvent[edit]

simulated function OwnerEvent (name EventName)

Used to inform inventory when owner event occurs (for example jumping or weapon change)

Parameters:

  • EventName - Name of event to forward to inventory items.

PrevWeapon[edit]

simulated function PrevWeapon ()

Switches to Previous weapon Network: Client

RemoveFromInventory[edit]

simulated function RemoveFromInventory (Inventory ItemToRemove)

Attempts to remove an item from the inventory list if it exists.

Parameters:

  • Item - Item to remove from inventory

ServerSetCurrentWeapon[edit]

reliable server function ServerSetCurrentWeapon (Weapon DesiredWeapon)

ServerSetCurrentWeapon begins the Putdown sequence on the server. This function makes the assumption that if TryPutDown succeeded on the client, it will succeed on the server. This function shouldn't be called from anywhere except SetCurrentWeapon

Network: Dedicated Server

SetCurrentWeapon[edit]

reliable client function SetCurrentWeapon (Weapon DesiredWeapon)

Set DesiredWeapon as Current (Active) Weapon. Network: LocalPlayer

Parameters:

  • DesiredWeapon - Desired weapon to assign to player

SetPendingWeapon[edit]

simulated function SetPendingWeapon (Weapon DesiredWeapon)

Set the pending weapon for switching. This shouldn't be called outside of SetCurrentWeapon()

SetupFor[edit]

function SetupFor (Pawn P)

Setup Inventory for Pawn P. Override this to change inventory assignment (from a pawn to another) Network: Server only

StartFire[edit]

simulated function StartFire (byte FireModeNum)

Pawn desires to fire. By default it fires the Active Weapon if it exists. Called from PlayerController::StartFire() -> Pawn::StartFire() Network: Local Player

Parameters:

  • FireModeNum - Fire mode number.

StopFire[edit]

simulated function StopFire (byte FireModeNum)

Pawn stops firing. i.e. player releases fire button, this may not stop weapon firing right away. (for example press button once for a burst fire) Network: Local Player

Parameters:

  • FireModeNum - Fire mode number.

SwitchToBestWeapon[edit]

simulated function SwitchToBestWeapon (optional bool bForceADifferentWeapon)

Switch to best weapon available in loadout Network: LocalPlayer