From 0ea7e7ca841de1ec6ce958735ab3100ca475367a Mon Sep 17 00:00:00 2001 From: AlexanderT Date: Wed, 24 Sep 2025 15:28:13 +0200 Subject: [PATCH] All settings migrated, stuff should work --- Assets/Editor/SettingsEditorWindow.cs | 4 ++-- .../Minigames/DivingForPictures/DivingGameManager.cs | 8 +++++--- .../Player/PlayerCollisionBehavior.cs | 12 +++++++++++- ...meSettings.asset => DivingMinigameSettings.asset} | 6 +++--- ....asset.meta => DivingMinigameSettings.asset.meta} | 0 5 files changed, 21 insertions(+), 9 deletions(-) rename Assets/Settings/{MinigameSettings.asset => DivingMinigameSettings.asset} (93%) rename Assets/Settings/{MinigameSettings.asset.meta => DivingMinigameSettings.asset.meta} (100%) diff --git a/Assets/Editor/SettingsEditorWindow.cs b/Assets/Editor/SettingsEditorWindow.cs index c5c32407..70f9ebb3 100644 --- a/Assets/Editor/SettingsEditorWindow.cs +++ b/Assets/Editor/SettingsEditorWindow.cs @@ -10,7 +10,7 @@ namespace AppleHills.Core.Settings.Editor { private Vector2 scrollPosition; private List allSettings = new List(); - private string[] tabNames = new string[] { "Player & Follower", "Interaction & Items", "Minigames" }; + private string[] tabNames = new string[] { "Player & Follower", "Interaction & Items", "Diving Minigame" }; private int selectedTab = 0; private Dictionary serializedSettingsObjects = new Dictionary(); private GUIStyle headerStyle; @@ -47,7 +47,7 @@ namespace AppleHills.Core.Settings.Editor // If any settings are missing, create them CreateSettingsIfMissing("PlayerFollowerSettings"); CreateSettingsIfMissing("InteractionSettings"); - CreateSettingsIfMissing("MinigameSettings"); + CreateSettingsIfMissing("DivingMinigameSettings"); } private void CreateSettingsIfMissing(string fileName) where T : BaseSettings diff --git a/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs b/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs index 1b15d77b..9e7dce64 100644 --- a/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs +++ b/Assets/Scripts/Minigames/DivingForPictures/DivingGameManager.cs @@ -390,10 +390,12 @@ namespace Minigames.DivingForPictures GameObject playerObject = GameObject.FindGameObjectWithTag("Player"); if (playerObject != null) { - // Disable all components except Transform and Animator on the player object (not its children) + // Disable all components except Transform, Animator, and PlayerBlinkBehavior on the player object foreach (Component component in playerObject.GetComponents()) { - if (!(component is Transform) && !(component is Animator)) + if (!(component is Transform) && + !(component is Animator) && + !(component is PlayerBlinkBehavior)) { if (component is Behaviour behaviour) { @@ -405,7 +407,7 @@ namespace Minigames.DivingForPictures // Start coroutine to reset X position to 0 over 1 second StartCoroutine(ResetPlayerPosition(playerObject.transform)); - Debug.Log("[DivingGameManager] Disabled player components (keeping Animator) and resetting position"); + Debug.Log("[DivingGameManager] Disabled player components (keeping Animator and PlayerBlinkBehavior) and resetting position"); } // 3. Find bubble spawner and slow down existing bubbles (no velocity management needed) diff --git a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs index f9845ca5..02e2793c 100644 --- a/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs +++ b/Assets/Scripts/Minigames/DivingForPictures/Player/PlayerCollisionBehavior.cs @@ -254,7 +254,17 @@ namespace Minigames.DivingForPictures /// protected virtual void UpdateControllerTarget() { - // This would normally be implemented in derived classes if needed + if (playerController != null && playerCharacter != null) + { + // Use reflection to update the private _targetFingerX field + var targetField = typeof(PlayerController) + .GetField("_targetFingerX", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); + + if (targetField != null) + { + targetField.SetValue(playerController, playerCharacter.transform.position.x); + } + } } } } diff --git a/Assets/Settings/MinigameSettings.asset b/Assets/Settings/DivingMinigameSettings.asset similarity index 93% rename from Assets/Settings/MinigameSettings.asset rename to Assets/Settings/DivingMinigameSettings.asset index e602f5de..766926f6 100644 --- a/Assets/Settings/MinigameSettings.asset +++ b/Assets/Settings/DivingMinigameSettings.asset @@ -10,15 +10,15 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 0ce4dba7a1c54e73b1b3d7131a1c0570, type: 3} - m_Name: MinigameSettings + m_Name: DivingMinigameSettings m_EditorClassIdentifier: lerpSpeed: 2 maxOffset: 10 clampXMin: -3.5 clampXMax: 3.5 speedExponent: 0.97 - tapMaxDistance: 0.5 - tapDecelerationRate: 5 + tapMaxDistance: 0.2 + tapDecelerationRate: 15 baseSpawnProbability: 0.2 maxSpawnProbability: 0.5 probabilityIncreaseRate: 0.01 diff --git a/Assets/Settings/MinigameSettings.asset.meta b/Assets/Settings/DivingMinigameSettings.asset.meta similarity index 100% rename from Assets/Settings/MinigameSettings.asset.meta rename to Assets/Settings/DivingMinigameSettings.asset.meta