Arma Reforger Explorer  1.1.0.42
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
SCR_GameOverScreenManagerComponent.c
Go to the documentation of this file.
1 [ComponentEditorProps(category: "GameScripted/GameOver", description: "")]
4 {
5 }
6 
7 class SCR_GameOverScreenManagerComponent : SCR_BaseGameModeComponent
8 {
9  [Attribute()]
10  protected ref SCR_GameOverScreenConfig m_GameOverScreenConfig;
11 
12  [Attribute("1", desc: "Delay (in seconds) to lock player input and display the actual end screen after end screen has faded in")]
13  protected float m_fShowEndscreenDelay;
14 
15  [Attribute("{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout", params: "layout")]
16  protected ResourceName m_sGameOverScreenBasePrefab;
17 
18  //Editor only
19  protected bool m_bListeningToEditorCalledEndGame = false;
21  protected ref array<int> m_aEditorSetFactions = {};
22 
23  //End game vars saved so it can be usesed in multiple function
25  protected bool m_bIsFactionVictory = false;
26  protected Faction m_FactionPlayer = null;
27  protected int m_iPlayerId = -1;
28  protected int m_iEndReason = 0;
29  protected ref array<Faction> m_aWinningFactions = {};
30  protected ref array<int> m_aWinningPlayers = {};
31  protected bool m_bIsPlayingGameOverAudio = false;
32 
33  static const ref ScriptInvoker s_OnEndGame = new ScriptInvoker();
34 
35  protected Widget m_EndScreenFade;
36 
37  //------------------------------------------------------------------------------------------------
40  {
41  return m_GameOverScreenConfig;
42  }
43 
44  //------------------------------------------------------------------------------------------------
48  protected void StartEndGameFade()
49  {
50  SetGameOverVarriables(GetGameMode().GetEndGameData());
51  SCR_HUDManagerComponent hudManager = GetGame().GetHUDManager();
52  if (!hudManager)
53  return;
54 
55  m_EndScreenFade = hudManager.CreateLayout(m_sGameOverScreenBasePrefab, EHudLayers.ALWAYS_TOP, 0);
57 
58  if (!fadeComponent)
59  {
60  Debug.Error2("SCR_GameOverScreenManagerComponent", "StartEndGameFade, could not find FadeUIComponent!");
61  return;
62  }
63 
64  fadeComponent.GetOnFadeDone().Insert(OnEndScreenFadeDone);
65  fadeComponent.FadeIn();
66 
67  // Hide other HUD elements
68  hudManager.SetVisibleLayers(hudManager.GetVisibleLayers() & ~(EHudLayers.HIGH));
69 
70  //Play game over audio if has any and non are playing
72  return;
73 
74  SCR_BaseGameOverScreenInfo gameOverScreenInfo;
75  if (!m_GameOverScreenConfig.GetGameOverScreenInfo(m_iEndGameType, gameOverScreenInfo))
76  {
77  Print(string.Format("SCR_GameOverScreenManagerComponent could not find end screen: %1, to play audio", typename.EnumToString(EGameOverTypes, m_iEndGameType)), LogLevel.WARNING);
78  return;
79  }
80 
81  if (!gameOverScreenInfo.HasOptionalParams())
82  return;
83 
85  s_OnEndGame.Invoke(gameOverScreenInfo.GetOneShotAudio(m_FactionPlayer, m_aWinningFactions));
86  else
87  s_OnEndGame.Invoke(gameOverScreenInfo.GetOneShotAudio(m_iPlayerId, m_aWinningPlayers));
88 
90  }
91 
92  //------------------------------------------------------------------------------------------------
96  protected void OnEndScreenFadeDone(SCR_FadeUIComponent fadeComponent, bool isFadeIn)
97  {
98  //Close all dialogs
99  GetGame().GetMenuManager().CloseAllMenus();
100  GetGame().GetCallqueue().CallLater(ShowGameOverScreen, m_fShowEndscreenDelay * 1000, false, null);
101  }
102 
103  //------------------------------------------------------------------------------------------------
108  {
109  //Remove the fade UI
110  if (m_EndScreenFade)
111  {
112  m_EndScreenFade.RemoveFromHierarchy();
113 
114  // Unhide other HUD elements which we hid previously when we started the fade
115  SCR_HUDManagerComponent hudManager = GetGame().GetHUDManager();
116  if (hudManager)
117  hudManager.SetVisibleLayers(hudManager.GetVisibleLayers() | EHudLayers.HIGH);
118  }
119 
120  if (!endData)
121  endData = GetGameMode().GetEndGameData();
122 
123  if (m_iEndGameType == EGameOverTypes.UNKNOWN)
124  SetGameOverVarriables(endData);
125 
126  SCR_BaseGameOverScreenInfo gameOverScreenInfo;
127 
128  //Get game over type
129  if (!m_GameOverScreenConfig.GetGameOverScreenInfo(m_iEndGameType, gameOverScreenInfo))
130  {
131  Print(string.Format("'SCR_GameOverScreenConfig': Could not find '%1' endscreen in array!", typename.EnumToString(EGameOverTypes, m_iEndGameType)), LogLevel.NORMAL);
132  return null;
133  }
134 
135  if (gameOverScreenInfo.HasOptionalParams())
136  {
137  //Show end screen
139  {
141  s_OnEndGame.Invoke(gameOverScreenInfo.GetOneShotAudio(m_FactionPlayer, m_aWinningFactions));
142 
143  SCR_GameOverScreenUIComponent gameOverScreen = OpenGameOverScreen(gameOverScreenInfo.GetGameOverContentLayout(), endData, gameOverScreenInfo.GetTitle(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetSubtitle(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetDebriefing(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetImage(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetIcon(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetVignetteColor(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetTitleParam(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetSubtitleParam(m_FactionPlayer, m_aWinningFactions), gameOverScreenInfo.GetDebriefingParam(m_FactionPlayer, m_aWinningFactions));
144  gameOverScreenInfo.GameOverUICustomization(gameOverScreen, m_FactionPlayer, m_aWinningFactions);
145  return gameOverScreen;
146  }
147  else
148  {
150  s_OnEndGame.Invoke(gameOverScreenInfo.GetOneShotAudio(m_iPlayerId, m_aWinningPlayers));
151 
152  SCR_GameOverScreenUIComponent gameOverScreen = OpenGameOverScreen(gameOverScreenInfo.GetGameOverContentLayout(), endData, gameOverScreenInfo.GetTitle(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetSubtitle(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetDebriefing(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetImage(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetIcon(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetVignetteColor(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetTitleParam(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetSubtitleParam(m_iPlayerId, m_aWinningPlayers), gameOverScreenInfo.GetDebriefingParam(m_iPlayerId, m_aWinningPlayers));
153  gameOverScreenInfo.GameOverUICustomization(gameOverScreen, m_iPlayerId, m_aWinningPlayers);
154  return gameOverScreen;
155  }
156  }
157  else
158  {
160  {
161  SCR_GameOverScreenUIComponent gameOverScreen = OpenGameOverScreen(gameOverScreenInfo.GetGameOverContentLayout(), endData, gameOverScreenInfo.GetTitle(m_FactionPlayer, m_aWinningFactions));
162  gameOverScreenInfo.GameOverUICustomization(gameOverScreen, m_FactionPlayer, m_aWinningFactions);
163  return gameOverScreen;
164  }
165  else
166  {
167  SCR_GameOverScreenUIComponent gameOverScreen = OpenGameOverScreen(gameOverScreenInfo.GetGameOverContentLayout(), endData, gameOverScreenInfo.GetTitle(m_iPlayerId, m_aWinningPlayers));
168  gameOverScreenInfo.GameOverUICustomization(gameOverScreen, m_iPlayerId, m_aWinningPlayers);
169  return gameOverScreen;
170  }
171  }
172 
173  //Makes sure set game over varriables are set again next time end game is called
174  m_iEndGameType = EGameOverTypes.UNKNOWN;
175  }
176 
177  //------------------------------------------------------------------------------------------------
180  protected void SetGameOverVarriables(SCR_GameModeEndData endData = null)
181  {
182  m_iEndGameType = EGameOverTypes.UNKNOWN;
184  m_FactionPlayer = null;
185  m_iPlayerId = -1;
186  m_iEndReason = 0;
187  m_aWinningFactions.Clear();
188  m_aWinningPlayers.Clear();
189  m_bIsFactionVictory = false;
190 
191  FactionManager factionManager = GetGame().GetFactionManager();
192  PlayerManager playerManager = GetGame().GetPlayerManager();
193 
194  if (!endData)
195  endData = GetGameMode().GetEndGameData();
196 
197  if (endData != null)
198  {
199  m_iEndReason = endData.GetEndReason();
200 
201  if (factionManager)
202  {
203  array<int> winningFactionIds = {};
204  endData.GetFactionWinnerIds(winningFactionIds);
205 
206  if (winningFactionIds)
207  {
208  Faction factionVictor;
209 
210  foreach (int id: winningFactionIds)
211  {
212  factionVictor = factionManager.GetFactionByIndex(id);
213  if (factionVictor)
214  m_aWinningFactions.Insert(factionVictor);
215  }
216  }
217  }
218 
219  endData.GetWinnerIds(m_aWinningPlayers);
220 
222  }
223 
224  if (playerManager)
225  {
226  SCR_PlayerController pc = SCR_PlayerController.Cast(GetGame().GetPlayerController());
227  if (pc)
228  {
229  m_iPlayerId = pc.GetPlayerId();
230 
231  SCR_FactionManager scrFactionManager = SCR_FactionManager.Cast(factionManager);
232  if (scrFactionManager)
233  m_FactionPlayer = scrFactionManager.GetLocalPlayerFaction();
234  else
235  m_FactionPlayer = null;
236  }
237  }
238 
239  //Get the type of game over using given data
241  }
242 
243  //------------------------------------------------------------------------------------------------
252  protected EGameOverTypes GetGameOverType(int endReason, int playerId, array<int> winningPlayers, Faction factionPlayer, array<Faction> factionsVictor, bool isFactionVictory)
253  {
255 
256  //-1: ENDREASON_UNDEFINED: Undefined
257  if (endReason == EGameOverTypes.ENDREASON_UNDEFINED)
258  {
259  return EGameOverTypes.NEUTRAL;
260  }
261  //-2: ENDREASON_TIMELIMIT: Time limit reached
262  else if (endReason == EGameOverTypes.ENDREASON_TIMELIMIT)
263  {
264  if (isFactionVictory)
265  {
266  if (!factionPlayer)
267  return EGameOverTypes.FACTION_NEUTRAL;
268  else if (factionsVictor.Contains(factionPlayer))
269  return EGameOverTypes.FACTION_VICTORY_TIME;
270  else
271  return EGameOverTypes.FACTION_DEFEAT_TIME;
272  }
273  else
274  {
275  if (winningPlayers.Contains(playerId))
276  return EGameOverTypes.DEATHMATCH_VICTORY_TIME;
277  else
278  return EGameOverTypes.DEATHMATCH_DEFEAT_TIME;
279  }
280 
281  }
282  //-3: ENDREASON_SCORELIMIT: Score limit reached
283  else if (endReason == EGameOverTypes.ENDREASON_SCORELIMIT)
284  {
285  if (isFactionVictory)
286  {
287  if (!factionPlayer)
288  return EGameOverTypes.FACTION_NEUTRAL;
289  else if (factionsVictor.Contains(factionPlayer))
290  return EGameOverTypes.FACTION_VICTORY_SCORE;
291  else
292  return EGameOverTypes.FACTION_DEFEAT_SCORE;
293  }
294  else
295  {
296  if (winningPlayers.Contains(playerId))
297  return EGameOverTypes.DEATHMATCH_VICTORY_SCORE;
298  else
299  return EGameOverTypes.DEATHMATCH_DEFEAT_SCORE;
300  }
301  }
302  //-4: ENDREASON_DRAW
303  else if (endReason == EGameOverTypes.ENDREASON_DRAW)
304  {
305  if (isFactionVictory)
306  {
307  if (!factionPlayer)
308  return EGameOverTypes.FACTION_NEUTRAL;
309  else
310  return EGameOverTypes.FACTION_DRAW;
311  }
312  else
313  {
314  return EGameOverTypes.DEATHMATCH_DRAW;
315  }
316  }
318  else if (endReason == EGameOverTypes.SERVER_RESTART)
319  {
320  return EGameOverTypes.SERVER_RESTART;
321  }
323  //Editor Victory
324  else if (endReason == EGameOverTypes.EDITOR_FACTION_VICTORY)
325  {
326  if (!factionPlayer)
327  return EGameOverTypes.EDITOR_FACTION_NEUTRAL;
328  else if (factionsVictor.Contains(factionPlayer))
329  return EGameOverTypes.EDITOR_FACTION_VICTORY;
330  else
331  return EGameOverTypes.EDITOR_FACTION_DEFEAT;
332  }
333  //Editor Draw
334  else if (endReason == EGameOverTypes.EDITOR_FACTION_DRAW)
335  {
336  if (!factionPlayer)
337  return EGameOverTypes.EDITOR_FACTION_NEUTRAL;
338  else
339  return EGameOverTypes.EDITOR_FACTION_DRAW;
340  }
342  else
343  {
344  return endReason;
345  }
346  }
347 
348  //------------------------------------------------------------------------------------------------
352  {
353  return m_iEndGameType;
354  }
355 
356  //------------------------------------------------------------------------------------------------
370  SCR_GameOverScreenUIComponent OpenGameOverScreen(ResourceName contentLayout, SCR_GameModeEndData endData, LocalizedString title = string.Empty, LocalizedString subtitle = string.Empty, LocalizedString debriefing = string.Empty, ResourceName imageTexture = ResourceName.Empty, ResourceName icon = ResourceName.Empty, Color vignetteColor = null, string titleParam = string.Empty, string subtitleParam = string.Empty, string debriefingParam = string.Empty)
371  {
372  SCR_HUDManagerComponent hudManager = GetGame().GetHUDManager();
373  if (!hudManager)
374  return null;
375 
376  //This is just temporary hopefully. This bypasses a lot of the code here and in other files. If one wants to change the layout, do it in Menu Config.
377  MenuBase menu = GetGame().GetMenuManager().OpenMenu(ChimeraMenuPreset.EndgameScreen, 0, true);
378 
379  Widget screen = Widget.Cast(menu.GetRootWidget());
380 
382 
383  if (screenUIComponent)
384  {
385  SCR_GameOverScreenUIContentData content = new SCR_GameOverScreenUIContentData(contentLayout, endData, title, subtitle, debriefing, imageTexture, icon, vignetteColor, titleParam, subtitleParam, debriefingParam);
386  screenUIComponent.InitGameOverScreen(content);
387  }
388 
389  return screenUIComponent;
390  }
391 
393 
394  //------------------------------------------------------------------------------------------------
396  {
398 
400  if (!gamemode)
401  return;
402 
403  SCR_BaseGameOverScreenInfo gameOverInfo = m_GameOverScreenConfig.GetGameOverInfo(m_iEditorSetGameOverType);
404  if (!gameOverInfo)
405  {
406  gameOverInfo = m_GameOverScreenConfig.GetGameOverInfo(EGameOverTypes.EDITOR_NEUTRAL);
407  //~ Could not find game over so used EDITOR_NEUTRAL
408  if (gameOverInfo)
409  {
410  m_iEditorSetGameOverType = EGameOverTypes.EDITOR_NEUTRAL;
411  Print(string.Format("SCR_GameOverScreenManagerComponent could not find end screen: %1, so EDITOR_NEUTRAL is used instead", typename.EnumToString(EGameOverTypes, m_iEditorSetGameOverType)), LogLevel.ERROR);
412  }
413  //~ Could not find EDITOR_NEUTRAL either
414  else
415  {
416  //~ Try to find NEUTRAL
417  gameOverInfo = m_GameOverScreenConfig.GetGameOverInfo(EGameOverTypes.NEUTRAL);
418  if (gameOverInfo)
419  {
421  Print(string.Format("SCR_GameOverScreenManagerComponent could not find end screen: %1 and EDITOR_NEUTRAL could not be found so NEUTRAL is used instead", typename.EnumToString(EGameOverTypes, m_iEditorSetGameOverType)), LogLevel.ERROR);
422  }
423  //~ Even NEUTRAL could not be found for some reason
424  else
425  {
426  Print(string.Format("SCR_GameOverScreenManagerComponent could not find end screen: %1 nor EDITOR_NEUTRAL or NEUTRAL. Check if the config is set up correctly!", typename.EnumToString(EGameOverTypes, m_iEditorSetGameOverType)), LogLevel.ERROR);
427  return;
428  }
429  }
430  }
431 
432  SCR_BaseGameOverScreenInfoEditor optionalEditorParam = gameOverInfo.GetEditorOptionalParams();
433 
434  if (!optionalEditorParam || !optionalEditorParam.m_bNeedsPlayableFactions)
435  gamemode.EndGameMode(SCR_GameModeEndData.CreateSimple(m_iEditorSetGameOverType));
436  else
437  gamemode.EndGameMode(SCR_GameModeEndData.Create(m_iEditorSetGameOverType, null, m_aEditorSetFactions));
438 
439  //Clear vars
440  m_aEditorSetFactions.Clear();
441  m_iEditorSetGameOverType = EGameOverTypes.EDITOR_NEUTRAL;
442  }
443 
444  //------------------------------------------------------------------------------------------------
448  {
449  m_iEditorSetGameOverType = gameOverType;
450 
452  {
454  GetGame().GetCallqueue().CallLater(OnEditorEndGameApplyDelayDone, 1);
455  }
456  }
457 
458  //------------------------------------------------------------------------------------------------
461  void SetEditorGameOverFactions(notnull array<int> factions)
462  {
463  m_aEditorSetFactions = factions;
464 
466  {
468  GetGame().GetCallqueue().CallLater(OnEditorEndGameApplyDelayDone, 1);
469  }
470  }
471 
472  //------------------------------------------------------------------------------------------------
473  // When game ends
475  {
476  //If called on init HUD Manager might not exist so call it with a delay
477  if (!GetGame().GetHUDManager())
478  {
479  GetGame().GetCallqueue().CallLater(OnInitDelayedEndGame, 1000);
480  return;
481  }
483  }
484 
485  //------------------------------------------------------------------------------------------------
486  protected void OnInitDelayedEndGame()
487  {
489  }
490 
491  //------------------------------------------------------------------------------------------------
492  override void OnPostInit(IEntity owner)
493  {
494  }
495 }
496 
498 {
499  ResourceName m_sGameOverLayout;
500  ref SCR_GameModeEndData m_EndGameData;
501  LocalizedString m_sTitle;
502  LocalizedString m_sSubtitle;
503  LocalizedString m_sDebriefing;
504  ResourceName m_sImageTexture;
505  ResourceName m_sIcon;
506  Color m_cVignetteColor;
507  string m_sTitleParam;
508  string m_sSubtitleParam;
509  string m_sDebriefingParam;
510 
511  //------------------------------------------------------------------------------------------------
512  // constructor
524  void SCR_GameOverScreenUIContentData(ResourceName gameOverLayout, SCR_GameModeEndData endGameData, LocalizedString title = string.Empty, LocalizedString subtitle = string.Empty, LocalizedString debriefing = string.Empty, ResourceName imageTexture = ResourceName.Empty, ResourceName icon = ResourceName.Empty, Color vignetteColor = null, string titleParam = string.Empty, string subtitleParam = string.Empty, string debriefingParam = string.Empty)
525  {
526  m_sGameOverLayout = gameOverLayout;
527  m_EndGameData = endGameData;
528  m_sTitle = title;
529  m_sSubtitle = subtitle;
530  m_sDebriefing = debriefing;
531  m_sImageTexture = imageTexture;
532  m_sIcon = icon;
533  m_cVignetteColor = vignetteColor;
534  m_sTitleParam = titleParam;
535  m_sSubtitleParam = subtitleParam;
536  m_sDebriefingParam = debriefingParam;
537  }
538 }
ComponentEditorProps
SCR_FragmentEntityClass ComponentEditorProps
SetGameOverVarriables
protected void SetGameOverVarriables(SCR_GameModeEndData endData=null)
Definition: SCR_GameOverScreenManagerComponent.c:180
SCR_BaseGameMode
Definition: SCR_BaseGameMode.c:137
SCR_HUDManagerComponent
Definition: SCR_HUDManagerComponent.c:23
SCR_BaseGameOverScreenInfo
Definition: SCR_BaseGameOverScreenInfo.c:2
SCR_PlayerController
Definition: SCR_PlayerController.c:31
SCR_FadeUIComponent
Definition: SCR_FadeUIComponent.c:1
m_bListeningToEditorCalledEndGame
protected bool m_bListeningToEditorCalledEndGame
Definition: SCR_GameOverScreenManagerComponent.c:19
m_aEditorSetFactions
protected ref array< int > m_aEditorSetFactions
Definition: SCR_GameOverScreenManagerComponent.c:21
SCR_BaseGameOverScreenInfoEditor
Definition: SCR_BaseGameOverScreenInfo.c:391
SCR_GameOverScreenManagerComponentClass
Handles the showing of end screen and has a config with gameover screens.
Definition: SCR_GameOverScreenManagerComponent.c:3
GetGame
ArmaReforgerScripted GetGame()
Definition: game.c:1424
ShowGameOverScreen
SCR_GameOverScreenUIComponent ShowGameOverScreen(SCR_GameModeEndData endData=null)
Definition: SCR_GameOverScreenManagerComponent.c:107
m_FactionPlayer
protected Faction m_FactionPlayer
Definition: SCR_GameOverScreenManagerComponent.c:26
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition: SCR_RespawnBriefingComponent.c:17
GetCurrentGameOverType
EGameOverTypes GetCurrentGameOverType()
Definition: SCR_GameOverScreenManagerComponent.c:351
OnInitDelayedEndGame
protected void OnInitDelayedEndGame()
Definition: SCR_GameOverScreenManagerComponent.c:486
OpenGameOverScreen
SCR_GameOverScreenUIComponent OpenGameOverScreen(ResourceName contentLayout, SCR_GameModeEndData endData, LocalizedString title=string.Empty, LocalizedString subtitle=string.Empty, LocalizedString debriefing=string.Empty, ResourceName imageTexture=ResourceName.Empty, ResourceName icon=ResourceName.Empty, Color vignetteColor=null, string titleParam=string.Empty, string subtitleParam=string.Empty, string debriefingParam=string.Empty)
Definition: SCR_GameOverScreenManagerComponent.c:370
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition: SCR_BaseGameModeComponent.c:15
m_iEndReason
protected int m_iEndReason
Definition: SCR_GameOverScreenManagerComponent.c:28
m_aWinningPlayers
protected ref array< int > m_aWinningPlayers
Definition: SCR_GameOverScreenManagerComponent.c:30
OnEditorEndGameApplyDelayDone
protected void OnEditorEndGameApplyDelayDone()
Definition: SCR_GameOverScreenManagerComponent.c:395
EHudLayers
EHudLayers
Definition: SCR_HUDManagerComponent.c:5
m_aWinningFactions
protected ref array< Faction > m_aWinningFactions
Definition: SCR_GameOverScreenManagerComponent.c:29
EGameOverTypes
EGameOverTypes
Definition: EGameOverTypes.c:1
Attribute
SCR_GameOverScreenManagerComponentClass SCR_BaseGameModeComponentClass Attribute()] protected ref SCR_GameOverScreenConfig m_GameOverScreenConfig
Post-process effect of scripted camera.
SetEditorGameOverFactions
void SetEditorGameOverFactions(notnull array< int > factions)
Definition: SCR_GameOverScreenManagerComponent.c:461
m_iEndGameType
protected EGameOverTypes m_iEndGameType
Definition: SCR_GameOverScreenManagerComponent.c:24
m_EndScreenFade
protected Widget m_EndScreenFade
Definition: SCR_GameOverScreenManagerComponent.c:35
OnGameModeEnd
override void OnGameModeEnd(SCR_GameModeEndData data)
Definition: SCR_GameOverScreenManagerComponent.c:474
SetEditorGameOverType
void SetEditorGameOverType(EGameOverTypes gameOverType)
Definition: SCR_GameOverScreenManagerComponent.c:447
SCR_GameModeEndData
Definition: SCR_GameModeEndData.c:4
m_sGameOverScreenBasePrefab
protected ResourceName m_sGameOverScreenBasePrefab
Definition: SCR_GameOverScreenManagerComponent.c:16
OnPostInit
override void OnPostInit(IEntity owner)
Editable Mine.
Definition: SCR_GameOverScreenManagerComponent.c:492
Faction
Definition: Faction.c:12
StartEndGameFade
protected void StartEndGameFade()
Definition: SCR_GameOverScreenManagerComponent.c:48
GetHUDManager
SCR_HUDManagerComponent GetHUDManager()
Definition: game.c:1196
m_fShowEndscreenDelay
protected float m_fShowEndscreenDelay
Definition: SCR_GameOverScreenManagerComponent.c:13
SCR_GameOverScreenUIContentData
Definition: SCR_GameOverScreenManagerComponent.c:497
ChimeraMenuPreset
ChimeraMenuPreset
Menu presets.
Definition: ChimeraMenuBase.c:3
GetGameOverConfig
SCR_GameOverScreenConfig GetGameOverConfig()
Definition: SCR_GameOverScreenManagerComponent.c:39
SCR_GameOverScreenConfig
Definition: SCR_GameOverScreenConfig.c:2
m_iPlayerId
protected int m_iPlayerId
Definition: SCR_GameOverScreenManagerComponent.c:27
m_iEditorSetGameOverType
protected EGameOverTypes m_iEditorSetGameOverType
Definition: SCR_GameOverScreenManagerComponent.c:20
data
Get all prefabs that have the spawner data
Definition: SCR_EntityCatalogManagerComponent.c:305
params
Configs ServerBrowser KickDialogs params
Definition: SCR_NotificationSenderComponent.c:24
m_bIsFactionVictory
protected bool m_bIsFactionVictory
Definition: SCR_GameOverScreenManagerComponent.c:25
SCR_FactionManager
void SCR_FactionManager(IEntitySource src, IEntity parent)
Definition: SCR_FactionManager.c:461
SCR_GameOverScreenUIComponent
Definition: SCR_GameOverScreenUIComponent.c:1
LocalizedString
Definition: LocalizedString.c:21
OnEndScreenFadeDone
protected void OnEndScreenFadeDone(SCR_FadeUIComponent fadeComponent, bool isFadeIn)
Definition: SCR_GameOverScreenManagerComponent.c:96
m_sIcon
protected string m_sIcon
Definition: SCR_InventoryHitZonePointUI.c:373
GetGameOverType
protected EGameOverTypes GetGameOverType(int endReason, int playerId, array< int > winningPlayers, Faction factionPlayer, array< Faction > factionsVictor, bool isFactionVictory)
Definition: SCR_GameOverScreenManagerComponent.c:252
PlayerManager
Definition: PlayerManager.c:12
SCR_BaseGameModeComponentClass
Definition: SCR_BaseGameModeComponent.c:2
m_bIsPlayingGameOverAudio
protected bool m_bIsPlayingGameOverAudio
Definition: SCR_GameOverScreenManagerComponent.c:31
category
params category
Definition: SCR_VehicleDamageManagerComponent.c:180
SCR_BaseGameModeComponent
void SCR_BaseGameModeComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition: SCR_BaseGameModeComponent.c:199