DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл PluginDayZCreatureAIDebug.c

См. исходные тексты.

Структуры данных

class  DayZCreatureAnimScriptDebug
 

Определения типов

typedef Param4< float, string, int, stringDayZCreatureAnimScriptDebugAnimEventData
 
typedef Param1< stringDayZCreatureAnimScriptDebugAnimPredictionData
 
typedef Param1< stringDayZCreatureAnimScriptDebugAnimTagData
 

Функции

void PluginDayZCreatureAIDebug ()
 
void ~PluginDayZCreatureAIDebug ()
 
override void OnInit ()
 
override void OnDestroy ()
 
void CheckShowMode ()
 
override void OnUpdate (float delta_time)
 
string GetStrValue (int index)
 
string GetStrValueType (int index)
 
void InitDebugObject (Object obj)
 
void ReleaseDebugObject ()
 
void SetValueInt (int index, int value)
 
void SetValueFloat (int index, float value)
 
void SetValueBool (int index, bool value)
 
void ActivateCommand (int commandIdx, int userInt, float userFloat)
 
void EnableAI (bool enable)
 
DayZCreatureAnimScriptDebugVarType GetVariableType (int index)
 
void OnGUI_Variables ()
 
void OnGUI_VariablesEdit ()
 
void OnGUI_CommandsEdit ()
 
void OnGUI_AIControlEdit ()
 
void OnGUI_BulkSet ()
 
void OnGUI_AnimEvents ()
 
void OnGUI (bool show)
 
void OnGUITimer ()
 
void SetDebugShowMode (int mode)
 
void Show ()
 
void Hide ()
 
void Event_OnClick ()
 
void GUIAction_InitDebugObject (Object obj)
 
void GUIAction_UpdateSimulationPrecision (int simLOD)
 
void GUIAction_ReleaseDebugObject ()
 
void GUIAction_SetValue (int index, string strVal)
 
void GUIAction_ActivateCommand (int commandIdx, int userInt, float userFloat)
 
void GUIAction_EnableAI (bool enable)
 
void SendSyncMessages ()
 
void OnRpc (PlayerBase player, int rpc_type, ParamsReadContext ctx)
 
void SyncReceiveMessage (ParamsReadContext ctx)
 
void SyncInitDebugObject (Object obj)
 
void SyncReceiveInitDebugObject (ParamsReadContext ctx)
 
void SyncReleaseDebugObject ()
 
void SyncReceiveReleaseDebugObject (ParamsReadContext ctx)
 
void SyncSetValueInt (int index, int value)
 
void SyncReceiveValueInt (ParamsReadContext ctx)
 
void SyncSetValueFloat (int index, float value)
 
void SyncReceiveValueFloat (ParamsReadContext ctx)
 
void SyncSetValueBool (int index, bool value)
 
void SyncReceiveValueBool (ParamsReadContext ctx)
 
void SyncActivateCommand (int commandIdx, int userInt, float userFloat)
 
void SyncReceiveActivateCommand (ParamsReadContext ctx)
 
void SyncEnableAI (bool enable)
 
void SyncReceiveEnableAI (ParamsReadContext ctx)
 
void SyncReceiveDisableAI (ParamsReadContext ctx)
 

Переменные

class DayZCreatureAnimScriptDebug INIT_DEBUG_OBJECT
 
class DayZCreatureAnimScriptDebug RELEASE_DEBUG_OBJECT
 
class DayZCreatureAnimScriptDebug SET_VALUE_INT
 
class DayZCreatureAnimScriptDebug SET_VALUE_FLOAT
 
class DayZCreatureAnimScriptDebug SET_VALUE_BOOL
 
class DayZCreatureAnimScriptDebug ACTIVATE_COMMAND
 
class DayZCreatureAnimScriptDebug ENABLE_AI
 
class DayZCreatureAnimScriptDebug DISABLE_AI
 
class DayZCreatureAnimScriptDebug m_iDebugMenu = -1
 
DayZCreatureAI m_DebugEntity = NULL
 
string m_sDebugEntityName = ""
 
ref DayZCreatureAnimScriptDebug m_EntityAnimDbg = NULL
 
ref Timer m_TickTimer
 
bool m_IsActive = false
 
bool m_ShowDbgUI = false
 
bool m_bIsCaptureMode = false
 
bool m_bEditMode = false
 
bool m_bAIEnabled = true
 
bool m_bShowAnimEvents = false
 
bool m_bBulkSet = false
 
ref array< boolm_SetVariableCheckStates = new array<bool>
 
ref array< boolm_SetCommandCheckStates = new array<bool>
 
ref array< ref Paramm_SyncMessages = new array<ref Param>
 

Типы

◆ DayZCreatureAnimScriptDebugAnimEventData

◆ DayZCreatureAnimScriptDebugAnimPredictionData

◆ DayZCreatureAnimScriptDebugAnimTagData

Функции

◆ ActivateCommand()

void ActivateCommand ( int commandIdx,
int userInt,
float userFloat )
244 {
245 int commandId = m_EntityAnimDbg.GetCommandID(commandIdx);
246 m_EntityAnimDbg.ActivateCommand(commandId, userInt, userFloat);
247 }
ref DayZCreatureAnimScriptDebug m_EntityAnimDbg
Definition PluginDayZCreatureAIDebug.c:84
Definition EntityAI.c:95

