Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actionreadpaper.c
Go to the documentation of this file.
2{
3 override void CreateActionComponent()
4 {
5 EnableStateChangeCallback();
6 m_ActionData.m_ActionComponent = new CAContinuousTime(-1.0);
7 }
8
9 override void EndActionComponent()
10 {
11 }
12
13 override void OnStateChange(int pOldState, int pCurrentState)
14 {
15 if (pCurrentState == STATE_NONE && (!GetGame().IsDedicatedServer()))
16 {
17 if (GetGame().GetUIManager() && GetGame().GetUIManager().IsMenuOpen(MENU_NOTE))
18 GetGame().GetUIManager().FindMenu(MENU_NOTE).Close();
19 }
20 else if (pCurrentState == STATE_LOOP_LOOP && pOldState != STATE_LOOP_LOOP && (!GetGame().IsMultiplayer() || GetGame().IsServer()))
21 {
22 ItemBase paper_item = ItemBase.Cast(m_ActionData.m_MainItem);
23 Param1<string> text = new Param1<string>(paper_item.GetWrittenNoteData().GetNoteText());
24 paper_item.RPCSingleParam(ERPCs.RPC_READ_NOTE, text, true,m_ActionData.m_Player.GetIdentity());
25 }
26 }
27};
28
31{
32 void ActionReadPaper()
33 {
35 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_VIEWNOTE;
36 m_FullBody = true;
37 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_PRONE;
38 m_Text = "#read";
39 }
40
41 override void CreateConditionComponents()
42 {
45 }
46
47 override bool HasTarget()
48 {
49 return false;
50 }
51
52 override void OnUpdate(ActionData action_data)
53 {
54 super.OnUpdate(action_data);
55
56 if(!GetGame().IsDedicatedServer())
57 {
58 if (action_data.m_State == UA_FINISHED && GetGame().GetUIManager() && !GetGame().GetUIManager().IsMenuOpen(MENU_NOTE))
59 {
60 ActionManagerClient.Cast(action_data.m_Player.GetActionManager()).RequestEndAction();
61 }
62 }
63 }
64
65 override void OnEndRequest(ActionData action_data)
66 {
67 if (action_data.m_Callback)
68 {
69 action_data.m_Callback.InternalCommand(DayZPlayerConstants.CMD_ACTIONINT_INTERRUPT);
70 }
71 }
72};
ActionData m_ActionData
int m_StanceMask
Definition actionbase.c:62
string m_Text
Definition actionbase.c:58
ref CCIBase m_ConditionItem
Definition actionbase.c:64
bool m_FullBody
Definition actionbase.c:61
ref CCTBase m_ConditionTarget
Definition actionbase.c:65
override void RequestEndAction()
override WrittenNoteData GetWrittenNoteData()
Definition paper.c:30
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
ERPCs
Definition erpcs.c:2
proto native CGame GetGame()
const int MENU_NOTE
Definition constants.c:190
const int UA_FINISHED
Definition constants.c:466