Przeglądaj źródła

Some cleanup before adding names to the map

Axel Nordh 7 miesięcy temu
rodzic
commit
b410ef8807

+ 0 - 16
Assets/Scenes/MapScene2.unity

@@ -366,7 +366,6 @@ GameObject:
   m_Component:
   - component: {fileID: 711527293}
   - component: {fileID: 711527292}
-  - component: {fileID: 711527297}
   m_Layer: 0
   m_Name: SettlementIntegrationManager
   m_TagString: Untagged
@@ -410,21 +409,6 @@ Transform:
   m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &711527297
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 711527291}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 5e4958ad5215db74397a0e4a4c6ed78f, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  enableFix: 1
-  forceUIUpdates: 1
-  verboseDebug: 0
 --- !u!1 &731368432
 GameObject:
   m_ObjectHideFlags: 0

+ 70 - 296
Assets/Scripts/UI/MapScene/ActiveQuestUI.cs

@@ -50,71 +50,30 @@ public class ActiveQuestUI : MonoBehaviour, IClickBlocker
 
     public bool IsVisible => isUIVisible;
 
-    public bool IsBlockingClick(Vector2 screenPosition)
+    void OnEnable()
     {
-        // Primary method: Check if we recently handled a UI click
-        if (recentlyHandledClick)
-        {
-            Debug.Log("🚫 ActiveQuestUI: Blocking click due to recent UI interaction");
-            return true;
-        }
+        ClickBlockingHelper.RegisterWithClickManager(this);
 
-        // If UI is not visible, don't block anything
-        if (!isUIVisible)
-        {
-            return false;
-        }
-
-        // Dynamic coordinate-based approach: Block clicks in the quest tracker area
-        // This needs to account for the expanded quest panel when it shows more options
-
-        float questPanelWidth = 320f;  // Approximate width of quest panel
-        float questPanelHeight = 250f; // Larger height to cover expanded panel (was 120f)
-        float questPanelX = 20f;       // Left edge
-        float questPanelY = Screen.height - questPanelHeight - 20f; // Top edge (converted to screen coords)
-
-        // Alternative: Try to get actual bounds from the quest tracker if available
-        if (questTracker != null)
-        {
-            try
-            {
-                // Try to use the actual UI element bounds if possible
-                var bounds = questTracker.worldBound;
-                if (bounds.width > 0 && bounds.height > 0)
-                {
-                    // Convert UI bounds to screen coordinates
-                    questPanelX = bounds.x;
-                    questPanelY = Screen.height - bounds.y - bounds.height;
-                    questPanelWidth = bounds.width;
-                    questPanelHeight = bounds.height;
+        // Refresh quest list when returning from scenes (like settlements)
+        // Use a coroutine to ensure other systems are ready
+        StartCoroutine(RefreshOnEnable());
+    }
 
-                    Debug.Log($"🔍 Using actual UI bounds: x={questPanelX}, y={questPanelY}, w={questPanelWidth}, h={questPanelHeight}");
-                }
-            }
-            catch (System.Exception e)
-            {
-                Debug.LogWarning($"Failed to get UI bounds, using fallback: {e.Message}");
-            }
-        }
+    void OnDisable() => ClickBlockingHelper.UnregisterWithClickManager(this);
 
-        bool inQuestArea = screenPosition.x >= questPanelX &&
-                          screenPosition.x <= questPanelX + questPanelWidth &&
-                          screenPosition.y >= questPanelY &&
-                          screenPosition.y <= questPanelY + questPanelHeight;
+    private IEnumerator RefreshOnEnable()
+    {
+        // Wait a frame to ensure other systems are initialized
+        yield return new WaitForEndOfFrame();
 
-        if (inQuestArea)
+        // Check if we need to refresh the quest list
+        if (QuestManager.Instance != null)
         {
-            Debug.Log($"🛡️ ActiveQuestUI: Blocking click in quest area at {screenPosition} (quest area: {questPanelX}-{questPanelX + questPanelWidth}, {questPanelY}-{questPanelY + questPanelHeight})");
-            return true;
+            Debug.Log("ActiveQuestUI: OnEnable refresh - updating quest list");
+            RefreshQuestList();
         }
-
-        // Don't block clicks outside the quest area
-        return false;
     }
 