Перекрестные ссылки m_EntityAnimDbg.

Используется в GUIAction_ActivateCommand() и SyncReceiveActivateCommand().

◆ CheckShowMode()

void CheckShowMode ( )
118 {
119 int actMenuValue = DiagMenu.GetEngineValue(DayZCreatureAIConstants.DEBUG_SHOWDEBUGPLUGIN);
121 {
124 }
125 }
DayZCreatureAIConstants
Definition DayZCreatureAI.c:2
void SetDebugShowMode(int mode)
Definition PluginDayZCreatureAIDebug.c:565
class DayZCreatureAnimScriptDebug m_iDebugMenu
Definition EnDebug.c:233
static proto int GetEngineValue(int id)
Get value at the given engine id.

Перекрестные ссылки DiagMenu::GetEngineValue(), m_iDebugMenu и SetDebugShowMode().

Используется в OnUpdate().

◆ EnableAI()

void EnableAI ( bool enable)
250 {
251 if (m_DebugEntity.IsInherited(DayZCreatureAI))
252 {
254 if (enable)
255 {
256 #ifdef DIAG_DEVELOPER
257 creatureAI.DebugRestoreAIControl();
258 #endif
259 }
260 else
261 {
262 #ifdef DIAG_DEVELOPER
263 creatureAI.DebugDisableAIControl();
264 #endif
265 }
266 }
267 }
DayZCreatureAI m_DebugEntity
Definition PluginDayZCreatureAIDebug.c:82
do not process rotations !
Definition DayZAnimal.c:612

Перекрестные ссылки m_DebugEntity.

Используется в GUIAction_EnableAI(), SyncReceiveDisableAI() и SyncReceiveEnableAI().

◆ Event_OnClick()

void Event_OnClick ( )
596 {
597 if (m_IsActive == false)
598 return;
599
600 const float MAX_RAYCAST_RANGE = 1000;
602 {
603 vector dir = GetGame().GetPointerDirection();
604 vector pos = GetGame().GetCurrentCameraPosition();
605
606 // Raycast
607 vector from = pos;
608 vector to = pos + (dir * MAX_RAYCAST_RANGE);
613
615 {
616 for ( int i = 0; i < objects.Count(); i++ )
617 {
618 Object obj = objects.Get(i);
619 if (obj && obj.IsInherited(DayZCreature))
620 {
621 m_bIsCaptureMode = false;
623 return;
624 }
625 }
626 }
627 }
628 }
PlayerBase GetPlayer()
Definition ModifierBase.c:51
bool m_bIsCaptureMode
Definition PluginDayZCreatureAIDebug.c:90
void GUIAction_InitDebugObject(Object obj)
Definition PluginDayZCreatureAIDebug.c:634
bool m_IsActive
Definition PluginDayZCreatureAIDebug.c:87
Definition DayZAnimal.c:148
Definition DayZPhysics.c:124
static proto bool RaycastRV(vector begPos, vector endPos, out vector contactPos, out vector contactDir, out int contactComponent, set< Object > results=NULL, Object with=NULL, Object ignore=NULL, bool sorted=false, bool ground_only=false, int iType=ObjIntersectView, float radius=0.0, CollisionFlags flags=CollisionFlags.NEARESTCONTACT)
Raycasts world by given parameters.
Definition ObjectTyped.c:2
Definition EnConvert.c:106
proto native CGame GetGame()

Перекрестные ссылки GetGame(), GetPlayer(), GUIAction_InitDebugObject(), m_bIsCaptureMode, m_IsActive и DayZPhysics::RaycastRV().

◆ GetStrValue()

string GetStrValue ( int index)
136 {
137 string strVal;
138 switch (m_EntityAnimDbg.GetVariableType(index))
139 {
141 int valInt = m_EntityAnimDbg.GetVariableInt(index);
142 strVal = valInt.ToString();
143 break;
145 float valFloat = m_EntityAnimDbg.GetVariableFloat(index);
146 strVal = valFloat.ToString();
147 break;
149 bool valBool = m_EntityAnimDbg.GetVariableBool(index);
150 if (valBool)
151 {
152 strVal = "true";
153 }
154 else
155 {
156 strVal = "false";
157 }
158 break;
159 default:
160 strVal = "unk";
161 }
162 return strVal;
163 }
DayZCreatureAnimScriptDebugVarType
Definition DayZCreature.c:2

Перекрестные ссылки m_EntityAnimDbg.

Используется в OnGUI_Variables().

◆ GetStrValueType()

string GetStrValueType ( int index)
166 {
167 string strValType;
168 switch (m_EntityAnimDbg.GetVariableType(index))
169 {
171 strValType = "int";
172 break;
174 strValType = "float";
175 break;
177 strValType = "bool";
178 break;
179 default:
180 strValType = "unk";
181 }
182
183 return strValType;
184 }

Перекрестные ссылки m_EntityAnimDbg.

Используется в OnGUI_VariablesEdit().

◆ GetVariableType()

