3 override void CreateActionComponent()
5 EnableStateChangeCallback();
9 override void EndActionComponent()
13 override void OnStateChange(
int pOldState,
int pCurrentState)
15 if (pCurrentState == STATE_NONE && (!
GetGame().IsDedicatedServer()))
20 else if (pCurrentState == STATE_LOOP_LOOP && pOldState != STATE_LOOP_LOOP && (!
GetGame().IsMultiplayer() ||
GetGame().IsServer()))
23 if (
m_ActionData.m_MainItem.ConfigIsExisting(
"writingColor"))
32 paper_item.RPCSingleParam(
ERPCs.RPC_WRITE_NOTE, text,
true,
m_ActionData.m_Player.GetIdentity());
40 const float TARGET_DISTANCE = 2;
51 override void CreateConditionComponents()
59 if ((item && item.ConfigIsExisting(
"writingColor") && target.GetObject() && Paper.Cast(target.GetObject())) || (target.GetObject() && target.GetObject().ConfigIsExisting(
"writingColor") && item && Paper.Cast(item)))
66 override void OnStartClient( ActionData action_data )
68 if (action_data.m_Target.GetObject().ConfigIsExisting(
"writingColor"))
70 action_data.m_MainItem.GetWrittenNoteData().InitNoteInfo(
ItemBase.Cast(action_data.m_Target.GetObject()),action_data.m_MainItem);
78 override void OnStartServer( ActionData action_data )
80 super.OnStartServer(action_data);
82 if (action_data.m_Target.GetObject().ConfigIsExisting(
"writingColor"))
84 action_data.m_MainItem.GetWrittenNoteData().InitNoteInfo(
ItemBase.Cast(action_data.m_Target.GetObject()),action_data.m_MainItem);
92 override void OnUpdate(ActionData action_data)
94 super.OnUpdate(action_data);
96 if(!
GetGame().IsDedicatedServer())
105 override void OnEndRequest(ActionData action_data)
107 if (action_data.m_Callback)