ActionClose.c
class ActionClose: ActionSingleUseBase
{
void ActionClose()
{
m_Text = "#close";
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINonRuined;
m_ConditionTarget = new CCTNone;
}
override bool HasTarget()
{
return false;
}
override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
{
if ( item && item.IsOpen() )
{
return true;
}
return false;
}
//setup
override bool SetupAction( PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL )
{
if( super.SetupAction( player, target, item, action_data, extra_data ) )
{
SetCloseAnimation( item );
return true;
}
return false;
}
void SetCloseAnimation( ItemBase item )
{
switch( item.Type() )
{
case Compass:
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_CLOSEITEM_ONCE;
break;
case TelescopicBaton:
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_HANDS;
break;
}
}
override void OnExecuteServer( ActionData action_data )
{
action_data.m_MainItem.Close();
}
};