DayZCreatureAnimScriptDebugVarType GetVariableType ( int index)
270 {
271 return m_EntityAnimDbg.GetVariableType(index);
272 }

Перекрестные ссылки m_EntityAnimDbg.

Используется в GUIAction_SetValue().

◆ GUIAction_ActivateCommand()

void GUIAction_ActivateCommand ( int commandIdx,
int userInt,
float userFloat )
720 {
721 if (GetGame().IsMultiplayer())
722 {
724 }
725 else
726 {
728 }
729
730 }
void ActivateCommand(int commandIdx, int userInt, float userFloat)
Definition PluginDayZCreatureAIDebug.c:243
void SyncActivateCommand(int commandIdx, int userInt, float userFloat)
Definition PluginDayZCreatureAIDebug.c:901

Перекрестные ссылки ActivateCommand(), GetGame() и SyncActivateCommand().

Используется в OnGUI_CommandsEdit().

◆ GUIAction_EnableAI()

void GUIAction_EnableAI ( bool enable)
733 {
734 if (GetGame().IsMultiplayer())
735 {
737 }
738 else
739 {
741 }
742 }
void EnableAI(bool enable)
Definition PluginDayZCreatureAIDebug.c:249
void SyncEnableAI(bool enable)
Definition PluginDayZCreatureAIDebug.c:920

Перекрестные ссылки EnableAI(), GetGame() и SyncEnableAI().

Используется в OnGUI_AIControlEdit().

◆ GUIAction_InitDebugObject()

void GUIAction_InitDebugObject ( Object obj)

GUI actions

635 {
636 InitDebugObject(obj);
637 if (GetGame().IsMultiplayer())
638 {
640 }
641 }
void SyncInitDebugObject(Object obj)
Definition PluginDayZCreatureAIDebug.c:814
void InitDebugObject(Object obj)
Definition PluginDayZCreatureAIDebug.c:186

Перекрестные ссылки GetGame(), InitDebugObject() и SyncInitDebugObject().

Используется в Event_OnClick().

◆ GUIAction_ReleaseDebugObject()

void GUIAction_ReleaseDebugObject ( )
657 {
659 if (GetGame().IsMultiplayer())
660 {
662 }
663 }
void ReleaseDebugObject()
Definition PluginDayZCreatureAIDebug.c:218
void SyncReleaseDebugObject()
Definition PluginDayZCreatureAIDebug.c:832

Перекрестные ссылки GetGame(), ReleaseDebugObject() и SyncReleaseDebugObject().

Используется в OnGUI().

◆ GUIAction_SetValue()

void GUIAction_SetValue ( int index,
string strVal )
666 {
667 switch (GetVariableType(index))
668 {
670 int intValue = strVal.ToInt();
671 if (GetGame().IsMultiplayer())
672 {
674 }
675 else
676 {
678 }
679 break;
681 float floatValue = strVal.ToFloat();
682 if (GetGame().IsMultiplayer())
683 {
685 }
686 else
687 {
689 }
690 break;
692 bool boolValue;
693 strVal.ToLower();
694 if (strVal.Contains("true"))
695 {
696 boolValue = true;
697 }
698 else if (strVal.Contains("false"))
699 {
700 boolValue = false;
701 }
702 else
703 {
704 boolValue = (bool)strVal.ToInt();
705 }
706
707 if (GetGame().IsMultiplayer())
708 {
710 }
711 else
712 {
714 }
715 break;
716 }
717 }
void SyncSetValueBool(int index, bool value)
Definition PluginDayZCreatureAIDebug.c:882
void SetValueInt(int index, int value)
Definition PluginDayZCreatureAIDebug.c:228
void SyncSetValueInt(int index, int value)
Definition PluginDayZCreatureAIDebug.c:844
void SetValueFloat(int index, float value)
Definition PluginDayZCreatureAIDebug.c:233
void SetValueBool(int index, bool value)
Definition PluginDayZCreatureAIDebug.c:238
DayZCreatureAnimScriptDebugVarType GetVariableType(int index)
Definition PluginDayZCreatureAIDebug.c:269
void SyncSetValueFloat(int index, float value)
Definition PluginDayZCreatureAIDebug.c:863
Definition EnConvert.c:2

Перекрестные ссылки GetGame(), GetVariableType(), SetValueBool(), SetValueFloat(), SetValueInt(), SyncSetValueBool(), SyncSetValueFloat() и SyncSetValueInt().

Используется в OnGUI_VariablesEdit().

◆ GUIAction_UpdateSimulationPrecision()

void GUIAction_UpdateSimulationPrecision ( int simLOD)
652 {
653 m_DebugEntity.UpdateSimulationPrecision(simLOD);
654 }

Перекрестные ссылки m_DebugEntity.

Используется в OnGUI().

◆ Hide()

void Hide ( )
589 {
590 m_IsActive = false;
592 OnGUI(false);
593 }
ref Timer m_TickTimer
Definition PluginDayZCreatureAIDebug.c:86
void OnGUI(bool show)
Definition PluginDayZCreatureAIDebug.c:457

Перекрестные ссылки m_IsActive, m_TickTimer и OnGUI().

◆ InitDebugObject()

