ActionInstallSparkplug.c
/*
This is a generic user action for attaching sparkplug on any EntityAI object. The receiver must have a "sparkplug" selection in its View Geometry that the action_data.m_Player can look at.
*/
//!DEPRECATED
class ActionInsertSparkplug: ActionSingleUseBase
{
void ActionInsertSparkplug()
{
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINonRuined;
m_ConditionTarget = new CCTNonRuined(UAMaxDistances.DEFAULT);
m_Text = "#attach";
}
override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
{
EntityAI target_EAI = EntityAI.Cast( target.GetObject() );
string selection = target_EAI.GetActionComponentName(target.GetComponentIndex());
if ( selection == "sparkplug" && target_EAI.GetInventory().CanAddAttachment(item) )
{
return true;
}
return false;
}
override void OnExecuteServer( ActionData action_data )
{
EntityAI target_EAI = EntityAI.Cast( action_data.m_Target.GetObject() ); // cast to ItemBase
target_EAI.LocalTakeEntityAsAttachment (action_data.m_MainItem);
}
override void OnExecuteClient( ActionData action_data )
{
EntityAI target_EAI = EntityAI.Cast( action_data.m_Target.GetObject() ); // cast to ItemBase
target_EAI.LocalTakeEntityAsAttachment (action_data.m_MainItem);
}
};