-    void OnEnable() => ClickBlockingHelper.RegisterWithClickManager(this);
-    void OnDisable() => ClickBlockingHelper.UnregisterWithClickManager(this);
-
     /// <summary>
     /// Sets a temporary flag to block travel system clicks when UI handles a click event.
     /// This is much more reliable than trying to calculate coordinates manually.
@@ -212,199 +171,9 @@ public class ActiveQuestUI : MonoBehaviour, IClickBlocker
         // Update tracker title with count
         UpdateTrackerTitle();
 
-        // Add TravelUI-style click blocking
-        AddClickBlockingOverlay(root);
-
-        // Add mouse event blocking to prevent clicks from going through
-        if (questTracker != null)
-        {
-            // Ensure the quest tracker can receive mouse events and has higher priority
-            questTracker.pickingMode = PickingMode.Position;
-
-            questTracker.RegisterCallback<MouseDownEvent>(evt =>
-            {
-                Debug.Log("QuestTracker MouseDownEvent - stopping propagation");
-                SetClickFlag(); // Set flag to block travel system
-                evt.StopPropagation();
-            });
-
-            questTracker.RegisterCallback<MouseUpEvent>(evt =>
-            {
-                Debug.Log("QuestTracker MouseUpEvent - stopping propagation");
-                evt.StopPropagation();
-            });
-
-            questTracker.RegisterCallback<ClickEvent>(evt =>
-            {
-                Debug.Log("QuestTracker ClickEvent - stopping propagation");
-                SetClickFlag(); // Set flag to block travel system
-                evt.StopPropagation();
-            });
-
-            // Also block pointer events for UI Toolkit compatibility
-            questTracker.RegisterCallback<PointerDownEvent>(evt =>
-            {
-                Debug.Log("QuestTracker PointerDownEvent - stopping propagation");
-                SetClickFlag(); // Set flag to block travel system
-                evt.StopPropagation();
-            });
-
-            questTracker.RegisterCallback<PointerUpEvent>(evt =>
-            {
-                Debug.Log("QuestTracker PointerUpEvent - stopping propagation");
-                evt.StopPropagation();
-            });
-        }        // Also block events on popup
-        if (questDetailsPopup != null)
-        {
-            questDetailsPopup.RegisterCallback<MouseDownEvent>(evt =>
-            {
-                SetClickFlag(); // Set flag to block travel system
-                evt.StopPropagation();
-            });
-
-            questDetailsPopup.RegisterCallback<MouseUpEvent>(evt =>
-            {
-                evt.StopPropagation();
-            });
-
-            questDetailsPopup.RegisterCallback<ClickEvent>(evt =>
-            {
-                SetClickFlag(); // Set flag to block travel system
-                evt.StopPropagation();
-            });
-        }
         isUIVisible = true;
     }
 
