ActionFoldObject.c
class ActionFoldObject: ActionInteractBase
{
void ActionFoldObject()
{
m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_MEDIUM;
m_Text = "#fold";
}
override typename GetInputType()
{
return ContinuousInteractActionInput;
}
override bool HasProgress()
{
return false;
}
override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
{
Object targetObject = target.GetObject();
if ( targetObject.IsInherited(HescoBox) )
{
HescoBox hesco = HescoBox.Cast( targetObject );
if ( hesco.GetState() == HescoBox.UNFOLDED )
{
return true;
}
}
return false;
}
override void OnExecuteServer( ActionData action_data )
{
Object targetObject = action_data.m_Target.GetObject();
HescoBox hesco = HescoBox.Cast( targetObject );
if ( hesco.GetState() == HescoBox.UNFOLDED )
{
hesco.Fold();
}
}
};