From dc2f5882b5b5e343404c8ada3eb62b799ba98adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Sat, 6 Oct 2018 14:41:19 +0200 Subject: [PATCH] First Release --- HitScoreVisualizer/Config.cs | 12 ++++++++++ HitScoreVisualizer/HitScoreVisualizer.csproj | 2 +- HitScoreVisualizer/Plugin.cs | 23 +++++++++++++++++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/HitScoreVisualizer/Config.cs b/HitScoreVisualizer/Config.cs index 75c3919..979f4bd 100644 --- a/HitScoreVisualizer/Config.cs +++ b/HitScoreVisualizer/Config.cs @@ -124,6 +124,7 @@ namespace HitScoreVisualizer // path to where the config is saved private const string FILE_PATH = "/UserData/HitScoreVisualizerConfig.json"; + private const string FILE_PATH_RATINGS = "\\Ratings\\Latest.txt"; private const string DEFAULT_JSON = @"{ ""majorVersion"": 2, @@ -255,6 +256,7 @@ namespace HitScoreVisualizer }; public static string fullPath => Environment.CurrentDirectory.Replace('\\', '/') + FILE_PATH; + public static string fullPathRatings => Environment.CurrentDirectory + FILE_PATH_RATINGS; public static void load() { @@ -450,6 +452,16 @@ namespace HitScoreVisualizer formattedBuilder.Append("" + afterCutScore); text.text = formattedBuilder.ToString(); + + if (saberAfterCutSwingRatingCounter.didFinish) + { + using (StreamWriter file = File.AppendText(fullPathRatings)) + { + file.WriteLine(saberAfterCutSwingRatingCounter.RequestId + " <<>> " + beforeCut + " " + accuracy + " " + afterCut + " | " + score); + } + } + + return; } else if (instance.displayMode == mode_format) { diff --git a/HitScoreVisualizer/HitScoreVisualizer.csproj b/HitScoreVisualizer/HitScoreVisualizer.csproj index a7efad4..a97b216 100644 --- a/HitScoreVisualizer/HitScoreVisualizer.csproj +++ b/HitScoreVisualizer/HitScoreVisualizer.csproj @@ -16,7 +16,7 @@ true full false - bin\Debug\ + ..\..\..\..\Steam Games\steamapps\common\Beat Saber\Plugins\ DEBUG;TRACE prompt 4 diff --git a/HitScoreVisualizer/Plugin.cs b/HitScoreVisualizer/Plugin.cs index 71e327b..27affe0 100644 --- a/HitScoreVisualizer/Plugin.cs +++ b/HitScoreVisualizer/Plugin.cs @@ -17,6 +17,8 @@ namespace HitScoreVisualizer public void OnApplicationStart() { + System.IO.File.WriteAllText(Config.fullPathRatings, "NO DATA"); + SceneManager.activeSceneChanged += SceneManagerOnActiveSceneChanged; SceneManager.sceneLoaded += SceneManager_sceneLoaded; try @@ -33,8 +35,27 @@ namespace HitScoreVisualizer Config.load(); } - private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene arg1) + private void SceneManagerOnActiveSceneChanged(Scene arg0, Scene newScene) { + switch (newScene.buildIndex) + { + case 1: + case 2: + // Return if we're not playing in a song. + return; + case 8: + case 9: + // We're in a song + //System.IO.File.WriteAllText(Config.fullPathRatings, newScene.name); + return; + + default: + // Unknown, fallback to matching the name. + if (newScene.name.Contains("Environment")) + goto case 8; + else + return; + } } private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)