-    #region Context Menu Debug Methods
-    [ContextMenu("Refresh Quest List")]
-    private void DebugRefreshQuestList()
-    {
-        RefreshQuestList();
-    }
-
-    [ContextMenu("Debug Quest System")]
-    private void DebugQuestSystem()
-    {
-        Debug.Log("=== QUEST SYSTEM DEBUG ===");
-
-        if (QuestManager.Instance == null)
-        {
-            Debug.LogError("QuestManager.Instance is NULL!");
-            return;
-        }
-
-        Debug.Log("QuestManager.Instance exists");
-
-        var activeQuests = QuestManager.Instance.GetActiveQuests();
-        Debug.Log($"Active quests count: {activeQuests.Count}");
-
-        foreach (var quest in activeQuests)
-        {
-            Debug.Log($"Active Quest: {quest.questData.questTitle} - Status: {quest.status}");
-        }
-
-        // Check UI elements
-        Debug.Log($"questTracker: {(questTracker != null ? "EXISTS" : "NULL")}");
-        Debug.Log($"activeQuestsList: {(activeQuestsList != null ? "EXISTS" : "NULL")}");
-        Debug.Log($"trackerTitle: {(trackerTitle != null ? "EXISTS" : "NULL")}");
-
-        if (trackerTitle != null)
-        {
-            Debug.Log($"Tracker title text: '{trackerTitle.text}'");
-        }
-    }
-
-    [ContextMenu("Force Load Quest Data")]
-    private void DebugForceLoadQuestData()
-    {
-        if (QuestManager.Instance != null)
-        {
-            Debug.Log("Forcing QuestManager to load quest data...");
-            QuestManager.Instance.LoadQuestData();
-            RefreshQuestList();
-        }
-        else
-        {
-            Debug.LogError("QuestManager.Instance is null!");
-        }
-    }
-
-    [ContextMenu("Check PlayerPrefs Quest Data")]
-    private void DebugCheckPlayerPrefsQuestData()
-    {
-        Debug.Log("=== CHECKING QUEST PERSISTENCE ===");
-
-        if (PlayerPrefs.HasKey("QuestSaveData"))
-        {
-            string questSaveData = PlayerPrefs.GetString("QuestSaveData");
-            Debug.Log($"Found QuestSaveData in PlayerPrefs: {questSaveData}");
-
-            if (string.IsNullOrEmpty(questSaveData))
-            {
-                Debug.LogWarning("QuestSaveData exists but is empty!");
-            }
-        }
-        else
-        {
-            Debug.LogWarning("No QuestSaveData found in PlayerPrefs!");
-        }
-    }
-
-    [ContextMenu("Test Quest Entry")]
-    private void DebugTestQuestEntry()
-    {
-        if (QuestManager.Instance != null)
-        {
-            var activeQuests = QuestManager.Instance.GetActiveQuests();
-            Debug.Log($"Active quests found: {activeQuests.Count}");
-
-            foreach (var quest in activeQuests)
-            {
-                Debug.Log($"- {quest.questData.questTitle}");
-            }
-        }
-        else
-        {
-            Debug.LogWarning("No QuestManager found!");
-        }
-    }
-
-    [ContextMenu("Force Show Popup")]
-    private void DebugForceShowPopup()
-    {
-        if (questDetailsPopup != null)
-        {
-            questDetailsPopup.style.display = DisplayStyle.Flex;
-            isUIVisible = true;
-            Debug.Log("Forced popup to show");
-        }
-    }
-
-    [ContextMenu("Force Hide Popup")]
-    private void DebugForceHidePopup()
-    {
-        if (questDetailsPopup != null)
-        {
-            questDetailsPopup.style.display = DisplayStyle.None;
-            Debug.Log("Forced popup to hide");
-            isUIVisible = false;
-        }
-    }
-
-    [ContextMenu("Toggle Quest Tracker Visibility")]
-    private void DebugToggleQuestTracker()
-    {
-        if (questTracker != null)
-        {
-            bool isVisible = questTracker.style.display != DisplayStyle.None;
-            questTracker.style.display = isVisible ? DisplayStyle.None : DisplayStyle.Flex;
-            Debug.Log($"Quest tracker {(isVisible ? "hidden" : "shown")}");
-            isUIVisible = isVisible;
-        }
-    }
-
     private bool isTrackerMinimized = false;
 
     private void ToggleQuestTracker()
@@ -461,21 +230,6 @@ public class ActiveQuestUI : MonoBehaviour, IClickBlocker
         }
     }
 
-    [ContextMenu("Reset Quest Tracker Position")]
-    private void DebugResetQuestTrackerPosition()
-    {
-        if (questTracker != null)
-        {
-            questTracker.style.position = Position.Absolute;
-            questTracker.style.top = 20;
-            questTracker.style.left = 20;
-            questTracker.style.right = StyleKeyword.Auto;
-            questTracker.style.width = 250;
-            Debug.Log("Reset quest tracker to left side position");
-        }
-    }
-    #endregion
-
     private void SubscribeToEvents()
     {
         Debug.Log("ActiveQuestUI: SubscribeToEvents called");
@@ -639,33 +393,6 @@ public class ActiveQuestUI : MonoBehaviour, IClickBlocker
         return $"{Mathf.CeilToInt(remaining / 24f)}d";
     }
 
