ActionUnfoldEntity.c
class ActionUnfoldEntity : ActionSingleUseBase
{
void ActionUnfoldEntity ()
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_PICKUP_HANDS;
}
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)
return true;
return false;
}
override bool ActionConditionContinue ( ActionData action_data ) { return true; }
override void OnExecuteClient ( ActionData action_data )
{
ClearInventoryReservationEx(action_data);
}
override void OnExecuteServer ( ActionData action_data )
{
if ( !g_Game.IsMultiplayer() )
ClearInventoryReservationEx(action_data);
ItemBase old_item = action_data.m_MainItem;
if (old_item.ConfigIsExisting("ChangeIntoOnDetach"))
{
string str = old_item.ChangeIntoOnDetach();
if (str != "")
{
UnfoldEntityLambda lambda = new UnfoldEntityLambda(action_data.m_MainItem, str, action_data.m_Player);
lambda.SetTransferParams(true, true, true, false, 1);
action_data.m_Player.ServerReplaceItemInHandsWithNew(lambda);
}
}
}
};
class UnfoldEntityLambda : TurnItemIntoItemLambda
{
void UnfoldEntityLambda (EntityAI old_item, string new_item_type, PlayerBase player)
{
}
};