void InitDebugObject ( Object obj)
187 {
189 m_EntityAnimDbg.SetCreature( DayZCreature.Cast( obj ) );
190
191 m_DebugEntity = DayZCreatureAI.Cast( obj );
192 m_sDebugEntityName = obj.GetType();
193
194
195 int varCount = m_EntityAnimDbg.GetVariableCount();
196 int cmdCount = m_EntityAnimDbg.GetCommandCount();
197 int toAddCount = 0;
198
200 {
202 for (int idxVar = 0; idxVar < toAddCount; idxVar++)
203 {
204 m_SetVariableCheckStates.Insert(false);
205 }
206 }
207
208 if (m_SetCommandCheckStates.Count() < cmdCount)
209 {
211 for (int idxCmd = 0; idxCmd < toAddCount; idxCmd++)
212 {
213 m_SetCommandCheckStates.Insert(false);
214 }
215 }
216 }
ref array< bool > m_SetCommandCheckStates
Definition PluginDayZCreatureAIDebug.c:97
string m_sDebugEntityName
Definition PluginDayZCreatureAIDebug.c:83
ref array< bool > m_SetVariableCheckStates
Definition PluginDayZCreatureAIDebug.c:96
Definition PluginDayZCreatureAIDebug.c:6

Перекрестные ссылки m_DebugEntity, m_EntityAnimDbg, m_sDebugEntityName, m_SetCommandCheckStates и m_SetVariableCheckStates.

Используется в GUIAction_InitDebugObject() и SyncReceiveInitDebugObject().

◆ OnDestroy()

override void OnDestroy ( )
114 {
115 }

◆ OnGUI()

void OnGUI ( bool show)
458 {
459 const int windowPosX = 0;
460 const int windowPosY = 300;
461 const int mainPanelSizeX = 200;
462 const int mainPanelSizeY = 1;
463 const int margin = 10;
464
466 DbgUI.Begin("CretureAI debug", windowPosX, windowPosY);
467 if (show)
468 {
469 if (m_EntityAnimDbg == NULL)
470 {
471 if (m_bIsCaptureMode == true)
472 {
473 DbgUI.Text("Capturing...");
474 }
475 else
476 {
477 if (DbgUI.Button("Capture"))
478 {
479 m_bIsCaptureMode = true;
480 }
481 }
482
483 // Clear additional windows
484 DbgUI.Begin("CreatureAI EditMenu");
485 DbgUI.End();
486
487 DbgUI.Begin("CreatureAI AnimEvents");
488 DbgUI.End();
489 }
490 else
491 {
492 DbgUI.Panel("MinimumSize", mainPanelSizeX, mainPanelSizeY);
493
495 DbgUI.SameLine();
496 bool btnReleasePressed = DbgUI.Button("Release");
497
498 DbgUI.Check("Edit", m_bEditMode);
499 DbgUI.Check("ShowAnimEvents", m_bShowAnimEvents);
500
501 #ifdef _DAYZ_CREATURE_DEBUG_SHADOW
502 if (!GetGame().IsMultiplayer())
503 {
504 DbgUI.SameLine();
505 if (DbgUI.Button("CreateShadow"))
506 {
508 }
509 }
510 #endif
511
512 if (!GetGame().IsMultiplayer())
513 {
514 const int simLODInputSize = 20;
515 int simLOD;
517 DbgUI.SameLine();
518 if (DbgUI.Button("UpdateSimulationPrecision"))
519 {
521 }
522 }
523
525 {
527 }
528 else
529 {
531 DbgUI.Begin("CreatureAI EditMenu", windowPosX + mainPanelSizeX + margin, windowPosY);
532 if (m_bEditMode)
533 {
537 DbgUI.Spacer(20);
539 }
540 DbgUI.End();
541
542 DbgUI.Begin("CreatureAI AnimEvents", windowPosX + mainPanelSizeX + margin, windowPosY);
544 {
546 }
547 DbgUI.End();
548 }
549 }
550 }
551 DbgUI.End();
553 }
void OnGUI_AnimEvents()
Definition PluginDayZCreatureAIDebug.c:399
bool m_bShowAnimEvents
Definition PluginDayZCreatureAIDebug.c:93
void OnGUI_BulkSet()
Definition PluginDayZCreatureAIDebug.c:389
bool m_bEditMode
Definition PluginDayZCreatureAIDebug.c:91
void OnGUI_VariablesEdit()
Definition PluginDayZCreatureAIDebug.c:285
void OnGUI_CommandsEdit()
Definition PluginDayZCreatureAIDebug.c:326
void OnGUI_Variables()
Definition PluginDayZCreatureAIDebug.c:274
void GUIAction_UpdateSimulationPrecision(int simLOD)
Definition PluginDayZCreatureAIDebug.c:651
void GUIAction_ReleaseDebugObject()
Definition PluginDayZCreatureAIDebug.c:656
void OnGUI_AIControlEdit()
Definition PluginDayZCreatureAIDebug.c:369
class PresenceNotifierNoiseEvents windowPosX
dbgUI settings
const int mainPanelSizeX
Definition PluginPresenceNotifier.c:79
const int margin
Definition PluginPresenceNotifier.c:82
const int mainPanelSizeY
Definition PluginPresenceNotifier.c:80
const int windowPosY
Definition PluginPresenceNotifier.c:77
Definition DbgUI.c:60
static proto void Check(string label, out bool checked)
static proto native bool Button(string txt, int minWidth=0)
static proto native void Spacer(int height)
static proto void InputInt(string txt, out int value, int pxWidth=150)
static proto native void Begin(string windowTitle, float x=0, float y=0)
static proto void BeginCleanupScope()
static proto native void Text(string label)
static proto native void EndCleanupScope()
static proto native void End()
static proto native void Panel(string label, int width, int height, int color=0xaa555555)
static proto native void SameLine()

