class ActionPickBerryCB : ActionInteractLoopBaseCB
{
	override void CreateActionComponent()
	{
		m_ActionData.m_ActionComponent = new CAInteractLoop(UATimeSpent.DEFAULT_PICK);
	}
	/*override void OnAnimationEvent(int pEventID)	
	{
		Print("ActionInteractLoopBase.c | OnAnimationEvent | OnAnimationEvent called");
		if ( !m_Interrupted && pEventID == UA_ANIM_EVENT ) 
		{
			SetCommand(DayZPlayerConstants.CMD_ACTIONINT_END);
			m_State = UA_FINISHED;
			m_ActionData.Do(this,m_State,m_ActionComponent,m_Player,m_Target,m_Item);
		}	
	}*/
};

//!DEPRECATED
class ActionPickBerry: ActionInteractLoopBase
{
	void ActionPickBerry()
	{
		m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
		m_FullBody = true;
		m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
		m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_MEDIUM;
		
		m_CallbackClass = ActionPickBerryCB;
		m_Text = "#harvest";
	}

	override void CreateConditionComponents()  
	{
		m_ConditionTarget = new CCTCursor(UAMaxDistances.DEFAULT);
		m_ConditionItem = new CCINone;
	}

	override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
	{	
		Object targetObject = target.GetObject();
		if ( player && targetObject && targetObject.IsWoodBase() ) 
		{
			return true;
		}
		return false;
	}

	//deprecated
	////override void OnCompleteServer( ActionData action_data )
	//{
		/*Object targetObject = action_data.m_Target.GetObject();
		WoodBase ntarget = WoodBase.Cast( targetObject );
		string drop_name = ntarget.GetMaterial(NULL);
		float drop_quantity = ntarget.GetAmountOfMaterialPerDrop(action_data.m_MainItem);
		
		targetObject.DecreaseHealth( "", "", (1 / Math.Max(1,ntarget.GetAmountOfDrops(action_data.m_MainItem)))*100, true );
				
		ItemBase drop = ItemBase.Cast( GetGame().CreateObject(drop_name, action_data.m_Player.GetPosition(), false) );
		drop.SetQuantity(drop_quantity, false);

		action_data.m_Player.GetSoftSkillManager().AddSpecialty( m_SpecialtyWeight );*/
	//}
};