Private Member Functions | |
proto native bool | IsValid () |
verify current set inventory location | |
proto native int | GetType () |
returns type of InventoryLocation | |
proto native EntityAI | GetParent () |
returns parent of current inventory location | |
proto native EntityAI | GetItem () |
returns item of current inventory location | |
proto native int | GetSlot () |
returns slot id if current type is Attachment | |
proto native int | GetIdx () |
returns index of cargo if current type is Cargo / ProxyCargo | |
proto native int | GetRow () |
returns row of cargo if current type is Cargo / ProxyCargo | |
proto native int | GetCol () |
returns column of cargo if current type is Cargo / ProxyCargo | |
proto native bool | GetFlip () |
returns flip status of cargo | |
proto native vector | GetPos () |
returns position of item in world if type is Ground | |
proto native void | GetDir (out float dir[4]) |
returns direction of item in world if type is Ground | |
proto native void | SetGround (EntityAI e, vector mat[4]) |
sets current inventory location type to Ground with transformation mat | |
proto native void | SetGroundEx (EntityAI e, vector pos, float dir[4]) |
sets current inventory location type to Ground with transformation mat | |
proto native void | SetAttachment (notnull EntityAI parent, EntityAI e, int slotId) |
sets current inventory location type to Attachment with slot id set to <slotId> | |
proto native void | SetCargoAuto (notnull CargoBase cargo, EntityAI e, int row, int col, bool flip) |
based on Cargo.IsProxyCargo uses SetProxyCargo or SetCargo respectively | |
proto native void | SetCargo (notnull EntityAI parent, EntityAI e, int idx, int row, int col, bool flip) |
sets current inventory location type to Cargo with coordinates (idx, row, col) | |
proto native void | SetProxyCargo (notnull EntityAI parent, EntityAI e, int idx, int row, int col, bool flip) |
sets current inventory location type to ProxyCargo with coordinates (idx, row, col) @NOTE: typical usage is in building-like dummy structures, where furniture with cargo is part of the model, and is not a physical entity (like person or bag). | |
proto native void | SetHands (notnull EntityAI parent, EntityAI e) |
sets current inventory location type to Hands | |
proto native void | SetVehicle (notnull EntityAI parent, EntityAI e, int idx) |
proto native void | SetParent (notnull EntityAI parent) |
proto native void | SetItem (notnull EntityAI item) |
proto native void | SetSlot (int slotId) |
proto native void | SetIndex (int idx) |
proto native void | SetRow (int row) |
proto native void | SetCol (int col) |
proto native void | SetFlip (bool flip) |
proto native void | Reset () |
proto native bool | CompareLocationOnly (notnull InventoryLocation other) |
proto native bool | CollidesWith (notnull InventoryLocation rhs) |
checks if inventory locations collides each with other | |
proto native InventoryLocation | Copy (notnull InventoryLocation rhs) |
copies location data to another location | |
proto native InventoryLocation | CopyLocationFrom (notnull InventoryLocation rhs, bool copyFlip) |
copies location to another location without m_item member | |
string | DumpToString () |
bool | ReadFromContext (ParamsReadContext ctx) |
bool | WriteToContext (ParamsWriteContext ctx) |
Static Private Member Functions | |
static string | DumpToStringNullSafe (InventoryLocation loc) |
|
private |
checks if inventory locations collides each with other
|
private |
|
private |
copies location data to another location
@NOTE it copies all data (except enforce internal data)
Referenced by InventoryItem::EEItemLocationChanged(), HumanInventory::OnEntityInHandsCreated(), HumanInventory::OnEntityInHandsDestroyed(), SlotToAnimType(), TransferInventory(), and ValidateHandEvent().
|
private |
copies location to another location without m_item member
@NOTE it does NOT do a copy of m_item member!
Referenced by ManBase::OnQuickBarSingleUse(), and ReplaceItemWithNewLambdaBase::PrepareLocations().
|
inlineprivate |
References GetCol(), GetDir(), GetFlip(), GetIdx(), GetItem(), GetParent(), GetPos(), GetRow(), GetSlot(), and GetType().
Referenced by DumpToStringNullSafe(), and CraftingManager::OnUpdate().
|
inlinestaticprivate |
References DumpToString().
Referenced by CGame::AddInventoryJunctureEx(), GameInventory::AddInventoryReservationEx(), HandEventBase::CheckRequestSrc(), GameInventory::ClearInventoryReservationEx(), ManBase::CreateCopyOfItemInInventory(), DumpToString(), HandEventBase::DumpToString(), ReplaceItemWithNewLambdaBase::Execute(), GameInventory::ExtendInventoryReservationEx(), HumanInventory::ForceSwapEntities(), ForceSwapEntities(), HandGuardBase::GuardCondition(), HandleForceSwapEntities(), HandleSwapEntities(), HandleTakeToDst(), HumanInventory::OnEntityInHandsCreated(), HumanInventory::OnEntityInHandsDestroyed(), WeaponStateBase::OnEntry(), ActionDigInStash::OnFinishProgressServer(), ManBase::OnQuickBarSingleUse(), GameInventory::OnServerInventoryCommandStatic(), ReplaceItemWithNewLambdaBase::RemoveOldItemFromLocation(), SelectAnimationOfForceSwapInHands(), InventoryInputUserData::SendInputUserDataMove(), InventoryInputUserData::SendInputUserDataSwap(), SendServerHandEventViaJuncture(), InventoryInputUserData::SendServerMove(), InventoryInputUserData::SendServerSwap(), ActionBase::SetupAction(), HumanInventory::SwapEntities(), HumanInventory::TakeToDst(), TakeToDst(), EntityAI::TakeToDstImpl(), TryAcquireInventoryJunctureFromServer(), TryAcquireTwoInventoryJuncturesFromServer(), ReplaceItemWithNewLambdaBase::UndoRemoveOldItemFromLocation(), ValidateDestroy(), ValidateSwap(), and ValidateSyncMove().
|
private |
returns column of cargo if current type is Cargo / ProxyCargo
Referenced by Container::AddedToCargoEx(), GameInventory::CreateInInventory(), DumpToString(), Container::MovedInCargo(), InventoryItem::OnRightClick(), Container::SetLock(), and WriteToContext().
|
private |
returns direction of item in world if type is Ground
Referenced by DropNonUsableMaterialsServer(), DumpToString(), ReplaceItemWithNewLambdaBase::PrepareLocations(), and WriteToContext().
|
private |
returns flip status of cargo
Referenced by GameInventory::CreateInInventory(), ClosableContainer::DropReceived(), HandsContainer::DropReceived(), ClosableContainer::DropReceived(), DumpToString(), InventoryItem::OnRightClick(), Container::SetLock(), and WriteToContext().
|
private |
returns index of cargo if current type is Cargo / ProxyCargo
Referenced by GameInventory::CreateInInventory(), DumpToString(), IsItemInCargoOfSomething(), InventoryItem::OnRightClick(), PumpkinHelmet::UpdateGlowState(), and WriteToContext().
|
private |
returns item of current inventory location
Item can be null if and only if this is a query for location of item that is about to be created (new spawn).
Referenced by HandEventSwap::CanPerformEvent(), HandEventBase::CheckAndExecuteForceStandUp(), CheckForRope(), ActionBase::ClearActionJuncture(), ClearInventoryReservation(), ClearInventoryReservation(), ActionBase::ClearInventoryReservationEx(), HumanInventory::ClearUserReservedLocationAtIndexSynced(), DumpToString(), InventoryItem::EEItemLocationChanged(), GetSrcEntity(), HandGuardBase::GuardCondition(), HandleHandEvent(), HandleSwapEntities(), WeaponManager::InventoryReservation(), GameInventory::LocalDestroyEntity(), ActionTakeArrow::OnExecute(), ActionTakeArrowToHands::OnExecute(), WeaponManager::OnInputUserDataProcess(), OnInventoryJunctureFailureFromServer(), GameInventory::OnServerInventoryCommandStatic(), WeaponManager::OnWeaponActionEnd(), ActionBase::RefreshActionJuncture(), ActionBase::RefreshReservations(), ReserveInventory(), ReserveInventory(), SendServerHandEventViaJuncture(), SlotToAnimType(), StaticConstructionMethods::SpawnConstructionMaterialPiles(), WeaponManager::StartPendingAction(), HumanInventory::Update(), ValidateDestroy(), ValidateSwap(), ValidateSyncMove(), and WriteToContext().
|
private |
returns parent of current inventory location
Parent entity can be null if item is on ground.
Referenced by ApplyDrynessToItemEx(), ApplyWetnessToItem(), CanAddAsShortcut(), WeaponManager::CanAttachMagazine(), RecipeBase::CanDo(), LayoutHolder::CanEquipEx(), Car::CanReceiveAttachment(), CanSwapEntities(), WeaponManager::CanSwapMagazine(), GameInventory::CreateInInventory(), ReplaceItemWithNewLambdaBase::CreateNewEntity(), Icon::DoubleClick(), Icon::DraggingOverSwap(), Icon::DropReceivedFromMain(), DumpToString(), InventoryItem::EEDelete(), GameInventory::EEInit(), InventoryItem::EEItemLocationChanged(), ItemBase::EEKilled(), HandGuardBase::GuardCondition(), Weapon::IsRemoteWeapon(), PlayerContainer::OnDropReceivedFromGhostArea(), InventoryItem::OnRightClick(), ReplaceItemWithNewLambdaBase::PrepareLocations(), HumanInventory::RedirectToHandEvent(), PlayerContainer::Select(), ZombieContainer::Select(), SendServerHandEventViaJuncture(), SlotToAnimType(), PluginBase::SpawnEntityInPlayerInventory(), SplitItemUtils::TakeOrSplitToInventory(), UpdateConsoleToolbar(), WriteToContext(), and InventoryItem::~ItemBase().
|
private |
returns position of item in world if type is Ground
Referenced by ReplaceItemWithNewLambdaBase::CreateNewEntity(), DumpToString(), WeaponStateBase::OnAbort(), WeaponStateBase::OnExit(), ReplaceItemWithNewLambdaBase::PrepareLocations(), ManBase::SpawnEntityOnGroundPos(), and WriteToContext().
|
private |
returns row of cargo if current type is Cargo / ProxyCargo
Referenced by Container::AddedToCargoEx(), GameInventory::CreateInInventory(), DumpToString(), Container::MovedInCargo(), InventoryItem::OnRightClick(), Container::SetLock(), and WriteToContext().
|
private |
returns slot id if current type is Attachment
@NOTE: slot id is related to order of entries in DZ/data/config.cpp secton CfgSlots
Referenced by ActionLockAttachment::ActionCondition(), ActionRefuelTorch::ActionCondition(), ActionRepairCarPart::ActionCondition(), ActionAttachToConstruction::ActionCondition(), AttachmentCategoriesRow::CanCombine(), InventoryItemSuper::CanDetachAttachment(), LayoutHolder::CanEquipEx(), GameInventory::CanForceSwapEntitiesEx(), Entity::CanReleaseAttachment(), Car::CanReleaseAttachment(), GameInventory::CanSwapEntitiesEx(), ManBase::CheckAndExecuteStackSplitToInventoryLocation(), Entity::CheckAttachmentReceiveExclusion(), Entity::ClearExclusionValueRecursive(), AttachmentCategoriesRow::Combine(), GameInventory::CreateInInventory(), ReplaceItemWithNewLambdaBase::CreateNewEntity(), DestroyMaterialsServer(), ZombieContainer::DoubleClick(), DropNonUsableMaterialsServer(), DumpToString(), InventoryItem::EEDelete(), InventoryItem::EEItemLocationChanged(), ItemManager::GetCombinationFlags(), GameInventory::GetCurrentAttachmentSlotInfo(), InventoryItem::GetQuantityMax(), ItemBase::GetSlotLockedState(), ItemBase::IsAttachmentSlotLocked(), Entity::IsExclusionFlagPresentRecursive(), Entity::IsLockedInSlot(), Entity::IsSlotReserved(), ItemBase::LockAttachmentSlot(), LockServer(), InventoryItem::LockToParent(), Icon::MouseClick(), Container::MoveContainerDown(), Container::MoveContainerUp(), AttachmentCategoriesRow::OnDropReceivedFromHeader(), BotStateBase::OnEntry(), WeaponStateBase::OnEntry(), ActionTakeArrow::OnExecute(), ActionTakeHybridAttachment::OnExecute(), ActionTakeItem::OnExecute(), ActionRemoveSeed::OnExecuteClient(), ActionAttachPowerSourceToPanel::OnExecuteImpl(), OnFinishProgressServer(), BotStateBase::OnUpdate(), Entity::PropagateExclusionValueRecursive(), HumanInventory::RedirectToHandEvent(), Attachments::Select(), AttachmentCategoriesRow::Select(), SetLockOnAttachedMaterials(), SetupAction(), SlotToAnimType(), StaticConstructionMethods::SpawnConstructionMaterialPiles(), PluginBase::SpawnEntityInPlayerInventory(), HumanInventory::SwappingToPreviousLocation(), ClosableContainer::TakeAsAttachment(), EntityAI::TakeEntityToTargetAttachmentImpl(), TakeMaterialsServer(), SplitItemUtils::TakeOrSplitToInventory(), PlayerContainer::ToggleContainer(), InventoryItem::UnlockFromParent(), UnlockServer(), ItemBase::UpdateAttachmentSlot(), UpdateConsoleToolbar(), PumpkinHelmet::UpdateGlowState(), EntityLightSource::UpdateMode(), WriteToContext(), and InventoryItem::~ItemBase().
|
private |
returns type of InventoryLocation
Referenced by ActionTurnOffWhileOnGround::ActionCondition(), ActionTurnOnWhileOnGround::ActionCondition(), Entity::AreChildrenAccessible(), ItemBase::CanLoadAttachment(), HandEventBase::CanPerformEvent(), CarWheel_Ruined::CanPutAsAttachment(), ImprovisedExplosive::CanReceiveAttachment(), Plastic_Explosive::CanReceiveAttachment(), ItemBase::CanReceiveAttachment(), Entity::CheckAttachmentReceiveExclusion(), GameInventory::CreateInInventory(), ReplaceItemWithNewLambdaBase::CreateNewEntity(), ItemBase::CreateRope(), Icon::DoubleClick(), DraggingOverCenterPanel(), HumanInventory::DropEntity(), DumpToString(), InventoryItem::EEDelete(), GameInventory::EEInit(), InventoryItem::EEItemLocationChanged(), ItemBase::EEKilled(), HumanInventory::ForceSwapEntities(), GameInventory::GetCurrentAttachmentSlotInfo(), InventoryItem::GetDebugActions(), ActionTargetsCursor::GetTarget(), Entity::GetViewIndex(), ItemBase::GetViewIndex(), HandGuardBase::GuardCondition(), GameInventory::IsAttachment(), GameInventory::IsCargoInHiearchy(), GameInventory::IsInCargo(), ItemBase::IsPlaceable(), Weapon::IsRemoteWeapon(), ManBase::IsSwapBetweenHandsAndGroundLargeItem(), HumanInventory::LocalDestroyEntity(), GameInventory::LocalDestroyEntity(), OnCenterPanelDropReceived(), VicinityContainer::OnDropReceivedFromIcon(), OnEndClient(), WeaponStateBase::OnEntry(), OnItemLocationChanged(), ActionDeployBase::OnUpdate(), BotStateBase::OnUpdate(), ManBase::PredictiveForceSwapEntities(), ReplaceItemWithNewLambdaBase::PrepareLocations(), HumanInventory::RedirectToHandEvent(), HumanInventory::ReplaceItemInElsewhereWithNewinHandsImpl(), HumanInventory::ReplaceItemInHandsWithNewImpl(), ItemManager::ShowSourceDropzone(), SlotToAnimType(), InventoryItem::SplitItem(), HumanInventory::SwapEntities(), HumanInventory::SwappingToPreviousLocation(), HumanInventory::TakeEntityAsAttachmentEx(), HumanInventory::TakeEntityToCargoEx(), SplitItemUtils::TakeOrSplitToInventory(), HumanInventory::ThrowEntity(), UpdateConsoleToolbar(), ManBase::UpdateDelete(), EntityLightSource::UpdateMode(), Edible_Base::UpdateVaporParticle(), WriteToContext(), and InventoryItem::~ItemBase().
|
private |
verify current set inventory location
Referenced by Entity::AreChildrenAccessible(), ItemBase::CanLoadAttachment(), InventoryItem::CanReceiveAttachment(), ItemBase::CanReceiveAttachment(), Entity::CanReleaseAttachment(), Icon::DoubleClick(), VicinitySlotsContainer::DoubleClick(), DraggingOverCenterPanel(), ClosableContainer::DraggingOverGrid(), ClosableContainer::DropReceived(), HandsContainer::DropReceived(), ClosableContainer::DropReceived(), ItemBase::EEKilled(), ItemManager::GetCombinationFlags(), HandGuardBase::GuardCondition(), GameInventory::IsCargoInHiearchy(), Container::MoveContainerDown(), Container::MoveContainerUp(), WeaponStateBase::OnAbort(), OnCenterPanelDropReceived(), PlayerContainer::OnDropReceivedFromGhostArea(), HandStartAction::OnEntry(), WeaponStateBase::OnExit(), WeaponManager::OnInputUserDataProcess(), GameInventory::OnServerInventoryCommandStatic(), ReplaceWithNewReciveCargoLambda::OnSuccess(), SendServerHandEventViaJuncture(), InventoryItem::SplitItem(), VicinitySlotsContainer::TransferItem(), and ValidateSwap().
|
inlineprivate |
References ErrorEx, Debug::Log(), Serializer::Read(), SetAttachment(), SetCargo(), SetGroundEx(), SetHands(), SetProxyCargo(), and SetVehicle().
Referenced by ManBase::HandleRemoteItemManipulation(), WeaponManager::OnInputUserDataProcess(), OnInventoryJunctureFailureFromServer(), GameInventory::OnServerInventoryCommandStatic(), HandEventBase::ReadFromContext(), HandEventRemove::ReadFromContext(), WeaponEventBase::ReadFromContext(), FirearmActionAttachMagazine::ReadFromContext(), FirearmActionAttachMagazineQuick::ReadFromContext(), FirearmActionDetachMagazine_Old::ReadFromContext(), FirearmActionDetachMagazine::ReadFromContext(), ValidateDestroy(), ValidateSwap(), and ValidateSyncMove().
|
private |
Referenced by InventoryItem::EEItemLocationChanged().
sets current inventory location type to Attachment with slot id set to <slotId>
[in] | parent | parent entity the item <e> will be attached to |
[in] | e | entity with this inventory location (null for new spawns) |
[in] | slotId | slot id where the item will be attached |
Referenced by CoverHeadOfTargetPlayerLambda::CoverHeadOfTargetPlayerLambda(), ReplaceItemWithNewLambdaBase::CreateNewEntity(), FoldBandanaToSlotLambda::FoldBandanaToSlotLambda(), FirearmActionAttachMagazine::InventoryReservation(), FirearmActionAttachMagazineQuick::InventoryReservation(), WeaponManager::InventoryReservation(), WeaponStateBase::OnEntry(), ActionAttachWithSwitch::OnExecuteClient(), ActionAttachWithSwitch::OnExecuteServer(), WeaponManager::OnInputUserDataProcess(), OnUpdate(), ReadFromContext(), HumanInventory::TakeEntityAsAttachmentEx(), and GameInventory::TakeEntityAsTargetAttachmentEx().
sets current inventory location type to Cargo with coordinates (idx, row, col)
[in] | parent | parent entity that will receive item <e> into cargo |
[in] | e | entity with this inventory location (null for new spawns) |
[in] | idx | index of cargo |
[in] | row | row of the cargo |
[in] | col | column of the cargo |
Referenced by InventoryItem::OnRightClick(), ReplaceWithNewReciveCargoLambda::OnSuccess(), ReadFromContext(), HumanInventory::TakeEntityToCargoEx(), and GameInventory::TakeEntityToCargoEx().
based on Cargo.IsProxyCargo uses SetProxyCargo or SetCargo respectively
[in] | cargo | cargo that will receive item <e> into cargo |
[in] | e | entity with this inventory location (null for new spawns) |
[in] | row | row of the cargo |
[in] | col | column of the cargo |
Referenced by Icon::DraggingOver(), ClosableContainer::DraggingOverGrid(), ClosableContainer::DropReceived(), HandsContainer::DropReceived(), AttachmentCategoriesRow::DropReceived(), ClosableContainer::DropReceived(), Icon::DropReceivedFromMain(), ManBase::PredictiveTakeEntityToTargetCargoEx(), and GameInventory::TakeEntityToTargetCargoEx().
|
private |
|
private |
sets current inventory location type to Ground with transformation mat
[in] | e | entity with this inventory location (null for new spawns) |
[in] | mat | transformation matrix |
Referenced by ChainedDropAndKillPlayerLambda(), DropEquipAndDestroyRootLambda::CopyOldPropertiesToNew(), DestroyItemInCorpsesHandsAndCreateNewOnGndLambda::DestroyItemInCorpsesHandsAndCreateNewOnGndLambda(), DropNonUsableMaterialsServer(), FireplaceToIndoorOvenLambda(), FireplaceToIndoorsLambda(), HandleDropMagazine(), ManBase::PredictiveDropEntity(), ReplaceItemWithNewLambdaBase::PrepareLocations(), Entity::SpawnEntityOnGround(), Entity::SpawnEntityOnGroundPos(), ManBase::SpawnEntityOnGroundPos(), and ActionUncoverHeadBase::UncoverHead().
sets current inventory location type to Ground with transformation mat
[in] | e | entity with this inventory location (null for new spawns) |
[in] | pos | position vector |
[in] | dir | direction quat |
Referenced by ActionRepackTentCB::DropDuringRepacking(), DropNonUsableMaterialsServer(), ActionDeployBase::MoveEntityToFinalPosition(), ItemBase::OnPlacementComplete(), ReplaceItemWithNewLambdaBase::PrepareLocations(), ReadFromContext(), and ThrowEntityFromInventory().
sets current inventory location type to Hands
[in] | parent | parent entity the item <e> will be attached to. this'd better be inherited from Person |
[in] | e | entity with this inventory location (null for new spawns) |
Referenced by ActionManagerClient::ActionManagerClient(), DayZPlayer::CommandHandlerDebug(), EmoteManager(), HandEventBase::GetDst(), HandEvent(), ActionManagerClient::HasHandInventoryReservation(), ActionBase::InventoryReservation(), ActionTakeArrowToHands::InventoryReservation(), FirearmActionAttachMagazine::InventoryReservation(), FirearmActionAttachMagazineQuick::InventoryReservation(), ActionTakeItemToHands::OnExecute(), ActionRemoveSeed::OnExecuteClient(), ManBase::OnQuickBarSingleUse(), WeaponManager::OnWeaponActionEnd(), ReadFromContext(), RepackLambda::RepackLambda(), RestrainTargetPlayerLambda(), SetEmoteLockState(), EntityAI::TakeEntityToHandsImpl(), and UngagSelfLambda::UngagSelfLambda().
|
private |
|
private |
brief sets current inventory location's item
Referenced by WeaponStateBase::OnEntry().
|
private |
brief sets current inventory location's GetParent
Referenced by TransferInventory().
sets current inventory location type to ProxyCargo with coordinates (idx, row, col) @NOTE: typical usage is in building-like dummy structures, where furniture with cargo is part of the model, and is not a physical entity (like person or bag).
[in] | parent | parent entity that will receive item <e> into proxy cargo |
[in] | e | entity with this inventory location (null for new spawns) |
[in] | idx | index of cargo |
[in] | row | row of the cargo |
[in] | col | column of the cargo |
Referenced by ReadFromContext().
|
private |
|
private |
brief sets current inventory location's GetParent
[in] | idx | index of seat |
Referenced by ActionGetInTransport::AddActionJuncture(), ActionAnimateSeats::AddActionJuncture(), ActionSwitchSeats::AddActionJuncture(), and ReadFromContext().
|
inlineprivate |
References Error(), GetCol(), GetDir(), GetFlip(), GetIdx(), GetItem(), GetParent(), GetPos(), GetRow(), GetSlot(), GetType(), and Serializer::Write().
Referenced by InventoryItem::OnRightClick(), OptionalLocationWriteToContext(), WeaponManager::Synchronize(), and WeaponEventBase::WriteToContext().