Перекрестные ссылки DbgUI::Begin(), DbgUI::BeginCleanupScope(), DbgUI::Button(), DbgUI::Check(), DbgUI::End(), DbgUI::EndCleanupScope(), GetGame(), GUIAction_ReleaseDebugObject(), GUIAction_UpdateSimulationPrecision(), DbgUI::InputInt(), m_bEditMode, m_bIsCaptureMode, m_bShowAnimEvents, m_EntityAnimDbg, m_sDebugEntityName, mainPanelSizeX, mainPanelSizeY, margin, OnGUI_AIControlEdit(), OnGUI_AnimEvents(), OnGUI_BulkSet(), OnGUI_CommandsEdit(), OnGUI_Variables(), OnGUI_VariablesEdit(), DbgUI::Panel(), DbgUI::SameLine(), DbgUI::Spacer(), DbgUI::Text(), windowPosX и windowPosY.

Используется в Hide() и OnGUITimer().

◆ OnGUI_AIControlEdit()

void OnGUI_AIControlEdit ( )
370 {
371 bool buttonPressed = false;
372 if (m_bAIEnabled)
373 {
374 buttonPressed = DbgUI.Button("Disable AI");
375 }
376 else
377 {
378 buttonPressed = DbgUI.Button("Enable AI");
379 }
380
381 if (buttonPressed)
382 {
384
386 }
387 }
bool m_bAIEnabled
Definition PluginDayZCreatureAIDebug.c:92
void GUIAction_EnableAI(bool enable)
Definition PluginDayZCreatureAIDebug.c:732

Перекрестные ссылки DbgUI::Button(), GUIAction_EnableAI() и m_bAIEnabled.

Используется в OnGUI().

◆ OnGUI_AnimEvents()

void OnGUI_AnimEvents ( )
400 {
401 DbgUI.PushID_Str("AnimEvents");
402
403 const int panelMinSizeX = 350;
404
405 DbgUI.Panel("MinimumSize", panelMinSizeX, 1);
406
407 string strTags;
408 for (int tagIdx = 0; tagIdx < m_EntityAnimDbg.m_AnimTags.Count(); ++tagIdx)
409 {
410 if (tagIdx != 0)
411 strTags += ", ";
412
413 strTags += m_EntityAnimDbg.m_AnimTags[tagIdx].param1;
414 }
415
416 string strPredictions;
417 for (int predIdx = 0; predIdx < m_EntityAnimDbg.m_AnimPredictions.Count(); ++predIdx)
418 {
419 if (predIdx != 0)
420 strPredictions += ", ";
421
422 strPredictions += m_EntityAnimDbg.m_AnimPredictions[predIdx].param1;
423 }
424
425 DbgUI.PushID_Str("AnimTagsDisplay");
427 DbgUI.PopID();
428
429 DbgUI.PushID_Str("AnimPredictionsDisplay");
431 DbgUI.PopID();
432
433 string strFilter;
435
436 m_EntityAnimDbg.m_EventsFilter.Clear();
437 strFilter.Split(" ", m_EntityAnimDbg.m_EventsFilter);
438
439 DbgUI.Button("TakeMyFocus");
440
441 const int evDisplayCount = 15;
442 int evToDisplayCount = (int)Math.Min(m_EntityAnimDbg.m_AnimEvents.Count(), evDisplayCount);
443
444 for (int evIdx = 0; evIdx < evToDisplayCount; ++evIdx)
445 {
447 if (m_EntityAnimDbg.m_AnimEvents[evIdx].param2.Length() > 0)
448 {
449 DbgUI.Text((m_EntityAnimDbg.m_AnimEvents[evIdx].param1 / 1000.0).ToString() + " - " + m_EntityAnimDbg.m_AnimEvents[evIdx].param2);
450 }
451 DbgUI.PopID();
452 }
453
454 DbgUI.PopID();
455 }
Param3 int
Definition EnMath.c:7
static proto native void PushID_Int(int int_id)
static proto native void PopID()
static proto void InputText(string txt, out string value, int pxWidth=150)
static proto native void PushID_Str(string str_id)
static proto float Min(float x, float y)
Returns smaller of two given values.

Перекрестные ссылки DbgUI::Button(), DbgUI::InputText(), m_EntityAnimDbg, Math::Min(), DbgUI::Panel(), DbgUI::PopID(), DbgUI::PushID_Int(), DbgUI::PushID_Str() и DbgUI::Text().

Используется в OnGUI().

◆ OnGUI_BulkSet()

