48 ActionData action_data =
new WorldCraftActionData;
60 PluginRecipesManager module_recipes_manager;
62 m_Text = module_recipes_manager.GetRecipeName( player.GetCraftingManager().GetRecipeID(
m_VariantID) );
70 PluginRecipesManager moduleRecipesManager;
72 return moduleRecipesManager.GetRecipeName( player.GetCraftingManager().GetRecipeID(
m_VariantID) );
75 return "Default worldcraft text";
82 if (!target.GetObject() || !item)
93 if (!action_data.m_Target.GetObject() || !action_data.m_MainItem)
96 PluginRecipesManager moduleRecipesManager;
99 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
102 Class.
CastTo(item2, action_data_wc.m_Target.GetObject());
103 if(!moduleRecipesManager.IsRecipePossibleToPerform(action_data_wc.m_RecipeID, action_data.m_MainItem, item2, action_data.m_Player))
114 WorldCraftActionData actionDataWorldCraft = WorldCraftActionData.Cast(action_data);
117 ItemBase item = actionDataWorldCraft.m_MainItem;
119 PluginRecipesManager recipesManager = PluginRecipesManager.Cast(
GetPlugin(PluginRecipesManager));
121 string soundCat = recipesManager.GetSoundCategory(actionDataWorldCraft.m_RecipeID,target, item);
128 if (super.SetupAction(player, target, item, action_data, extra_data ))
130 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
132 if (!
GetGame().IsDedicatedServer())
133 action_data_wc.m_RecipeID = player.GetCraftingManager().GetRecipeID(
m_VariantID);
135 PluginRecipesManager moduleRecipesManager;
138 RecipeAnimationInfo recipeAnimationInfo = moduleRecipesManager.GetRecipeAnimationInfo(action_data_wc.m_RecipeID, player, action_data_wc.m_MainItem,
ItemBase.Cast(action_data_wc.m_Target.GetObject()));
140 action_data_wc.m_AnimationID = recipeAnimationInfo.
m_AnimationUID;
141 action_data_wc.m_ShowItem = recipeAnimationInfo.
m_ItemVisible;
152 super.Start(action_data);
153 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
154 if ( action_data_wc.m_Player && !action_data_wc.m_ShowItem )
155 action_data.m_Player.TryHideItemInHands(
true);
160 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(
false);
162 super.OnEndServer(action_data);
167 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(
false);
172 WorldCraftActionData action_data_wc;
173 PluginRecipesManager module_recipes_manager;
178 Class.
CastTo(item2, action_data.m_Target.GetObject());
180 if (action_data.m_MainItem && item2)
187 module_recipes_manager.PerformRecipeServer(action_data_wc.m_RecipeID, action_data.m_MainItem, item2, action_data.m_Player);
198 super.WriteToContext(ctx, action_data);
200 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
202 ctx.
Write(action_data_wc.m_RecipeID);
207 if (!action_recive_data)
212 super.ReadFromContext(ctx, action_recive_data);
215 if (!ctx.
Read(recipeID))
228 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
230 action_data_wc.m_MainItem = recive_data_wc.m_MainItem;
231 if (!action_recive_data.m_Target)
237 action_data_wc.m_Target = recive_data_wc.m_Target;
239 action_data_wc.m_RecipeID = recive_data_wc.
m_RecipeID;
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
WorldCraftActionReciveData m_RecipeID
PluginBase GetPlugin(typename plugin_type)
void ClearActionJuncture(ActionData action_data)
bool InventoryReservation(ActionData action_data)
ref CCIBase m_ConditionItem
bool AddActionJuncture(ActionData action_data)
void ClearInventoryReservationEx(ActionData action_data)
ref CCTBase m_ConditionTarget
void ActionContinuousBase()
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
override void CreateConditionComponents()
override string GetText()
override void OnFinishProgressServer(ActionData action_data)
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
override void OnEndServer(ActionData action_data)
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
override ActionData CreateActionData()
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
override string GetSoundCategory(ActionData action_data)
override void OnEndClient(ActionData action_data)
override void Start(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override bool ActionConditionContinue(ActionData action_data)
override void CreateActionComponent()
Super root of all classes in Enforce script.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
proto bool Write(void value_out)
proto bool Read(void value_in)
const float DEFAULT_CRAFT
DayZPlayerConstants
defined in C++
Serializer ParamsReadContext
proto native CGame GetGame()
Serializer ParamsWriteContext
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.