46 ActionData action_data =
new WorldCraftActionData;
58 PluginRecipesManager module_recipes_manager;
60 m_Text = module_recipes_manager.GetRecipeName( player.GetCraftingManager().GetRecipeID(
m_VariantID) );
68 PluginRecipesManager moduleRecipesManager;
70 return moduleRecipesManager.GetRecipeName( player.GetCraftingManager().GetRecipeID(
m_VariantID) );
73 return "Default worldcraft text";
80 if (!target.GetObject() || !item)
91 if (!action_data.m_Target.GetObject() || !action_data.m_MainItem)
94 PluginRecipesManager moduleRecipesManager;
97 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
100 Class.
CastTo(item2, action_data_wc.m_Target.GetObject());
101 if(!moduleRecipesManager.IsRecipePossibleToPerform(action_data_wc.m_RecipeID, action_data.m_MainItem, item2, action_data.m_Player))
112 WorldCraftActionData actionDataWorldCraft = WorldCraftActionData.Cast(action_data);
115 ItemBase item = actionDataWorldCraft.m_MainItem;
117 PluginRecipesManager recipesManager = PluginRecipesManager.Cast(
GetPlugin(PluginRecipesManager));
119 string soundCat = recipesManager.GetSoundCategory(actionDataWorldCraft.m_RecipeID,target, item);
126 if (super.SetupAction(player, target, item, action_data, extra_data ))
128 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
130 if (!
GetGame().IsDedicatedServer())
131 action_data_wc.m_RecipeID = player.GetCraftingManager().GetRecipeID(
m_VariantID);
133 PluginRecipesManager moduleRecipesManager;
135 moduleRecipesManager.IsRecipePossibleToPerform(action_data_wc.m_RecipeID, action_data_wc.m_MainItem,
ItemBase.Cast(action_data_wc.m_Target.GetObject()), player);
137 m_CommandUID = moduleRecipesManager.GetAnimationCommandUID(action_data_wc.m_RecipeID);
146 super.Start(action_data);
147 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(
true);
152 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(
false);
154 super.OnEndServer(action_data);
159 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(
false);
164 WorldCraftActionData action_data_wc;
165 PluginRecipesManager module_recipes_manager;
170 Class.
CastTo(item2, action_data.m_Target.GetObject());
172 if (action_data.m_MainItem && item2)
179 module_recipes_manager.PerformRecipeServer(action_data_wc.m_RecipeID, action_data.m_MainItem, item2, action_data.m_Player);
190 super.WriteToContext(ctx, action_data);
192 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
194 ctx.
Write(action_data_wc.m_RecipeID);
199 if (!action_recive_data)
204 super.ReadFromContext(ctx, action_recive_data);
207 if (!ctx.
Read(recipeID))
220 WorldCraftActionData action_data_wc = WorldCraftActionData.Cast(action_data);
222 action_data_wc.m_MainItem = recive_data_wc.m_MainItem;
223 if (!action_recive_data.m_Target)
229 action_data_wc.m_Target = recive_data_wc.m_Target;
231 action_data_wc.m_RecipeID = recive_data_wc.
m_RecipeID;
class ActionTargets ActionTarget
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.