void OnGUI_BulkSet ( )
390 {
391 m_bBulkSet = false;
392
393 if (DbgUI.Button("Bulk set"))
394 {
395 m_bBulkSet = true;
396 }
397 }
bool m_bBulkSet
Definition PluginDayZCreatureAIDebug.c:95

Перекрестные ссылки DbgUI::Button() и m_bBulkSet.

Используется в OnGUI().

◆ OnGUI_CommandsEdit()

void OnGUI_CommandsEdit ( )
327 {
328 const int INPUT_BOX_SIZE = 35;
329
330 DbgUI.PushID_Str("CommandsEdit");
331 int cmdCount = m_EntityAnimDbg.GetCommandCount();
332 for (int i=0; i < cmdCount; i++)
333 {
335
337
338 bool result;
339 DbgUI.Check("", result);
341
342 DbgUI.SameLine();
343 bool setButtonPressed = DbgUI.Button("Set");
344
345 DbgUI.SameLine();
346 string strUserInt;
348
349 DbgUI.SameLine();
350 string strUserFloat;
352
353 DbgUI.SameLine();
354 DbgUI.Text(m_EntityAnimDbg.GetCommandName(i) + "[" + m_EntityAnimDbg.GetCommandID(i) + "]");
355
357 {
359 }
360
361 DbgUI.PopID();
362
364 }
365
366 DbgUI.PopID();
367 }
void GUIAction_ActivateCommand(int commandIdx, int userInt, float userFloat)
Definition PluginDayZCreatureAIDebug.c:719

Перекрестные ссылки DbgUI::BeginCleanupScope(), DbgUI::Button(), DbgUI::Check(), DbgUI::EndCleanupScope(), GUIAction_ActivateCommand(), DbgUI::InputText(), m_bBulkSet, m_EntityAnimDbg, m_SetCommandCheckStates, DbgUI::PopID(), DbgUI::PushID_Int(), DbgUI::PushID_Str(), DbgUI::SameLine() и DbgUI::Text().

Используется в OnGUI().

◆ OnGUI_Variables()

void OnGUI_Variables ( )
275 {
276 int varCount = m_EntityAnimDbg.GetVariableCount();
277 for (int i=0; i < varCount; i++)
278 {
280 DbgUI.Text(m_EntityAnimDbg.GetVariableName(i) + ": " + GetStrValue(i));
282 }
283 }
string GetStrValue(int index)
Definition PluginDayZCreatureAIDebug.c:135

Перекрестные ссылки DbgUI::BeginCleanupScope(), DbgUI::EndCleanupScope(), GetStrValue(), m_EntityAnimDbg и DbgUI::Text().

Используется в OnGUI().

◆ OnGUI_VariablesEdit()

void OnGUI_VariablesEdit ( )
286 {
287 const int INPUT_BOX_SIZE = 35;
288
289 DbgUI.PushID_Str("VariablesEdit");
290
291 int varCount = m_EntityAnimDbg.GetVariableCount();
292 for (int i=0; i < varCount; i++)
293 {
295
297
298 bool result;
299 DbgUI.Check("", result);
301
302 DbgUI.SameLine();
303 bool setButtonPressed = DbgUI.Button("Set");
304
305 DbgUI.SameLine();
306
307 string strUserVal;
309
310 DbgUI.SameLine();
311 DbgUI.Text(m_EntityAnimDbg.GetVariableName(i));
312
314 {
316 }
317
318 DbgUI.PopID();
319
321 }
322
323 DbgUI.PopID();
324 }
string GetStrValueType(int index)
Definition PluginDayZCreatureAIDebug.c:165
void GUIAction_SetValue(int index, string strVal)
Definition PluginDayZCreatureAIDebug.c:665

Перекрестные ссылки DbgUI::BeginCleanupScope(), DbgUI::Button(), DbgUI::Check(), DbgUI::EndCleanupScope(), GetStrValueType(), GUIAction_SetValue(), DbgUI::InputText(), m_bBulkSet, m_EntityAnimDbg, m_SetVariableCheckStates, DbgUI::PopID(), DbgUI::PushID_Int(), DbgUI::PushID_Str(), DbgUI::SameLine() и DbgUI::Text().

Используется в OnGUI().

◆ OnGUITimer()

void OnGUITimer ( )
556 {
558
559 if (GetGame().IsMultiplayer() && GetGame().IsClient())
560 {
562 }
563 }
void SendSyncMessages()
Definition PluginDayZCreatureAIDebug.c:748

Перекрестные ссылки GetGame(), m_IsActive, OnGUI() и SendSyncMessages().

◆ OnInit()

override void OnInit ( )
110 {
111 }

◆ OnRpc()

