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

◆ PerformActionFromInventory()

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

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

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

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

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