6class SCR_SpawnPointRespawnRequestComponent : SCR_SpawnRequestComponent
11 return SCR_SpawnPointSpawnHandlerComponent;
23 #ifdef _ENABLE_RESPAWN_LOGS
24 Print(
string.Format(
"%1::DoCanRequestRespawn(playerId: %2, data: %3)",
Type().
ToString(),
32 Rpc(Rpc_CanRequestRespawn_S, spawnPointData.
GetRplId(), spawnPointData.
GetPrefab());
38 private void Rpc_CanRequestRespawn_S(
int spawnPointId, ResourceName prefab)
40 #ifdef _ENABLE_RESPAWN_LOGS
41 Print(
string.Format(
"%1::Rpc_CanRequestRespawn_S(playerId: %2, spawnPointId: %3, pref: %4)",
Type().
ToString(),
48 SCR_SpawnPointSpawnData
data =
new SCR_SpawnPointSpawnData(prefab, spawnPointId);
55 #ifdef _ENABLE_RESPAWN_LOGS
56 Print(
string.Format(
"%1::DoRequestRespawn(playerId: %2, data: %3)",
Type().
ToString(),
60 SCR_SpawnPointSpawnData spawnPointData = SCR_SpawnPointSpawnData.Cast(
data);
70 private void Rpc_RequestRespawn_S(
int spawnPointId, ResourceName prefab)
72 #ifdef _ENABLE_RESPAWN_LOGS
73 Print(
string.Format(
"%1::Rpc_RequestRespawn_S(playerId: %2, spawnPointId: %3, pref: %4)",
Type().
ToString(),
80 SCR_SpawnPointSpawnData
data =
new SCR_SpawnPointSpawnData(prefab, spawnPointId);
86 override SCR_BaseRespawnDiag CreateDiag()
88 return new SCR_SpawnPointRespawnDiag();
94class SCR_SpawnPointRespawnDiag : SCR_RespawnDiag<SCR_SpawnPointRespawnRequestComponent>
96 protected string m_Prefab =
"{7A9EE19AB67B298B}Prefabs/Characters/Factions/INDFOR/FIA/Character_FIA_base.et";
97 protected RplId m_RplId;
99 override void DrawContent()
102 DbgUI.InputText(
"Prefab: ",
m_Prefab);
103 DbgUI.InputInt(
"RplId: ", m_RplId);
106 DbgUI.Text(
"======== UTILITY ========");
108 DbgUI.InputInt(
"Index2Id: ",
index);
109 SCR_SpawnPoint point = SCR_SpawnPoint.GetSpawnPointByIndex(
index);
112 string strRplId = point.
GetRplId().ToString();
113 DbgUI.Text(
string.Format(
"Point index: %1\n\tRplId: %2\n\tFaction: %3\n\tType: %4",
116 SCR_PlayerSpawnPoint psp = SCR_PlayerSpawnPoint.Cast(point);
119 int pid = psp.GetPlayerID();
120 string pnam =
GetGame().GetPlayerManager().GetPlayerName(pid);
121 DbgUI.Text(
string.Format(
" playerId: %1\n playerName: %2", pid, pnam));
126 if (DbgUI.Button(
"Copy RplId to clipboard"))
127 System.ExportToClipboard(strRplId);
131 DbgUI.Text(
string.Format(
"No spawn point at index: %1",
index));
136 protected override SCR_SpawnData CreateData()
138 return new SCR_SpawnPointSpawnData(
m_Prefab, m_RplId);
ArmaReforgerScripted GetGame()
enum EAIGroupCombatMode ComponentEditorProps(category:"GameScripted/AI", description:"Component for utility AI system for groups")
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Get all prefabs that have the spawner data
SCR_FreeSpawnRequestComponentClass SCR_SpawnRequestComponentClass GetHandlerType()
bool DoRequestRespawn(SCR_SpawnData data)
void ProcessRequest_S(SCR_SpawnData data)
void ProcessCanRequest_S(SCR_SpawnData data)
bool DoCanRequestRespawn(SCR_SpawnData data)
bool IsSpawnPointActive()
override ResourceName GetPrefab()
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
proto external PlayerController GetPlayerController()
proto external int GetPlayerId()
void RplRpc(RplChannel channel, RplRcver rcver, RplCondition condition=RplCondition.None, string customConditionName="")
RplChannel
Communication channel. Reliable is guaranteed to be delivered. Unreliable not.
proto external string ToString()
Plain C++ pointer, no weak pointers, no memory management.