void OnRpc ( PlayerBase player,
int rpc_type,
ParamsReadContext ctx )
763 {
764 if (rpc_type == ERPCs.DEV_RPC_PLUGIN_DZCREATURE_DEBUG)
765 {
767 }
768 }
ERPCs
Definition ERPCs.c:2
void SyncReceiveMessage(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:770

Перекрестные ссылки SyncReceiveMessage().

◆ OnUpdate()

override void OnUpdate ( float delta_time)
128 {
129 if (!GetGame().IsDedicatedServer())
130 {
132 }
133 }
void CheckShowMode()
Definition PluginDayZCreatureAIDebug.c:117

Перекрестные ссылки CheckShowMode() и GetGame().

◆ PluginDayZCreatureAIDebug()

void PluginDayZCreatureAIDebug ( )
102 {
103 }

Используется в PluginBase::OnRPCPluginDayzCreatureDebug().

◆ ReleaseDebugObject()

void ReleaseDebugObject ( )

◆ SendSyncMessages()

void SendSyncMessages ( )

sync

749 {
750 int count = m_SyncMessages.Count();
751 if (count > 0)
752 {
754 m_SyncMessages.InsertAt(paramCount, 0);
755
756 GetGame().GetPlayer().RPC(ERPCs.DEV_RPC_PLUGIN_DZCREATURE_DEBUG, m_SyncMessages, true);
757
758 m_SyncMessages.Clear();
759 }
760 }
ref array< ref Param > m_SyncMessages
Definition PluginDayZCreatureAIDebug.c:99

Перекрестные ссылки GetGame() и m_SyncMessages.

Используется в OnGUITimer().

◆ SetDebugShowMode()

void SetDebugShowMode ( int mode)
566 {
567 switch (mode)
568 {
569 case 0:
570 {
571 Hide();
572 } break;
573 case 1:
574 {
575 Show();
576 } break;
577 }
578 }
void Hide()
Definition PluginDayZCreatureAIDebug.c:588
void Show()
Definition PluginDayZCreatureAIDebug.c:580

Перекрестные ссылки PluginBase::Hide() и PluginBase::Show().

Используется в CheckShowMode().

◆ SetValueBool()

void SetValueBool ( int index,
bool value )
239 {
240 m_EntityAnimDbg.SetVariableBool(index, value);
241 }

Перекрестные ссылки m_EntityAnimDbg.

Используется в GUIAction_SetValue() и SyncReceiveValueBool().

◆ SetValueFloat()

void SetValueFloat ( int index,
float value )
234 {
235 m_EntityAnimDbg.SetVariableFloat(index, value);
236 }

Перекрестные ссылки m_EntityAnimDbg.

Используется в GUIAction_SetValue() и SyncReceiveValueFloat().

◆ SetValueInt()

void SetValueInt ( int index,
int value )
229 {
230 m_EntityAnimDbg.SetVariableInt(index, value);
231 }

Перекрестные ссылки m_EntityAnimDbg.

Используется в GUIAction_SetValue() и SyncReceiveValueInt().

◆ Show()

void Show ( )
581 {
582 m_IsActive = true;
583
584 m_TickTimer = new Timer();
585 m_TickTimer.Run(0.1, this, "OnGUITimer", NULL, true);
586 }
Definition DayZPlayerImplement.c:63

Перекрестные ссылки m_IsActive и m_TickTimer.

◆ SyncActivateCommand()

void SyncActivateCommand ( int commandIdx,
int userInt,
float userFloat )

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_ActivateCommand().

◆ SyncEnableAI()

void SyncEnableAI ( bool enable)
921 {
923 if (enable)
924 {
925 type.param1 = PluginDayZCreatureAIDebugSyncMessageType.ENABLE_AI;
926 }
927 else
928 {
929 type.param1 = PluginDayZCreatureAIDebugSyncMessageType.DISABLE_AI;
930 }
931
932 m_SyncMessages.Insert(type);
933 }

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_EnableAI().

◆ SyncInitDebugObject()

void SyncInitDebugObject ( Object obj)
815 {
817 Param1<Object> object = new Param1<Object>(obj);
818
819 m_SyncMessages.Insert(type);
820 m_SyncMessages.Insert(object);
821 }

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_InitDebugObject().

◆ SyncReceiveActivateCommand()

void SyncReceiveActivateCommand ( ParamsReadContext ctx)
911 {
913
914 if (ctx.Read(command))
915 {
916 ActivateCommand(command.param1, command.param2, command.param3);
917 }
918 }

Перекрестные ссылки ActivateCommand().

Используется в SyncReceiveMessage().

◆ SyncReceiveDisableAI()

void SyncReceiveDisableAI ( ParamsReadContext ctx)
941 {
942 EnableAI(false);
943 }

Перекрестные ссылки EnableAI().

Используется в SyncReceiveMessage().

◆ SyncReceiveEnableAI()

void SyncReceiveEnableAI ( ParamsReadContext ctx)
936 {
937 EnableAI(true);
938 }

Перекрестные ссылки EnableAI().

Используется в SyncReceiveMessage().

◆ SyncReceiveInitDebugObject()

void SyncReceiveInitDebugObject ( ParamsReadContext ctx)
824 {
825 Param1<Object> object = new Param1<Object>(NULL);
826 if (ctx.Read(object))
827 {
828 InitDebugObject(object.param1);
829 }
830 }

Перекрестные ссылки InitDebugObject().

Используется в SyncReceiveMessage().

◆ SyncReceiveMessage()

void SyncReceiveMessage ( ParamsReadContext ctx)
771 {
773
774 if (ctx.Read(count))
775 {
777 for (int i=0; i < count.param1; ++i)
778 {
779 if (ctx.Read(type))
780 {
781 switch (type.param1)
782 {
783 case PluginDayZCreatureAIDebugSyncMessageType.INIT_DEBUG_OBJECT:
785 break;
786 case PluginDayZCreatureAIDebugSyncMessageType.RELEASE_DEBUG_OBJECT:
788 break;
791 break;
792 case PluginDayZCreatureAIDebugSyncMessageType.SET_VALUE_FLOAT:
794 break;
797 break;
798 case PluginDayZCreatureAIDebugSyncMessageType.ACTIVATE_COMMAND:
800 break;
803 break;
806 break;
807 }
808 }
810 }
811 }
812 }
void SyncReceiveDisableAI(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:940
void SyncReceiveInitDebugObject(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:823
void SyncReceiveReleaseDebugObject(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:839
void SyncReceiveEnableAI(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:935
void SyncReceiveValueInt(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:853
void SyncReceiveValueFloat(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:872
void SyncReceiveValueBool(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:891
void SyncReceiveActivateCommand(ParamsReadContext ctx)
Definition PluginDayZCreatureAIDebug.c:910

Перекрестные ссылки SyncReceiveActivateCommand(), SyncReceiveDisableAI(), SyncReceiveEnableAI(), SyncReceiveInitDebugObject(), SyncReceiveReleaseDebugObject(), SyncReceiveValueBool(), SyncReceiveValueFloat() и SyncReceiveValueInt().

Используется в OnRpc().

◆ SyncReceiveReleaseDebugObject()

void SyncReceiveReleaseDebugObject ( ParamsReadContext ctx)
840 {
842 }

Перекрестные ссылки ReleaseDebugObject().

Используется в SyncReceiveMessage().

◆ SyncReceiveValueBool()

void SyncReceiveValueBool ( ParamsReadContext ctx)
892 {
894
895 if (ctx.Read(paramValue))
896 {
897 SetValueBool(paramValue.param1, paramValue.param2);
898 }
899 }

Перекрестные ссылки SetValueBool().

Используется в SyncReceiveMessage().

◆ SyncReceiveValueFloat()

void SyncReceiveValueFloat ( ParamsReadContext ctx)
873 {
875
876 if (ctx.Read(paramValue))
877 {
878 SetValueFloat(paramValue.param1, paramValue.param2);
879 }
880 }

Перекрестные ссылки SetValueFloat().

Используется в SyncReceiveMessage().

◆ SyncReceiveValueInt()

void SyncReceiveValueInt ( ParamsReadContext ctx)
854 {
856
857 if (ctx.Read(paramValue))
858 {
859 SetValueInt(paramValue.param1, paramValue.param2);
860 }
861 }

Перекрестные ссылки SetValueInt().

Используется в SyncReceiveMessage().

◆ SyncReleaseDebugObject()

void SyncReleaseDebugObject ( )
833 {
835
836 m_SyncMessages.Insert(type);
837 }

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_ReleaseDebugObject().

◆ SyncSetValueBool()

void SyncSetValueBool ( int index,
bool value )
883 {
886
887 m_SyncMessages.Insert(type);
889 }

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_SetValue().

◆ SyncSetValueFloat()

void SyncSetValueFloat ( int index,
float value )
864 {
867
868 m_SyncMessages.Insert(type);
870 }

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_SetValue().

◆ SyncSetValueInt()

void SyncSetValueInt ( int index,
int value )
845 {
848
849 m_SyncMessages.Insert(type);
851 }

Перекрестные ссылки m_SyncMessages.

Используется в GUIAction_SetValue().

◆ ~PluginDayZCreatureAIDebug()

106 {
107 }

Переменные

◆ ACTIVATE_COMMAND

◆ DISABLE_AI

◆ ENABLE_AI

◆ INIT_DEBUG_OBJECT

◆ m_bAIEnabled

bool m_bAIEnabled = true

Используется в OnGUI_AIControlEdit().

◆ m_bBulkSet

bool m_bBulkSet = false

◆ m_bEditMode

bool m_bEditMode = false

Используется в OnGUI().

◆ m_bIsCaptureMode

bool m_bIsCaptureMode = false

Используется в Event_OnClick() и OnGUI().

◆ m_bShowAnimEvents

bool m_bShowAnimEvents = false

Используется в OnGUI().

◆ m_DebugEntity

◆ m_EntityAnimDbg

◆ m_iDebugMenu

Используется в CheckShowMode().

◆ m_IsActive

bool m_IsActive = false

◆ m_sDebugEntityName

string m_sDebugEntityName = ""

Используется в InitDebugObject(), OnGUI() и ReleaseDebugObject().

◆ m_SetCommandCheckStates

ref array<bool> m_SetCommandCheckStates = new array<bool>

◆ m_SetVariableCheckStates

ref array<bool> m_SetVariableCheckStates = new array<bool>

◆ m_ShowDbgUI

bool m_ShowDbgUI = false

◆ m_SyncMessages

◆ m_TickTimer

◆ RELEASE_DEBUG_OBJECT

class DayZCreatureAnimScriptDebug RELEASE_DEBUG_OBJECT

◆ SET_VALUE_BOOL

◆ SET_VALUE_FLOAT

◆ SET_VALUE_INT