protected void Awake() { if (Plugin.Config.MissLighting) { MultiplayerGameplayAnimator gameplayAnimator = transform.GetComponentInChildren <MultiplayerGameplayAnimator>(); MultiplayerGameplayLighting gameplayLighting = gameplayAnimator.gameObject.AddComponent <MultiplayerGameplayLighting>(); gameplayLighting.Construct(_connectedPlayer, _multiplayerController, _scoreProvider, _leadPlayerProvider, gameplayAnimator, _extendedPlayerManager); } }
internal void Construct(IConnectedPlayer connectedPlayer, MultiplayerController multiplayerController, IScoreSyncStateManager scoreProvider, MultiplayerLeadPlayerProvider leadPlayerProvider, MultiplayerGameplayAnimator gameplayAnimator, ExtendedPlayerManager extendedPlayerManager) { _connectedPlayer = connectedPlayer; _multiplayerController = multiplayerController; _scoreProvider = scoreProvider; _leadPlayerProvider = leadPlayerProvider; _gameplayAnimator = gameplayAnimator; _extendedPlayerManager = extendedPlayerManager; _allLights = gameplayAnimator.GetField <LightsAnimator[], MultiplayerGameplayAnimator>("_allLightsAnimators"); _gameplayLights = gameplayAnimator.GetField <LightsAnimator[], MultiplayerGameplayAnimator>("_gameplayLightsAnimators"); _activeLightsColor = gameplayAnimator.GetField <ColorSO, MultiplayerGameplayAnimator>("_activeLightsColor"); _leadingLightsColor = gameplayAnimator.GetField <ColorSO, MultiplayerGameplayAnimator>("_leadingLightsColor"); _failedLightsColor = gameplayAnimator.GetField <ColorSO, MultiplayerGameplayAnimator>("_failedLightsColor"); _leadPlayerProvider.newLeaderWasSelectedEvent += this.HandleNewLeaderWasSelected; }