public void GetControllers() { scoreController = Resources.FindObjectsOfTypeAll <ScoreController>().FirstOrDefault(); energyCounter = Resources.FindObjectsOfTypeAll <GameEnergyCounter>().FirstOrDefault(); rankCounter = Resources.FindObjectsOfTypeAll <RelativeScoreAndImmediateRankCounter>().FirstOrDefault(); endActions = Resources.FindObjectsOfTypeAll <StandardLevelGameplayManager>().FirstOrDefault(); if (endActions == null) { endActions = Resources.FindObjectsOfTypeAll <MissionLevelGameplayManager>().FirstOrDefault(); } if (scoreController != null && energyCounter != null && rankCounter != null && endActions != null) { scoreController.noteWasCutEvent += NoteHit; scoreController.noteWasMissedEvent += NoteMiss; endActions.levelFinishedEvent += LevelFinished; endActions.levelFailedEvent += LevelFinished; Logger.log.Debug("PerformanceMeter reloaded successfully"); } else { Logger.log.Error("Could not reload PerformanceMeter"); scoreController = null; energyCounter = null; rankCounter = null; endActions = null; } }
public void Inject(ILoggerProvider loggerProvider, LoadedAvatar avatar, ScoreController scoreController, BeatmapObjectCallbackController beatmapObjectCallbackController, ILevelEndActions levelEndActions) { _logger = loggerProvider.CreateLogger <AvatarGameplayEventsPlayer>(avatar.descriptor.name); _scoreController = scoreController; _levelEndActions = levelEndActions; _beatmapObjectCallbackController = beatmapObjectCallbackController; }
public InstaFailAccuracyGameController(PluginConfig config, ILevelEndActions levelEndActions, ScoreController scoreController, StandardLevelFailedController standardLevelFailedController) { _config = config; _levelEndActions = levelEndActions; _scoreController = scoreController; _standardLevelFailedController = standardLevelFailedController; }
public void GetControllers() { DismissGraph(null); levelOk = false; averageHitValue = 0.0f; averageHitValueSize = 0; secondaryAverageHitValue = 0.0f; secondaryAverageHitValueSize = 0; energyList.Clear(); secondaryEnergyList.Clear(); misses.Clear(); if (PluginConfig.Instance.mode == PluginConfig.MeasurementMode.Energy) { energyList.Add(new Pair <float, float>(0.0f, 0.5f)); } if (PluginConfig.Instance.secondaryMode == PluginConfig.MeasurementMode.Energy) { secondaryEnergyList.Add(new Pair <float, float>(0.0f, 0.5f)); } scoreController = Resources.FindObjectsOfTypeAll <ScoreController>().LastOrDefault(); ComboUIController comboUIController = Resources.FindObjectsOfTypeAll <ComboUIController>().LastOrDefault(); energyCounter = Resources.FindObjectsOfTypeAll <GameEnergyCounter>().LastOrDefault(); rankCounter = Resources.FindObjectsOfTypeAll <RelativeScoreAndImmediateRankCounter>().LastOrDefault(); audioController = Resources.FindObjectsOfTypeAll <AudioTimeSyncController>().LastOrDefault(); endActions = Resources.FindObjectsOfTypeAll <StandardLevelGameplayManager>().LastOrDefault(); if (endActions == null) { endActions = Resources.FindObjectsOfTypeAll <MissionLevelGameplayManager>().LastOrDefault(); } if (endActions != null && scoreController != null && energyCounter != null && rankCounter != null && audioController != null && comboUIController != null) { objectManager = (BeatmapObjectManager)_beatmapObjectManager.GetValue(scoreController); comboController = (ComboController)_comboController.GetValue(comboUIController); objectManager.noteWasCutEvent += NoteHit; objectManager.noteWasMissedEvent += NoteMiss; comboController.comboBreakingEventHappenedEvent += ComboBreak; endActions.levelFinishedEvent += LevelFinished; endActions.levelFailedEvent += LevelFinished; Logger.log.Debug("PerformanceMeter reloaded successfully"); } else { Logger.log.Error("Could not reload PerformanceMeter. This may occur when playing online - if so, disregard this message."); scoreController = null; objectManager = null; comboController = null; energyCounter = null; rankCounter = null; audioController = null; endActions = null; } }
public AvatarGameplayEventsPlayer(ILogger <AvatarGameplayEventsPlayer> logger, PlayerAvatarManager avatarManager, ScoreController scoreController, [InjectOptional] ILevelEndActions levelEndActions, [InjectOptional] IMultiplayerLevelEndActionsPublisher multiplayerLevelEndActions, BeatmapObjectCallbackController beatmapObjectCallbackController, ObstacleSaberSparkleEffectManager sparkleEffectManager) { _logger = logger; _avatarManager = avatarManager; _scoreController = scoreController; _levelEndActions = levelEndActions; _multiplayerLevelEndActions = multiplayerLevelEndActions; _beatmapObjectCallbackController = beatmapObjectCallbackController; _sparkleEffectManager = sparkleEffectManager; }
public void Inject(ILoggerProvider loggerProvider, LoadedAvatar avatar, ScoreController scoreController, BeatmapObjectCallbackController beatmapObjectCallbackController, ILevelEndActions levelEndActions) { _logger = loggerProvider.CreateLogger <AvatarGameplayEventsPlayer>(avatar.descriptor.name); _scoreController = scoreController; _levelEndActions = levelEndActions; _beatmapObjectCallbackController = beatmapObjectCallbackController; // unfortunately this is not bound through Zenject _sparkleEffectManager = FindObjectOfType <ObstacleSaberSparkleEffectManager>(); }
public BSEvents([InjectOptional] ILevelEndActions levelEndActions, IReadonlyBeatmapData beatmapData, ObstacleSaberSparkleEffectManager obstacleSaberSparkleEffectManager, ScoreController scoreController, BeatmapObjectManager beatmapObjectManager, BeatmapCallbacksController beatmapCallbacksController, ComboController comboController) { _levelEndActions = levelEndActions; _beatmapData = beatmapData; _obstacleSaberSparkleEffectManager = obstacleSaberSparkleEffectManager; _scoreController = scoreController; _beatmapObjectManager = beatmapObjectManager; _beatmapCallbacksController = beatmapCallbacksController; _comboController = comboController; _bombSubtypeIdentifier = NoteData.SubtypeIdentifier(ColorType.None); }
void DismissGraph(ResultsViewController vc) { if (panel != null) { Destroy(panel); panel = null; resultsController = null; scoreController = null; energyCounter = null; rankCounter = null; endActions = null; } }
void DismissGraph(ResultsViewController vc) { if (panel != null) { panel.SetActive(false); Destroy(panel, 1); panel = null; scoreController = null; objectManager = null; comboController = null; energyCounter = null; rankCounter = null; audioController = null; endActions = null; } if (vc != null) { vc.continueButtonPressedEvent -= DismissGraph; vc.restartButtonPressedEvent -= DismissGraph; } }
static bool Prefix(MissionObjectiveCheckersManager.InitData ____initData, MissionObjectiveCheckersManager __instance, MissionObjectiveChecker[] ____missionObjectiveCheckers, ILevelEndActions ____gameplayManager) { ____gameplayManager.levelFailedEvent += __instance.HandleLevelFailed; ____gameplayManager.levelFinishedEvent += __instance.HandleLevelFinished; MissionObjective[] missionObjectives = ____initData.missionObjectives; List <MissionObjectiveChecker> list = new List <MissionObjectiveChecker>(____missionObjectiveCheckers.Length); List <MissionObjectiveChecker> list2 = new List <MissionObjectiveChecker>(____missionObjectiveCheckers); List <MissionObjectiveChecker> customCheckers = new List <MissionObjectiveChecker>(); customCheckers.Add(new GameObject().AddComponent <PerfectCutMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <BombsHitMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <HeadTimeInWallMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <SaberTimeInWallMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <WallHeadbuttMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <SpinsMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <AccuracyMissionObjectiveChecker>()); customCheckers.Add(new GameObject().AddComponent <MaintainAccuracyMissionObjectiveChecker>()); foreach (MissionObjective missionObjective in missionObjectives) { bool flag = false; foreach (MissionObjectiveChecker missionObjectiveChecker in list2) { if (missionObjectiveChecker.missionObjectiveType.objectiveName == missionObjective.type.objectiveName) { list.Add(missionObjectiveChecker); missionObjectiveChecker.SetCheckedMissionObjective(missionObjective); list2.Remove(missionObjectiveChecker); flag = true; break; } } foreach (MissionObjectiveChecker missionObjectiveChecker in customCheckers) { if ((missionObjectiveChecker as CustomTracker).GetMissionObjectiveTypeName() == missionObjective.type.objectiveName) { list.Add(missionObjectiveChecker); missionObjectiveChecker.SetCheckedMissionObjective(missionObjective); customCheckers.Remove(missionObjectiveChecker); flag = true; break; } } if (!flag) { UnityEngine.Debug.LogError("No missionObjectiveCheckers for missionOjective"); } } foreach (MissionObjectiveChecker missionObjectiveChecker in list2) { GameObject.Destroy(missionObjectiveChecker.gameObject); } foreach (MissionObjectiveChecker missionObjectiveChecker in customCheckers) { GameObject.Destroy(missionObjectiveChecker.gameObject); } __instance.SetPrivateField("_activeMissionObjectiveCheckers", list.ToArray()); foreach (MissionObjectiveChecker missionObjectiveChecker2 in __instance.activeMissionObjectiveCheckers) { missionObjectiveChecker2.statusDidChangeEvent += __instance.HandleMissionObjectiveCheckerStatusDidChange; } if (__instance.GetPrivateField <Action>("objectivesListDidChangeEvent") != null) { __instance.GetPrivateField <Action>("objectivesListDidChangeEvent").Invoke(); } return(false); }