17 private int m_LayerID;
26 private static int m_iFakePlayerIndex = 0;
30 ref set<SCR_EditableEntityComponent> m_LOL =
new set<SCR_EditableEntityComponent>;
33 static string GetFakePlayerName(
int playerID)
35 array<string> debugNames = {
"",
"Hedrik",
"Ton",
"Roach",
"Natasha"};
36 return debugNames[-playerID % debugNames.Count()];
38 static string GetFakePlayerName()
40 return GetFakePlayerName(m_iFakePlayerIndex);
44 protected void CreateFakePlayerServer()
46 array<SCR_SpawnPoint> spawnPoints =
SCR_SpawnPoint.GetSpawnPointsForFaction(
"USSR");
47 if (!spawnPoints.IsEmpty())
49 ResourceName prefab =
"{DCB41B3746FDD1BE}Prefabs/Characters/OPFOR/USSR_Army/Character_USSR_Rifleman.et";
51 spawnParams.Transform[3] = spawnPoints[0].GetOrigin();
54 prefab =
"{69B7035099CEE1FC}Prefabs/AI/Groups/ChimeraGroupNonEditable.et";
55 AIGroup group = AIGroup.Cast(
GetGame().SpawnEntityPrefab(
Resource.Load(prefab),
GetGame().GetWorld(), spawnParams));
57 AIControlComponent aiControl = AIControlComponent.Cast(fakePlayer.
FindComponent(AIControlComponent));
58 aiControl.ActivateAI();
59 AIAgent agent = aiControl.GetAIAgent();
61 prefab =
"{FFF9518F73279473}PrefabsEditable/Auto/AI/Waypoints/E_AIWaypoint_Move.et";
66 spawnParams.Transform[3] = cursorWorldPos;
67 AIWaypoint wp = AIWaypoint.Cast(
GetGame().SpawnEntityPrefab(
Resource.Load(prefab),
GetGame().GetWorld(), spawnParams));
69 group.AddAgent(agent);
70 group.AddWaypoint(wp);
80 protected void PingFakePlayer()
87 override void EOnFrame(
IEntity owner,
float timeSlice)
113 Rpc(CreateFakePlayerServer);
129 SCR_AccessKeysEditorComponent accessKeyComponent = SCR_AccessKeysEditorComponent.Cast(SCR_AccessKeysEditorComponent.GetInstance(SCR_AccessKeysEditorComponent));
130 if (!accessKeyComponent)
return;
134 keysType.GetVariableValue(null,
DiagMenu.GetRangeValue(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_ACCESS_KEY), keyValue);
137 accessKeyComponent.AddEntityAccessKey(m_TestComponent, keyValue);
141 accessKeyComponent.RemoveEntityAccessKey(m_TestComponent, keyValue);
153 Print(m_SelectedManager);
154 if (m_SelectedManager) m_SelectedManager.Toggle(m_TestComponent);
159 if (m_FocusedManager) m_FocusedManager.Toggle(m_TestComponent);
282 override void EOnEditorDebug(array<string> debugTexts)
288 string entityName =
"N/A";
291 if (entityUnderCursor) entityName = entityUnderCursor.GetDisplayName();
292 debugTexts.Insert(
"Under Cursor: " + entityName +
" / " + isDelegate.ToString());
296 debugTexts.Insert(
"\nTestEntity: " + m_TestComponent.
GetDisplayName());
302 debugTexts.Insert(
"Parent: N/A");
305 int enumCount = enumType.GetVariableCount();
306 for (
int i = 0; i < enumCount; i++)
309 if (enumType.GetVariableType(i) ==
int && enumType.GetVariableValue(null, i, val))
311 debugTexts.Insert(
string.Format(
"%1: %2", enumType.GetVariableName(i), m_TestComponent.
HasEntityState(val) > 0));
315 debugTexts.Insert(
"\n");
332 m_iFakePlayerIndex = 0;
340 if (!testEntity)
return;
343 if (!m_TestComponent)
return;
348 int keysCount = keysType.GetVariableCount();
350 DiagMenu.RegisterRange(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_ACCESS_KEY,
"",
"TestEntity: Access Key",
"Editable Entities",
string.Format(
"0, %1, 0, 1", keysCount - 1));
351 DiagMenu.RegisterBool(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_ACCESS_KEY_TOGGLE,
"",
"TestEntity: Access Key: Toggle",
"Editable Entities");
352 DiagMenu.RegisterRange(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_LAYER,
"",
"TestEntity: Layer",
"Editable Entities",
"0, 2, 0, 1");
353 DiagMenu.RegisterBool(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_SELECT,
"",
"TestEntity: Toggle Selection",
"Editable Entities");
354 DiagMenu.RegisterBool(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_FOCUS,
"",
"TestEntity: Toggle Focus",
"Editable Entities");
355 DiagMenu.RegisterBool(
SCR_DebugMenuID.DEBUGUI_EDITOR_ENTITIES_TEST_ENTITY_SHOW,
"",
"TestEntity: Show",
"Editable Entities");
void Rpc(func method, void p0=NULL, void p1=NULL, void p2=NULL, void p3=NULL, void p4=NULL, void p5=NULL, void p6=NULL, void p7=NULL)