DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ CanPerformActionFromInventory()

bool ActionManagerClient::CanPerformActionFromInventory ( ItemBase mainItem,
ItemBase targetItem )
inlineprotected

См. определение в файле ActionManagerClient.c строка 1040

1041 {
1042 ItemBase itemInHand = m_Player.GetItemInHands();
1043 ActionTarget target;
1044 target = new ActionTarget(targetItem, null, -1, vector.Zero, -1);
1045 bool hasTarget = targetItem != NULL;
1046
1047 if (mainItem)
1048 {
1049 array<ActionBase_Basic> actions;
1050 ActionBase picked_action;
1051 int i;
1052
1053 //First check single use actions
1054 mainItem.GetActions(DefaultActionInput, actions);
1055 if (actions)
1056 {
1057 for (i = 0; i < actions.Count(); i++)
1058 {
1059 picked_action = ActionBase.Cast(actions[i]);
1060 if (picked_action && picked_action.Can(m_Player,target, itemInHand) && picked_action.CanBePerformedFromInventory())
1061 {
1062 if (hasTarget == picked_action.HasTarget())
1063 return true;
1064 }
1065 }
1066 }
1067
1068 //Inventory specific actions
1069 mainItem.GetActions(InventoryOnlyActionInput, actions);
1070 if (actions)
1071 {
1072 for (i = 0; i < actions.Count(); i++)
1073 {
1074 picked_action = ActionBase.Cast(actions[i]);
1075 if (picked_action && picked_action.Can(m_Player,target, itemInHand))
1076 {
1077 if (hasTarget == picked_action.HasTarget())
1078 return true;
1079 }
1080 }
1081 }
1082 }
1083 return false;
1084 }
class ActionTargets ActionTarget
class GP5GasMask extends MaskBase ItemBase
DayZPlayer m_Player
Определения Hand_Events.c:42
bool CanBePerformedFromInventory()
Определения ActionBase.c:308
bool HasTarget()
Определения ActionBase.c:244
bool Can(PlayerBase player, ActionTarget target, ItemBase item, int condition_mask)
Определения ActionBase.c:861

Перекрестные ссылки ActionTarget, ActionBase::Can(), ActionBase::CanBePerformedFromInventory(), ActionBase::HasTarget(), m_Player и vector::Zero.

Используется в Attachments::CanCombineAmmo(), Container::CanCombineAmmo(), VicinitySlotsContainer::CanCombineAmmo(), ItemManager::GetChosenCombinationFlag() и ItemManager::GetCombinationFlags().