DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
PluginKeyBinding.c
См. документацию.
1
6
7const int MB_EVENT_PRESS = 0;
8const int MB_EVENT_CLICK = 1;
9const int MB_EVENT_RELEASE = 2;
11const int MB_EVENT_DRAG = 4;
13
14class PluginKeyBinding extends PluginBase
15{
17
18 // System Public Events
20 {
21 if ( instance == null )
22 {
23 instance = this;
24 }
25 }
26
27 //============================================
28 // OnInit
29 //============================================
30 override void OnInit()
31 {
32 super.OnInit();
33
37 m_MouseButtons.Insert ( new MouseButtonInfo( MouseState.LEFT ) );
38 m_MouseButtons.Insert ( new MouseButtonInfo( MouseState.RIGHT ) );
39 m_MouseButtons.Insert ( new MouseButtonInfo( MouseState.MIDDLE ) );
40 g_Game.GetUpdateQueue(CALL_CATEGORY_SYSTEM).Insert(this.OnFrame);
41
43 //Keyboard Binds |UI_ID |Key1 |Key2 |Callback Plugin |Callback Function |Info Shrtcut |Info Description
44 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
45 // |constants.h |constants.h |constants.h |only plugin name |only function | |
46 // |MENU_*** |KeyCode.KC_*** |KeyCode.KC_*** | |in plugin | |
47 //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
48 #ifdef DEVELOPER
49 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_F1 ,"PluginDeveloper" ,"ToggleHelpScreen" ,"[LCTRL]+[F1]" ,"Show/Hide help screen");
50 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_F2 ,"PluginDeveloper" ,"ResetGUI" ,"[LCTRL]+[F2]" ,"Resets shown UI for testing purposes");
51 RegisterKeyBind( MENU_NONE|MENU_SCRIPTCONSOLE ,KeyCode.KC_LCONTROL ,KeyCode.KC_GRAVE ,"PluginDeveloper" ,"ToggleScriptConsole" ,"[LCTRL]+[~]" ,"Show/Hide this script console");
52 RegisterKeyBind( MENU_NONE|MENU_SCRIPTCONSOLE ,KeyCode.KC_RCONTROL ,KeyCode.KC_GRAVE ,"PluginDeveloper" ,"ToggleScriptConsole" ,"[RCTRL]+[~]" ,"Show/Hide this script console");
53 RegisterKeyBind( MENU_NONE|MENU_SCENE_EDITOR ,KeyCode.KC_LCONTROL ,KeyCode.KC_TAB ,"PluginSceneManager" ,"EditorToggle" ,"[LCTRL]+[TAB]" ,"Show/Hide Scripted Scene Editor");
54 RegisterKeyBind( MENU_NONE|MENU_SCENE_EDITOR ,KeyCode.KC_RCONTROL ,KeyCode.KC_TAB ,"PluginSceneManager" ,"EditorToggle" ,"[RCTRL]+[TAB]" ,"Show/Hide Scripted Scene Editor");
55 RegisterKeyBind( MENU_NONE|MENU_UNDERGROUND_TRIGGER_EDITOR ,KeyCode.KC_LCONTROL ,KeyCode.KC_SLASH ,"PluginUndergroundTriggerManager" ,"EditorToggle" ,"[LCTRL]+[/]" ,"Show/Hide Underground Trigger Editor");
56 RegisterKeyBind( MENU_NONE|MENU_UNDERGROUND_TRIGGER_EDITOR ,KeyCode.KC_F ,-1 ,"PluginUndergroundTriggerManager" ,"FocusOnObject" ,"[F]" ,"Focus on selected object");
57 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_V ,"PluginDeveloper" ,"SpawnFromClipboard" ,"[Right Shift]" ,"Spawn item from clipboard");
58 #endif
59
60 #ifdef DIAG_DEVELOPER
61 RegisterKeyBind( MENU_NONE ,KeyCode.KC_INSERT ,-1 ,"PluginDeveloper" ,"TeleportAtCursor" ,"[Insert]" ,"Teleport player to cursor position");
62 RegisterKeyBind( MENU_NONE ,KeyCode.KC_HOME ,-1 ,"PluginDeveloper" ,"ToggleFreeCamera" ,"[Home]" ,"Toggle free camera and teleport player to its position");
63 RegisterKeyBind( MENU_NONE ,KeyCode.KC_DIVIDE ,-1 ,"PluginDeveloper" ,"ToggleFreeCameraBackPos" ,"[Divide numeric]" ,"Toggle free camera, no player teleport");
64 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_NUMPAD9 ,"PluginDeveloperSync" ,"ToggleFocus" ,"[LCtrl]+[NUMPAD9]" ,"Toggle game focus");
65 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_B ,"PluginDeveloperSync" ,"ToggleFocus" ,"[LCtrl]+[B]" ,"Toggle game focus");
66 #endif
67
68 #ifdef DEVELOPER
69 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_Z ,"PluginDeveloper" ,"SetDeveloperItemClient" ,"Starts watching the item" ,"Sets the target as Watched item for debug purposes");
70 RegisterKeyBind( MENU_SCRIPTCONSOLE ,KeyCode.KC_PRIOR ,-1 ,"PluginDeveloper" ,"ScriptHistoryBack" ,"[Page Up]" ,"Debug Console => Script history back");
71 RegisterKeyBind( MENU_SCRIPTCONSOLE ,KeyCode.KC_NEXT ,-1 ,"PluginDeveloper" ,"ScriptHistoryNext" ,"[Page Down]" ,"Debug Console => Script history next");
72 RegisterKeyBind( MENU_SCENE_EDITOR ,KeyCode.KC_DELETE ,-1 ,"PluginSceneManager" ,"DeleteSelectedObject" ,"[Delete]" ,"Scene Editor => Delete current selected object");
73 RegisterKeyBind( MENU_SCENE_EDITOR ,KeyCode.KC_LCONTROL ,KeyCode.KC_S ,"PluginSceneManager" ,"SceneSave" ,"[LCtrl]+[S]" ,"Scene Editor => Save Current Scene");
74 RegisterKeyBind( MENU_SCENE_EDITOR ,KeyCode.KC_LCONTROL ,KeyCode.KC_D ,"PluginSceneManager" ,"SelectedObjectDuplicate" ,"[LCtrl]+[D]" ,"Scene Editor => Duplicate current selected object");
75 RegisterKeyBind( MENU_SCENE_EDITOR ,KeyCode.KC_LCONTROL ,KeyCode.KC_F ,"PluginSceneManager" ,"SelectedObjectFocus" ,"[LCtrl]+[F]" ,"Scene Editor => Focus camera on selected object");
76 RegisterKeyBind( MENU_SCENE_EDITOR ,KeyCode.KC_LCONTROL ,KeyCode.KC_E ,"PluginSceneManager" ,"RulerToggle" ,"[LCtrl]+[E]" ,"Scene Editor => Enable/Disable addition of ruler points");
77 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_PRIOR ,"PluginRecipesManager" ,"CallbackGenerateCache" ,"[LCtrl]+[BACKSPACE]" ,"PluginRecipesManager => Generate recipe cache and save it to file");
78 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_DECIMAL ,"PluginItemDiagnostic" ,"ToggleDebugWindowEvent" ,"[LCtrl]+[DECIMAL]" ,"Close the Item Debug window");
79 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_NUMPAD0 ,"PluginDayzPlayerDebug","ToggleDebugWindowEvent" ,"[LCtrl]+[NUMPAD0]" ,"Open/Close Player debug window");
80 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_DECIMAL ,"PluginDayzPlayerDebug","ToggleDebugWindowEventP" ,"[LCtrl]+[DECIMAL]" ,"Open/Close Player debug window");
81 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_I ,"PluginDayZInfectedDebug","ToggleDebugWindowEvent" ,"[LCtrl]+[NUMPAD1]" ,"Open/Close Infected debug window");
82 RegisterKeyBind( MENU_ANY ,KeyCode.KC_LCONTROL ,KeyCode.KC_O ,"PluginDayZInfectedDebug","PossesInfected" ,"[LCtrl]+[NUMPAD1]" ,"Open/Close Infected debug window");
83 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_SCROLL ,"PluginNutritionDumper" ,"CheckInit" ,"[LCtrl]+[SCROLL LOCK]" ,"Enable Door Ruler");
84 RegisterKeyBind( MENU_NONE ,KeyCode.KC_LCONTROL ,KeyCode.KC_RBRACKET,"PluginCharPlacement" ,"CheckInit" ,"[LCtrl]+[)]" ,"Enable CharPlacer");
85
86 RegisterKeyBind( MENU_NONE|MENU_CAMERA_TOOLS ,KeyCode.KC_LCONTROL ,KeyCode.KC_K ,"PluginCameraTools" ,"ToggleCameraTools" ,"[LCtrl]+[K]" ,"Toggle Camera Recording Tools");
87 RegisterKeyBind( MENU_CAMERA_TOOLS ,KeyCode.KC_LCONTROL ,KeyCode.KC_S ,"PluginCameraTools" ,"Save" ,"[X]" ,"Recording Tools => Start Recording Camera Path");
88 RegisterKeyBind( MENU_CAMERA_TOOLS ,KeyCode.KC_P ,-1 ,"PluginCameraTools" ,"PlayPause" ,"[C]" ,"Recording Tools => Stop Recording Camera Path");
89 RegisterKeyBind( MENU_CAMERA_TOOLS ,KeyCode.KC_LCONTROL ,KeyCode.KC_Q ,"PluginCameraTools" ,"AddKeyframe" ,"[C]" ,"Recording Tools => Add Camera Point");
90 RegisterKeyBind( MENU_CAMERA_TOOLS ,KeyCode.KC_LCONTROL ,KeyCode.KC_E ,"PluginCameraTools" ,"DeleteKeyframe" ,"[V]" ,"Recording Tools => Play Camera Line");
91
92 //--------------------------------------------------------------------------------------------------------------------------------------------------------------
95 // Mouses Binds |UI_ID |Mouse Button |Mouse Event |Callback Plugin |Callback Function |Info Shrtcut |Info Description
96 //----------------------------------------------------------------------------------------------------------------------------------------------------------------
97 // |constants.h |MouseState.LEFT |MB_EVENT_CLICK |only plugin name |only function | |
98 // |MENU_*** |MouseState.RIGHT |MB_EVENT_DOUBLECLICK | |in plugin | |
99 // |MouseState.MIDDLE |MB_EVENT_DRAG | | | |
100 // | |MB_EVENT_RELEASE | | | |
101 //--------------------------------------------------------------------------------------------------------------------------------------------------------------
102 RegisterMouseBind( MENU_SCENE_EDITOR ,MouseState.LEFT ,MB_EVENT_CLICK ,"PluginSceneManager" ,"Event_OnClick" ,"[LMB] Click" ,"Mission Editor => Select object in scene");
103 RegisterMouseBind( MENU_SCENE_EDITOR ,MouseState.LEFT ,MB_EVENT_DOUBLECLICK ,"PluginSceneManager" ,"Event_OnDoubleClick" ,"[LMB] Double Click" ,"Mission Editor => Craete new object in scene");
104 RegisterMouseBind( MENU_SCENE_EDITOR ,MouseState.LEFT ,MB_EVENT_DRAG ,"PluginSceneManager" ,"Event_OnDrag" ,"[LMB] Hold" ,"Mission Editor => Moving with selected object");
105 RegisterMouseBind( MENU_SCENE_EDITOR ,MouseState.MIDDLE ,MB_EVENT_CLICK ,"PluginSceneManager" ,"Event_OnClickMiddle" ,"[MMB] Click" ,"Mission Editor => Link clicked object with selected object");
106 RegisterMouseBind( MENU_SCENE_EDITOR ,MouseState.RIGHT ,MB_EVENT_PRESS ,"PluginSceneManager" ,"FreeCameraControlEnable" ,"[RMB] Hold" ,"Mission Editor => Enable camera movement");
107 RegisterMouseBind( MENU_SCENE_EDITOR ,MouseState.RIGHT ,MB_EVENT_RELEASE ,"PluginSceneManager" ,"FreeCameraControlDisable" ,"[RMB] Release" ,"Mission Editor => Disable camera movement");
108
109 RegisterMouseBind( MENU_UNDERGROUND_TRIGGER_EDITOR ,MouseState.LEFT ,MB_EVENT_CLICK ,"PluginUndergroundTriggerManager" ,"Event_OnClick" ,"[LMB] Click" ,"Underground Trigger Editor => Select object in scene");
110 RegisterMouseBind( MENU_UNDERGROUND_TRIGGER_EDITOR ,MouseState.LEFT ,MB_EVENT_DOUBLECLICK ,"PluginUndergroundTriggerManager" ,"Event_OnDoubleClick" ,"[LMB] Double Click" ,"Underground Trigger Editor => Create new object in scene");
111 RegisterMouseBind( MENU_UNDERGROUND_TRIGGER_EDITOR ,MouseState.RIGHT ,MB_EVENT_PRESS ,"PluginUndergroundTriggerManager" ,"FreeCameraControlEnable" ,"[RMB] Hold" ,"Underground Trigger Editor => Enable camera movement");
112 RegisterMouseBind( MENU_UNDERGROUND_TRIGGER_EDITOR ,MouseState.RIGHT ,MB_EVENT_RELEASE ,"PluginUndergroundTriggerManager" ,"FreeCameraControlDisable" ,"[RMB] Release" ,"Underground Trigger Editor => Disable camera movement");
113
114 RegisterMouseBind( MENU_NONE ,MouseState.LEFT ,MB_EVENT_CLICK ,"PluginDayZCreatureAIDebug","Event_OnClick" ,"[LMB] Click" ,"DayZCreature graph debug => Capture entity during capture mode");
115 RegisterMouseBind( MENU_CAMERA_TOOLS ,MouseState.RIGHT ,MB_EVENT_RELEASE ,"PluginCameraTools" ,"CursorShow" ,"[LMB] Click" ,"DayZCreature graph debug => Capture entity during capture mode");
116 #endif
117 //--------------------------------------------------------------------------------------------------------------------------------------------------------------
119 }
120
121 //==========================================
122 // OnInit (System Event)
123 //==========================================
124 override void OnDestroy()
125 {
126 g_Game.GetUpdateQueue(CALL_CATEGORY_SYSTEM).Remove(this.OnFrame);
127 }
128
129 //============================================
130 // OnKeyPress
131 //============================================
132 void OnKeyPress(int key)
133 {
134 //Print("OnKeyPress "+ key );
135
136 for ( int i = 0; i < m_KeyBindings.Count(); ++i )
137 {
138 KeyBinding key_binding = m_KeyBindings.Get(i);
139
140 if ( !IsCurrentUIPageValid( key_binding.GetUIMenuID() ) )
141 {
142 continue;
143 }
144
145 bool key1_match = false;
146 bool key2_match = false;
147
148 if ( key_binding.GetKey1() > -1 )
149 {
150 if ( IsKeyPressed(key_binding.GetKey1()) )
151 {
152 // Key1 is down
153 key1_match = true;
154 }
155 }
156 else
157 {
158 // Key1 is not set
159 key1_match = true;
160 }
161
162 if ( key_binding.GetKey2() > -1 )
163 {
164 if ( IsKeyPressed(key_binding.GetKey2()) )
165 {
166 // Key2 is down
167 key2_match = true;
168 }
169 }
170 else
171 {
172 // Key2 is not set
173 key2_match = true;
174 }
175
176 if ( key1_match && key2_match )
177 {
178 //Log( "Call Method -> key press: " + itoa(key) + " " + key_binding.GetInfoDescription() );
179
180 PluginBase m = GetPlugin(key_binding.GetCallbackTarget().ToType());
181 g_Game.GameScript.CallFunction(m, key_binding.GetCallbackFunction(), NULL, 0);
182
183 break;
184 }
185 }
186 }
187
188 //============================================
189 // OnKeyRelease
190 //============================================
191 void OnKeyRelease(int key)
192 {
193 }
194
195 //============================================
196 // OnMouseButtonPress
197 //============================================
198 void OnMouseButtonPress(int button)
199 {
200 MouseButtonInfo button_info = GetMouseButtonInfo( button );
201 if (button_info == NULL) return;
202 button_info.Press();
203
204 //Log("****************************");
205 //Log(" MB_EVENT_PRESS");
206
207 OnMouse( MB_EVENT_PRESS, button );
208 }
209
210 //============================================
211 // OnMouseButtonRelease
212 //============================================
213 void OnMouseButtonRelease(int button)
214 {
215 MouseButtonInfo button_info = GetMouseButtonInfo( button );
216 if (button_info == NULL) return;
217 int time_curr = g_Game.GetTime();
218 int time_last_press = button_info.GetTimeLastPress();
219 int time_last_release = button_info.GetTimeLastRelease();
220 int time_delta_press = time_curr - time_last_press;
221 int time_delta_relase = time_curr - time_last_release;
222
223 if ( time_delta_relase < DOUBLE_CLICK_TIME )
224 {
225 //Log(" DOUBLE_CLICK_TIME ");
226
227 OnMouse( MB_EVENT_DOUBLECLICK, button );
228 }
229 else if ( time_delta_press < CLICK_TIME )
230 {
231 //Log(" MB_EVENT_CLICK ");
232
233 OnMouse( MB_EVENT_CLICK, button );
234 }
235
236 //Log(" MB_EVENT_RELEASE");
237
238 OnMouse( MB_EVENT_RELEASE, button );
239
240 button_info.Release();
241 }
242
243 //============================================
244 // OnFrame
245 //============================================
246 void OnFrame()
247 {
248 for ( int i = 0; i < m_MouseButtons.Count(); ++i )
249 {
250 MouseButtonInfo info = m_MouseButtons.Get(i);
251
252 if ( info.IsButtonDown() )
253 {
254 int time_curr = g_Game.GetTime();
255 int time_hold = info.GetTimeLastPress() + HOLD_CLICK_TIME_MIN;
256
257 if ( time_hold < time_curr )
258 {
259 //Log("MB_EVENT_DRAG");
260
262 }
263 }
264 }
265 }
266
267 //--------------------------------------------
268 // GetKeyBindings
269 //--------------------------------------------
274
275 //--------------------------------------------
276 // GetMouseBindings
277 //--------------------------------------------
282
283 protected const int CLICK_TIME = 200; //ms
284 protected const int DOUBLE_CLICK_TIME = 300; //ms
285 protected const int HOLD_CLICK_TIME_MIN = 300; //ms
286
290
291 //--------------------------------------------
292 // RegisterKeyBind
293 //--------------------------------------------
294 protected void RegisterKeyBind( int ui_id, int key_code1, int key_code2, string plugin_name, string fnc_name, string info_shortcut, string info_description )
295 {
296 m_KeyBindings.Insert( new KeyBinding(ui_id, key_code1, key_code2, plugin_name, fnc_name, info_shortcut, info_description) );
297 }
298
299 //--------------------------------------------
300 // RegisterMouseBind
301 //--------------------------------------------
302 protected void RegisterMouseBind( int ui_id, int mouse_button, int mouse_event, string plugin_name, string fnc_name, string info_shortcut, string info_description )
303 {
304 m_MouseBindings.Insert( new MouseBinding(ui_id, mouse_button, mouse_event, plugin_name, fnc_name, info_shortcut, info_description) );
305 }
306
307 //--------------------------------------------
308 // IsCurrentUIPageValid
309 //--------------------------------------------
310 protected bool IsCurrentUIPageValid( int ui_page_request )
311 {
312 int ui_page_current = MENU_NONE;
313
314 if ( g_Game.GetUIManager().GetMenu() )
315 {
316 ui_page_current = g_Game.GetUIManager().GetMenu().GetID();
317 }
318
319 if ( ui_page_current < MENU_ANY || !CheckMask( ui_page_request, ui_page_current ) )
320 {
321 if ( CheckMask( ui_page_request, MENU_NONE ) || !CheckMask( ui_page_request, MENU_ANY ) )
322 {
323 return false;
324 }
325 }
326
327 return true;
328 }
329
330 bool CheckMask( int source_mask, int target_mask )
331 {
332 if ( ( source_mask & target_mask ) == target_mask )
333 {
334 return true;
335 }
336
337 return false;
338 }
339
340 //--------------------------------------------
341 // OnMouse
342 //--------------------------------------------
343 protected void OnMouse( int event_id, int button )
344 {
345 for ( int i = 0; i < m_MouseBindings.Count(); ++i )
346 {
347 MouseBinding mouse_binding = m_MouseBindings.Get(i);
348
349 if ( mouse_binding.GetButtonID() == button && mouse_binding.GetMouseEvent() == event_id )
350 {
351 if ( IsCurrentUIPageValid( mouse_binding.GetUIMenuID() ) )
352 {
353 PluginBase m = GetPlugin(mouse_binding.GetCallbackTarget().ToType());
354 g_Game.GameScript.CallFunction(m, mouse_binding.GetCallbackFunction(), NULL, 0);
355 }
356 }
357 }
358 }
359
360 //--------------------------------------------
361 // OnMouse
362 //--------------------------------------------
363 protected MouseButtonInfo GetMouseButtonInfo( int button )
364 {
365 for ( int i = 0; i < m_MouseButtons.Count(); ++i )
366 {
367 MouseButtonInfo info = m_MouseButtons.Get(i);
368
369 if ( info.GetButtonID() == button )
370 {
371 return info;
372 }
373 }
374 return NULL;
375 }
376
377 //--------------------------------------------
378 // IsKeyPressed
379 //--------------------------------------------
380 protected bool IsKeyPressed(int key)
381 {
382 return ( KeyState(key) == 1 );
383 }
384}
DayZGame g_Game
Определения DayZGame.c:4074
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
string GetCallbackFunction()
Определения KeyBinding.c:42
int GetKey1()
Определения KeyBinding.c:27
int GetKey2()
Определения KeyBinding.c:32
int GetUIMenuID()
Определения KeyBinding.c:22
string GetCallbackTarget()
Определения KeyBinding.c:37
Определения KeyBinding.c:2
int GetUIMenuID()
Определения MouseBinding.c:22
int GetMouseEvent()
Определения MouseBinding.c:32
string GetCallbackFunction()
Определения MouseBinding.c:42
int GetButtonID()
Определения MouseBinding.c:27
string GetCallbackTarget()
Определения MouseBinding.c:37
Определения MouseBinding.c:2
int GetTimeLastPress()
Определения MouseButtonInfo.c:19
bool IsButtonDown()
Определения MouseButtonInfo.c:39
int GetTimeLastRelease()
Определения MouseButtonInfo.c:24
void Release()
Определения MouseButtonInfo.c:34
void Press()
Определения MouseButtonInfo.c:29
int GetButtonID()
Определения MouseButtonInfo.c:14
Определения MouseButtonInfo.c:2
bool CheckMask(int source_mask, int target_mask)
Определения PluginKeyBinding.c:330
void PluginBase()
ref array< ref MouseButtonInfo > m_MouseButtons
Определения PluginKeyBinding.c:288
override void OnInit()
Определения PluginKeyBinding.c:30
ref array< ref KeyBinding > m_KeyBindings
Определения PluginKeyBinding.c:287
void OnMouse(int event_id, int button)
Определения PluginKeyBinding.c:343
const int CLICK_TIME
Определения PluginKeyBinding.c:283
const int DOUBLE_CLICK_TIME
Определения PluginKeyBinding.c:284
void OnKeyPress(int key)
Определения PluginKeyBinding.c:132
void PluginKeyBinding()
Определения PluginKeyBinding.c:19
void OnFrame()
Определения PluginKeyBinding.c:246
void OnMouseButtonPress(int button)
Определения PluginKeyBinding.c:198
const int HOLD_CLICK_TIME_MIN
Определения PluginKeyBinding.c:285
MouseButtonInfo GetMouseButtonInfo(int button)
Определения PluginKeyBinding.c:363
void RegisterKeyBind(int ui_id, int key_code1, int key_code2, string plugin_name, string fnc_name, string info_shortcut, string info_description)
Определения PluginKeyBinding.c:294
override void OnDestroy()
Определения PluginKeyBinding.c:124
void OnMouseButtonRelease(int button)
Определения PluginKeyBinding.c:213
bool IsCurrentUIPageValid(int ui_page_request)
Определения PluginKeyBinding.c:310
ref array< ref MouseBinding > m_MouseBindings
Определения PluginKeyBinding.c:289
array< ref KeyBinding > GetKeyBindings()
Определения PluginKeyBinding.c:270
void RegisterMouseBind(int ui_id, int mouse_button, int mouse_event, string plugin_name, string fnc_name, string info_shortcut, string info_description)
Определения PluginKeyBinding.c:302
static PluginKeyBinding instance
Определения PluginKeyBinding.c:16
void OnKeyRelease(int key)
Определения PluginKeyBinding.c:191
array< ref MouseBinding > GetMouseBindings()
Определения PluginKeyBinding.c:278
bool IsKeyPressed(int key)
Определения PluginKeyBinding.c:380
Plugin interface for controlling of agent pool system.
Определения PluginBase.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
KeyCode
Определения EnSystem.c:157
proto native int KeyState(KeyCode key)
const int MENU_NONE
Определения 3_Game/DayZ/constants.c:177
const int MENU_SCRIPTCONSOLE
Определения 3_Game/DayZ/constants.c:191
const int MENU_UNDERGROUND_TRIGGER_EDITOR
Определения 3_Game/DayZ/constants.c:223
const int MENU_CAMERA_TOOLS
Определения 3_Game/DayZ/constants.c:207
const int MENU_SCENE_EDITOR
Определения 3_Game/DayZ/constants.c:183
const int MENU_ANY
Определения 3_Game/DayZ/constants.c:176
const int MB_EVENT_DRAG
Определения PluginKeyBinding.c:11
const int MB_EVENT_RELEASE
Определения PluginKeyBinding.c:9
const int MB_EVENT_CLICK
Определения PluginKeyBinding.c:8
const int MB_EVENT_DOUBLECLICK
Определения PluginKeyBinding.c:10
const int MB_EVENT_PRESS
Определения PluginKeyBinding.c:7
MouseState
Определения EnSystem.c:311
proto native ToType()
Returns internal type representation. Can be used in runtime, or cached in variables and used for fas...
const int CALL_CATEGORY_SYSTEM
Определения 3_Game/DayZ/tools/tools.c:8