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

◆ CanPerformActionFromQuickbar()

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

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

972 {
973 ItemBase itemInHand = m_Player.GetItemInHands();
974 ActionTarget target;
975 target = new ActionTarget(targetItem, null, -1, vector.Zero, -1);
976 bool hasTarget = targetItem != NULL;
977
978 if (mainItem)
979 {
980 array<ActionBase_Basic> actions;
981 ActionBase picked_action;
982 int i;
983
984 mainItem.GetActions(QuickaBarActionInput, actions);
985 if (actions)
986 {
987 for (i = 0; i < actions.Count(); i++)
988 {
989 picked_action = ActionBase.Cast(actions[i]);
990 if (picked_action && picked_action.Can(m_Player,target, itemInHand))
991 {
992 if (hasTarget == picked_action.HasTarget())
993 return true;
994 }
995 }
996 }
997 //First check continuous actions
998 mainItem.GetActions(ContinuousDefaultActionInput, actions);
999 if (actions)
1000 {
1001 for (i = 0; i < actions.Count(); i++)
1002 {
1003 picked_action = ActionBase.Cast(actions[i]);
1004 if (picked_action && picked_action.Can(m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1005 {
1006 if (hasTarget == picked_action.HasTarget())
1007 return true;
1008 }
1009 }
1010 }
1011 //second single use actions
1012 mainItem.GetActions(DefaultActionInput, actions);
1013 if (actions)
1014 {
1015 for (i = 0; i < actions.Count(); i++)
1016 {
1017 picked_action = ActionBase.Cast(actions[i]);
1018 if (picked_action && picked_action.HasTarget() && picked_action.Can(m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1019 {
1020 if (hasTarget == picked_action.HasTarget())
1021 return true;
1022 }
1023 }
1024 }
1025 }
1026 return false;
1027 }
void ActionBase()
Определения ActionBase.c:82
void ContinuousDefaultActionInput(PlayerBase player)
Определения ActionInput.c:630
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
class GP5GasMask extends MaskBase ItemBase
DayZPlayer m_Player
Определения Hand_Events.c:42

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

Используется в ManBase::OnQuickBarContinuousUseStart().