ActionInteractBase.c
class ActionInteractBaseCB : ActionBaseCB
{
override void CreateActionComponent()
{
m_ActionData.m_ActionComponent = new CAInteract;
}
override void InitActionComponent()
{
#ifdef ENABLE_LOGGING
if ( LogManager.IsActionLogEnable() )
{
Debug.ActionLog("n/a", m_ActionData.m_Action.ToString() , "n/a", "InitActionComponent", m_ActionData.m_Player.ToString() );
}
#endif
m_Interrupted = false;
m_Canceled = false;
CreateActionComponent();
if ( m_ActionData.m_ActionComponent )
{
m_ActionData.m_ActionComponent.Init(m_ActionData);
}
m_ActionData.m_State = UA_PROCESSING;
RegisterAnimationEvent("ActionExec", UA_ANIM_EVENT);
m_SoundObject = m_ActionData.m_Action.PlayActionSound(m_ActionData.m_Player);
}
override void EndActionComponent()
{
SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
m_ActionData.m_State = UA_FINISHED;
}
};
class ActionInteractBase : AnimatedActionBase
{
//deprecated
string m_HUDCursorIcon;
void ActionInteractBase()
{
m_CallbackClass = ActionInteractBaseCB;
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_HANDS;
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINone;
m_ConditionTarget = new CCTObject(UAMaxDistances.DEFAULT);
}
//deprecated
string GetHUDCursorIcon()
{
return "";
}
override typename GetInputType()
{
return InteractActionInput;
}
override int GetActionCategory()
{
return AC_INTERACT;
}
override bool UseMainItem()
{
return false;
}
override bool MainItemAlwaysInHands()
{
return false;
}
};