-    private void AddClickBlockingOverlay(VisualElement root)
-    {
-        // Create a click blocker similar to TravelUI
-        var clickBlocker = new VisualElement();
-        clickBlocker.name = "ClickBlocker";
-        clickBlocker.AddToClassList("click-blocker");
-
-        // Position as first child (behind everything else)
-        root.Insert(0, clickBlocker);
-
-        // Block all mouse events
-        clickBlocker.RegisterCallback<ClickEvent>(evt =>
-        {
-            evt.StopPropagation();
-        });
-
-        clickBlocker.RegisterCallback<MouseDownEvent>(evt =>
-        {
-            evt.StopPropagation();
-        });
-
-        clickBlocker.RegisterCallback<MouseUpEvent>(evt =>
-        {
-            evt.StopPropagation();
-        });
-    }
-
     private void UpdateTrackerTitle()
     {
         Debug.Log("UpdateTrackerTitle called");
@@ -1132,21 +859,68 @@ public class ActiveQuestUI : MonoBehaviour, IClickBlocker
         return string.Join(", ", rewardTexts);
     }
 
-    internal bool IsPointWithinUI(Vector2 screenPosition)
+    #endregion
+
+    public bool IsBlockingClick(Vector2 screenPosition)
     {
-        if (questTracker == null)
+        // Primary method: Check if we recently handled a UI click
+        if (recentlyHandledClick)
+        {
+            Debug.Log("🚫 ActiveQuestUI: Blocking click due to recent UI interaction");
+            return true;
+        }
+
+        // If UI is not visible, don't block anything
+        if (!isUIVisible)
         {
             return false;
         }
 
-        // Convert screen position to panel-relative position
-        Vector2 panelPosition = RuntimePanelUtils.ScreenToPanel(questTracker.panel, screenPosition);
+        // Dynamic coordinate-based approach: Block clicks in the quest tracker area
+        // This needs to account for the expanded quest panel when it shows more options
+
+        float questPanelWidth = 320f;  // Approximate width of quest panel
+        float questPanelHeight = 250f; // Larger height to cover expanded panel (was 120f)
+        float questPanelX = 20f;       // Left edge
+        float questPanelY = Screen.height - questPanelHeight - 20f; // Top edge (converted to screen coords)
+
+        // Alternative: Try to get actual bounds from the quest tracker if available
+        if (questTracker != null)
+        {
+            try
+            {
+                // Try to use the actual UI element bounds if possible
+                var bounds = questTracker.worldBound;
+                if (bounds.width > 0 && bounds.height > 0)
+                {
+                    // Convert UI bounds to screen coordinates
+                    questPanelX = bounds.x;
+                    questPanelY = Screen.height - bounds.y - bounds.height;
+                    questPanelWidth = bounds.width;
+                    questPanelHeight = bounds.height;
+
+                    Debug.Log($"🔍 Using actual UI bounds: x={questPanelX}, y={questPanelY}, w={questPanelWidth}, h={questPanelHeight}");
+                }
+            }
+            catch (System.Exception e)
+            {
+                Debug.LogWarning($"Failed to get UI bounds, using fallback: {e.Message}");
+            }
+        }
+
+        bool inQuestArea = screenPosition.x >= questPanelX &&
+                          screenPosition.x <= questPanelX + questPanelWidth &&
+                          screenPosition.y >= questPanelY &&
+                          screenPosition.y <= questPanelY + questPanelHeight;
 
-        // Check if the position is within the panel bounds
-        bool withinBounds = questTracker.worldBound.Contains(panelPosition);
+        if (inQuestArea)
+        {
+            Debug.Log($"🛡️ ActiveQuestUI: Blocking click in quest area at {screenPosition} (quest area: {questPanelX}-{questPanelX + questPanelWidth}, {questPanelY}-{questPanelY + questPanelHeight})");
+            return true;
+        }
 
-        return withinBounds;
+        // Don't block clicks outside the quest area
+        return false;
     }
 
-    #endregion
 }

+ 92 - 5
Assets/Scripts/UI/SettlementInteractionUI.cs

@@ -1,5 +1,6 @@
 using UnityEngine;
 using UnityEngine.UIElements;
+using System.Collections;
 
 /// <summary>
 /// Simple UI controller for settlement interaction prompts
@@ -28,11 +29,75 @@ public class SettlementInteractionUI : MonoBehaviour
 
     // References
     private SettlementInteractionManager interactionManager;
