5 EnableStateChangeCallback();
13 override void OnStateChange(
int pOldState,
int pCurrentState)
15 if (pCurrentState == STATE_NONE && (!
g_Game.IsDedicatedServer()))
20 else if (pCurrentState == STATE_LOOP_LOOP && pOldState != STATE_LOOP_LOOP && (!
g_Game.IsMultiplayer() ||
g_Game.IsServer()))
23 if (
m_ActionData.m_MainItem.ConfigIsExisting(
"writingColor"))
32 paper_item.RPCSingleParam(
ERPCs.RPC_WRITE_NOTE, text,
true,
m_ActionData.m_Player.GetIdentity());
38class ActionWritePaper: ActionContinuousBase
40 const float TARGET_DISTANCE = 2;
42 void ActionWritePaper()
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);
94 super.OnUpdate(action_data);
96 if(!
g_Game.IsDedicatedServer())
105 override void OnEndRequest(
ActionData action_data)
107 if (action_data.m_Callback)