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

◆ PerformActionFromInventory()

void ActionManagerClient::PerformActionFromInventory ( ItemBase mainItem,
ItemBase targetItem )
inlineprotected

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

1088 {
1089 ItemBase itemInHand = m_Player.GetItemInHands();
1090 ActionTarget target;
1091 target = new ActionTarget(targetItem, null, -1, vector.Zero, -1);
1092 bool hasTarget = targetItem != NULL;
1093
1094 if (mainItem)
1095 {
1096 ActionBase picked_action;
1097 array<ActionBase_Basic> actions;
1098 int i;
1099
1100 //First check single use actions
1101 mainItem.GetActions(DefaultActionInput, actions);
1102 if (actions)
1103 {
1104 for (i = 0; i < actions.Count(); i++)
1105 {
1106 picked_action = ActionBase.Cast(actions[i]);
1107 if (picked_action && picked_action.Can(m_Player,target, itemInHand) && picked_action.CanBePerformedFromInventory())
1108 {
1109 if (hasTarget == picked_action.HasTarget())
1110 {
1111 ActionStart(picked_action, target, mainItem);
1112 return;
1113 }
1114 }
1115 }
1116 }
1117
1118 //Inventory specific actions
1119 mainItem.GetActions(InventoryOnlyActionInput, actions);
1120 if (actions)
1121 {
1122 for (i = 0; i < actions.Count(); i++)
1123 {
1124 picked_action = ActionBase.Cast(actions[i]);
1125 if (picked_action && picked_action.Can(m_Player,target, itemInHand))
1126 {
1127 if (hasTarget == picked_action.HasTarget())
1128 {
1129 ActionStart(picked_action, target, mainItem);
1130 return;
1131 }
1132 }
1133 }
1134 }
1135 }
1136 }
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
void ActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
Определения ActionManagerClient.c:598

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

Используется в Icon::OnPerformCombination() и Icon::PerformCombination().