+    private bool eventsSubscribed = false;
 
     void Start()
     {
         InitializeUI();
         SetupEventListeners();
+
+        // Check for nearby settlements on start
+        StartCoroutine(CheckForNearbySettlementOnStart());
+    }
+
+    void OnEnable()
+    {
+        // When returning from a settlement, check if we're still near one
+        if (interactionManager != null)
+        {
+            StartCoroutine(CheckForNearbySettlementOnEnable());
+        }
+    }
+
+    private IEnumerator CheckForNearbySettlementOnStart()
+    {
+        // Wait a frame to ensure other systems are ready
+        yield return new WaitForEndOfFrame();
+        CheckForNearbySettlement();
+    }
+
+    private IEnumerator CheckForNearbySettlementOnEnable()
+    {
+        // Wait a frame to ensure other systems are ready
+        yield return new WaitForEndOfFrame();
+        CheckForNearbySettlement();
+    }
+
+    private void CheckForNearbySettlement()
+    {
+        // If manager wasn't found during setup, try to find it again
+        if (interactionManager == null)
+        {
+            interactionManager = FindFirstObjectByType<SettlementInteractionManager>();
+            if (interactionManager != null && !eventsSubscribed)
+            {
+                // Subscribe to events now that we found the manager
+                interactionManager.OnSettlementDetected += ShowSettlementPrompt;
+                interactionManager.OnSettlementLeft += HideSettlementPrompt;
+                interactionManager.OnSettlementEntered += OnSettlementEntered;
+                eventsSubscribed = true;
+                Debug.Log("SettlementInteractionUI: Late connection to SettlementInteractionManager successful");
+            }
+        }
+
+        if (interactionManager != null)
+        {
+            var currentSettlement = interactionManager.GetCurrentNearbySettlement();
+            if (currentSettlement != null)
+            {
+                Debug.Log($"SettlementInteractionUI: Found nearby settlement on enable: {currentSettlement.name}");
+                ShowSettlementPrompt(currentSettlement);
+            }
+            else
+            {
+                Debug.Log("SettlementInteractionUI: No nearby settlement found on enable");
+                HideSettlementPrompt();
+            }
+        }
+        else
+        {
+            Debug.LogWarning("SettlementInteractionUI: Still cannot find SettlementInteractionManager");
+        }
     }
 
     /// <summary>
@@ -74,17 +139,18 @@ public class SettlementInteractionUI : MonoBehaviour
     {
         interactionManager = FindFirstObjectByType<SettlementInteractionManager>();
 
-        if (interactionManager != null)
+        if (interactionManager != null && !eventsSubscribed)
         {
             interactionManager.OnSettlementDetected += ShowSettlementPrompt;
             interactionManager.OnSettlementLeft += HideSettlementPrompt;
             interactionManager.OnSettlementEntered += OnSettlementEntered;
+            eventsSubscribed = true;
 
             Debug.Log("SettlementInteractionUI connected to SettlementInteractionManager");
         }
         else
         {
-            Debug.LogWarning("SettlementInteractionUI: SettlementInteractionManager not found!");
+            Debug.LogWarning("SettlementInteractionUI: SettlementInteractionManager not found! Will retry in CheckForNearbySettlement");
         }
     }
 
@@ -93,12 +159,27 @@ public class SettlementInteractionUI : MonoBehaviour
     /// </summary>
     private void ShowSettlementPrompt(Settlement settlement)
     {
-        if (promptContainer == null) return;
+        if (promptContainer == null)
+        {
+            Debug.LogWarning("SettlementInteractionUI: Cannot show prompt - promptContainer is null");
+            return;
+        }
+
+        if (settlement == null)
+        {
+            Debug.LogWarning("SettlementInteractionUI: Cannot show prompt - settlement is null");
+            return;
+        }
 
         // Update settlement name
         if (settlementNameLabel != null)
         {
             settlementNameLabel.text = settlement.name;
+            Debug.Log($"SettlementInteractionUI: Set settlement name to: '{settlement.name}'");
+        }
+        else
+        {
+            Debug.LogWarning("SettlementInteractionUI: settlementNameLabel is null");
         }
 
         // Update interaction instruction
@@ -107,12 +188,17 @@ public class SettlementInteractionUI : MonoBehaviour
             string settlementType = settlement.Type == SettlementType.Town ? "Town" : "Village";
             string keyName = interactionManager?.enterSettlementKey.ToString() ?? "E";
             instructionLabel.text = $"Press {keyName} to enter {settlementType}";
+            Debug.Log($"SettlementInteractionUI: Set instruction to: '{instructionLabel.text}'");
+        }
+        else
+        {
+            Debug.LogWarning("SettlementInteractionUI: instructionLabel is null");
         }
 
         // Show the prompt
         promptContainer.style.display = DisplayStyle.Flex;
 
