DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CTEvent.c
См. документацию.
1class CTEvent extends ScriptedWidgetEventHandler
2{
3 protected int m_Index;
4 protected int m_ActorIndex;
5 protected int m_EventType;
6 protected float m_EventTime;
7
8 protected CameraToolsMenu m_Menu;
9
10 protected Widget m_Root;
15 protected CheckBoxWidget m_EventWalkWidget;
16
18
19 void CTEvent( int index, int actor, Widget root, bool walk, CameraToolsMenu parent )
20 {
21 m_Menu = parent;
22 m_Index = index;
23 m_ActorIndex = actor;
24
25 m_Root = GetGame().GetWorkspace().CreateWidgets( "gui/layouts/camera_tools/event_entry.layout", root );
26 m_IndexWidget = TextWidget.Cast( m_Root.FindAnyWidget( "event_id" ) );
27 m_EventActorWidget = EditBoxWidget.Cast( m_Root.FindAnyWidget( "event_actor_edit" ) );
28 m_EventTimeWidget = EditBoxWidget.Cast( m_Root.FindAnyWidget( "event_time_edit" ) );
29 m_EventTypeWidget = EditBoxWidget.Cast( m_Root.FindAnyWidget( "event_type_edit" ) );
30 m_EventWalkWidget = CheckBoxWidget.Cast( m_Root.FindAnyWidget( "auto_walk" ) );
31
32 m_EventWalkWidget.SetChecked( walk );
33 m_IndexWidget.SetText( m_Index.ToString() );
34 m_EventActorWidget.SetText( m_ActorIndex.ToString() );
35 m_Root.SetHandler( this );
36 }
37
38 void ~CTEvent()
39 {
40 delete m_Root;
41 }
42
43 void Play()
44 {
45 PlayerBase player = m_Menu.GetActor( GetEventActor() );
46 if( player )
47 {
48 if( m_EventWalkWidget.IsChecked() )
49 {
50 player.GetInputController().OverrideMovementAngle( true, 1 );
51 player.GetInputController().OverrideMovementSpeed( true, 1 );
52 }
53 else
54 {
55 if( player.GetCommand_Action() )
56 {
57 //player.GetCommand_Action().Cancel();
58 }
59 m_Callback = player.StartCommand_Action( GetEventType(), EmoteCB, DayZPlayerConstants.STANCEMASK_ALL );
60 m_Callback.EnableCancelCondition(true);
61 }
62 }
63 }
64
65 void Stop()
66 {
67 if( m_Callback )
68 {
69 m_Callback.Cancel();
70 m_Callback = null;
71 }
72 PlayerBase player = m_Menu.GetActor( GetEventActor() );
73 if( player )
74 {
75 player.GetInputController().OverrideMovementSpeed( true, 0 );
76 }
77 }
78
79 bool IsTime( float start_time, float end_time )
80 {
81 if( m_EventTime >= start_time )
82 {
83 if( m_EventTime <= end_time )
84 {
85 return true;
86 }
87 }
88 return false;
89 }
90
91 void SetEventTime( float time )
92 {
93 m_EventTime = time;
94 m_EventTimeWidget.SetText( time.ToString() );
95 }
96
97 void SetEventType( int type )
98 {
99 m_EventTypeWidget.SetText( type.ToString() );
100 }
101
103 {
104 m_EventTime = m_EventTimeWidget.GetText().ToFloat();
105 return m_EventTime;
106 }
107
109 {
110 return m_EventTypeWidget.GetText().ToInt();
111 }
112
114 {
115 return m_EventActorWidget.GetText().ToInt();
116 }
117
119 {
120 return m_EventWalkWidget.IsChecked();
121 }
122
123 void Select()
124 {
125 m_Root.FindAnyWidget( "spacer" ).SetAlpha( 1 );
126 m_IndexWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
127 m_EventTypeWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
128 m_EventTypeWidget.SetColor( ARGBF( 1, 1, 0, 0 ) );
129 }
130
131 void Unselect()
132 {
133 m_Root.FindAnyWidget( "spacer" ).SetAlpha( 0.625 );
134 m_IndexWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
135 m_EventTypeWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
136 m_EventTypeWidget.SetColor( ARGBF( 1, 1, 1, 1 ) );
137 }
138}
proto native WorkspaceWidget GetWorkspace()
Определения EnWidgets.c:354
Определения EmoteManager.c:2
Определения PlayerBaseClient.c:2
void Stop()
Определения CTEvent.c:65
bool GetEventWalk()
Определения CTEvent.c:118
HumanCommandActionCallback m_Callback
Определения CTEvent.c:17
EditBoxWidget m_EventActorWidget
Определения CTEvent.c:12
int m_ActorIndex
Определения CTEvent.c:4
void Select()
Определения CTEvent.c:123
Widget m_Root
Определения SizeToChild.c:9
int m_EventType
Определения CTEvent.c:5
void Unselect()
Определения CTEvent.c:131
CameraToolsMenu m_Menu
Определения CTEvent.c:8
CheckBoxWidget m_EventWalkWidget
Определения CTEvent.c:15
void SetEventTime(float time)
Определения CTEvent.c:91
void SetEventType(int type)
Определения CTEvent.c:97
bool IsTime(float start_time, float end_time)
Определения CTEvent.c:79
float m_EventTime
Определения CTEvent.c:6
EditBoxWidget m_EventTypeWidget
Определения CTEvent.c:14
float GetEventTime()
Определения CTEvent.c:102
int GetEventType()
Определения CTEvent.c:108
void CTEvent(int index, int actor, Widget root, bool walk, CameraToolsMenu parent)
Определения CTEvent.c:19
int GetEventActor()
Определения CTEvent.c:113
void ~CTEvent()
Определения CTEvent.c:38
EditBoxWidget m_EventTimeWidget
Определения CTEvent.c:13
TextWidget m_IndexWidget
Определения CTEvent.c:11
void Play()
Определения CTEvent.c:43
int m_Index
Определения CTEvent.c:3
map: item x vector(index, width, height)
Определения EnWidgets.c:651
Определения EnWidgets.c:220
Определения EnWidgets.c:190
proto string ToString(bool simple=true)
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
proto native external Widget CreateWidgets(string layout, Widget parentWidget=NULL, bool immedUpdate=true)
Create widgets from *.layout file.
int ARGBF(float fa, float fr, float fg, float fb)
Converts <0.0, 1.0> ARGB into color.
Определения proto.c:332