-        Debug.Log($"Showing prompt for: {settlement.name}");
+        Debug.Log($"SettlementInteractionUI: Showing prompt for: {settlement.name}");
     }
 
     /// <summary>
@@ -140,11 +226,12 @@ public class SettlementInteractionUI : MonoBehaviour
     void OnDestroy()
     {
         // Cleanup event listeners
-        if (interactionManager != null)
+        if (interactionManager != null && eventsSubscribed)
         {
             interactionManager.OnSettlementDetected -= ShowSettlementPrompt;
             interactionManager.OnSettlementLeft -= HideSettlementPrompt;
             interactionManager.OnSettlementEntered -= OnSettlementEntered;
+            eventsSubscribed = false;
         }
     }
 

+ 13 - 13
UserSettings/Layouts/default-6000.dwlt

@@ -74,7 +74,7 @@ MonoBehaviour:
   m_MinSize: {x: 200, y: 50}
   m_MaxSize: {x: 16192, y: 8096}
   vertical: 0
-  controlID: 128
+  controlID: 126
   draggingID: 0
 --- !u!114 &4
 MonoBehaviour:
@@ -198,7 +198,7 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 100}
   m_MaxSize: {x: 32384, y: 16192}
   vertical: 0
-  controlID: 164
+  controlID: 162
   draggingID: 0
 --- !u!114 &9
 MonoBehaviour:
@@ -224,7 +224,7 @@ MonoBehaviour:
   m_MinSize: {x: 300, y: 100}
   m_MaxSize: {x: 24288, y: 16192}
   vertical: 1
-  controlID: 49
+  controlID: 125
   draggingID: 0
 --- !u!114 &10
 MonoBehaviour:
@@ -464,7 +464,7 @@ MonoBehaviour:
     m_HSlider: 0
     m_VSlider: 0
     m_IgnoreScrollWheelUntilClicked: 0
-    m_EnableMouseInput: 1
+    m_EnableMouseInput: 0
     m_EnableSliderZoomHorizontal: 0
     m_EnableSliderZoomVertical: 0
     m_UniformScale: 1
@@ -534,7 +534,7 @@ MonoBehaviour:
     m_OverlaysVisible: 1
   m_LockTracker:
     m_IsLocked: 0
-  m_LastSelectedObjectID: 45744
+  m_LastSelectedObjectID: -1643170
 --- !u!114 &18
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -576,7 +576,7 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: 32f4ffff1afbffffb8b20000
+      m_ExpandedIDs: 1afbffffd8b20000
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -1412,7 +1412,7 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets/Scripts/Map
+    - Assets/Resources/UI/MapScene
     m_Globs: []
     m_ProductIds: 
     m_AnyWithAssetOrigin: 0
@@ -1422,16 +1422,16 @@ MonoBehaviour:
   m_ViewMode: 1
   m_StartGridSize: 67
   m_LastFolders:
-  - Assets/Scripts/Map
+  - Assets/Resources/UI/MapScene
   m_LastFoldersGridSize: 67
   m_LastProjectPath: C:\Users\Axel-PC\RPG-RougeLiteBatteler
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 303}
-    m_SelectedIDs: dab70000
-    m_LastClickedID: 47066
-    m_ExpandedIDs: 0000000048b500004ab500004cb500004eb5000050b5000052b5000054b5000056b5000058b500005ab500005cb50000
+    scrollPos: {x: 0, y: 319}
+    m_SelectedIDs: c2b70000
+    m_LastClickedID: 47042
+    m_ExpandedIDs: 000000004eb5000050b5000052b5000054b5000056b5000058b500005ab500005cb500005eb5000060b5000062b50000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -1460,7 +1460,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 0000000048b500004ab500004cb500004eb5000050b5000052b5000054b5000056b5000058b500005ab500005cb50000
+    m_ExpandedIDs: 000000004eb5000050b5000052b5000054b5000056b5000058b500005ab500005cb500005eb5000060b5000062b50000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: