From 1fffb9af8ebe3cddcf23d11a7548575641ccc492 Mon Sep 17 00:00:00 2001 From: Michal Pikulski Date: Sat, 1 Nov 2025 20:33:17 +0100 Subject: [PATCH] Cleanedup prefabs and scenes --- .../RemoveInteractableBaseComponents.cs | 649 ++++++++++++++++++ .../RemoveInteractableBaseComponents.cs.meta | 3 + .../Editor/RemoveOldInteractableReferences.cs | 228 ++++++ .../RemoveOldInteractableReferences.cs.meta | 3 + .../Prefabs/Characters/AnneLise_Camera.prefab | 40 -- .../Prefabs/Characters/Quarry_Monster.prefab | 25 +- .../Environment/Placeholders/BallTree.prefab | 43 +- .../Environment/Placeholders/Lawnmower.prefab | 61 +- .../Environment/Placeholders/LureSpotA.prefab | 83 ++- .../Placeholders/LuringSpotB.prefab | 44 +- .../Placeholders/LuringSpotC.prefab | 83 ++- .../Environment/Placeholders/SoundBird.prefab | 43 +- Assets/Prefabs/Items/BasePickup.prefab | 43 +- Assets/Prefabs/Items/Basketball.prefab | 43 +- Assets/Prefabs/Items/BlueBall.prefab | 43 +- Assets/Prefabs/Items/BowlingBall.prefab | 43 +- .../Items/PrefabsPLACEHOLDER/Bunfflers.prefab | 43 +- .../PrefabsPLACEHOLDER/FootballBird.prefab | 32 + .../PrefabsPLACEHOLDER/HammerBird.prefab | 32 + Assets/Prefabs/Items/Yellowball.prefab | 43 +- Assets/Prefabs/Levels/BaseLevelSwitch.prefab | 17 +- .../Prefabs/Levels/MinigameLevelSwitch.prefab | 28 - Assets/Prefabs/Puzzles/AnneLiseBush.prefab | 28 - Assets/Scenes/Levels/Quarry.unity | 146 +--- .../MichalTesting_ItemsPuzzles.unity | 259 +++++-- .../LawnmowerStateMachine.prefab | 83 +-- Assets/Scripts/Interactions/Interactable.cs | 2 +- Packages/manifest.json | 1 + Packages/packages-lock.json | 16 + 29 files changed, 1522 insertions(+), 685 deletions(-) create mode 100644 Assets/Editor/RemoveInteractableBaseComponents.cs create mode 100644 Assets/Editor/RemoveInteractableBaseComponents.cs.meta create mode 100644 Assets/Editor/RemoveOldInteractableReferences.cs create mode 100644 Assets/Editor/RemoveOldInteractableReferences.cs.meta diff --git a/Assets/Editor/RemoveInteractableBaseComponents.cs b/Assets/Editor/RemoveInteractableBaseComponents.cs new file mode 100644 index 00000000..a923ecf1 --- /dev/null +++ b/Assets/Editor/RemoveInteractableBaseComponents.cs @@ -0,0 +1,649 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.SceneManagement; +using UnityEngine.SceneManagement; +using System; +using System.Collections.Generic; +using System.IO; +using Interactions; + +namespace Editor +{ + public class RemoveInteractableBaseComponents : EditorWindow + { + private List problematicPrefabs = new List(); + private List problematicScenes = new List(); + private Vector2 scrollPosition; + private bool hasScanned; + private int componentsFound; + + [MenuItem("AppleHills/Remove InteractableBase Components")] + public static void ShowWindow() + { + var window = GetWindow("Remove InteractableBase"); + window.minSize = new Vector2(700, 500); + } + + private void OnGUI() + { + GUILayout.Label("Remove InteractableBase Component References", EditorStyles.boldLabel); + + EditorGUILayout.HelpBox( + "This tool finds and removes EXACT InteractableBase components from prefabs and scenes.\n\n" + + "Only finds the bare base class, NOT derived types like Pickup/ItemSlot/OneClickInteraction.\n\n" + + "If components depend on InteractableBase, you'll be prompted to replace it.", + MessageType.Info); + + EditorGUILayout.Space(); + + if (GUILayout.Button("Scan All Prefabs and Scenes", GUILayout.Height(35))) + { + ScanAll(); + } + + EditorGUILayout.Space(); + + if (hasScanned) + { + EditorGUILayout.LabelField($"Found {componentsFound} exact InteractableBase components", EditorStyles.boldLabel); + EditorGUILayout.LabelField($"In {problematicPrefabs.Count} prefabs"); + EditorGUILayout.LabelField($"In {problematicScenes.Count} scenes"); + + if (componentsFound > 0) + { + EditorGUILayout.Space(); + + EditorGUILayout.BeginHorizontal(); + + if (problematicPrefabs.Count > 0 && GUILayout.Button($"Remove from Prefabs ({problematicPrefabs.Count})", GUILayout.Height(35))) + { + RemoveFromAllPrefabs(); + } + + if (problematicScenes.Count > 0 && GUILayout.Button($"Remove from Scenes ({problematicScenes.Count})", GUILayout.Height(35))) + { + RemoveFromAllScenes(); + } + + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + + if (GUILayout.Button("Remove All (Prefabs + Scenes)", GUILayout.Height(35))) + { + RemoveAll(); + } + + EditorGUILayout.Space(); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + if (problematicPrefabs.Count > 0) + { + EditorGUILayout.LabelField("Prefabs:", EditorStyles.boldLabel); + foreach (var prefabPath in problematicPrefabs) + { + EditorGUILayout.BeginHorizontal("box"); + EditorGUILayout.LabelField(prefabPath); + if (GUILayout.Button("Remove", GUILayout.Width(80))) + { + RemoveFromPrefab(prefabPath); + } + EditorGUILayout.EndHorizontal(); + } + EditorGUILayout.Space(); + } + + if (problematicScenes.Count > 0) + { + EditorGUILayout.LabelField("Scenes:", EditorStyles.boldLabel); + foreach (var scenePath in problematicScenes) + { + EditorGUILayout.BeginHorizontal("box"); + EditorGUILayout.LabelField(scenePath); + if (GUILayout.Button("Remove", GUILayout.Width(80))) + { + RemoveFromScene(scenePath); + } + EditorGUILayout.EndHorizontal(); + } + } + + EditorGUILayout.EndScrollView(); + } + else + { + EditorGUILayout.HelpBox("No exact InteractableBase components found! All clean.", MessageType.Info); + } + } + } + + private void ScanAll() + { + problematicPrefabs.Clear(); + problematicScenes.Clear(); + componentsFound = 0; + hasScanned = true; + + ScanPrefabs(); + ScanScenes(); + + Debug.Log($"[Scan Complete] Found {componentsFound} exact InteractableBase components in {problematicPrefabs.Count} prefabs and {problematicScenes.Count} scenes."); + } + + private void ScanPrefabs() + { + string[] prefabGuids = AssetDatabase.FindAssets("t:Prefab", new[] { "Assets" }); + + EditorUtility.DisplayProgressBar("Scanning Prefabs", "Starting...", 0f); + + for (int i = 0; i < prefabGuids.Length; i++) + { + string path = AssetDatabase.GUIDToAssetPath(prefabGuids[i]); + + EditorUtility.DisplayProgressBar("Scanning Prefabs", + $"Checking {i + 1}/{prefabGuids.Length}: {Path.GetFileName(path)}", + (float)i / prefabGuids.Length); + + GameObject prefab = AssetDatabase.LoadAssetAtPath(path); + if (prefab != null) + { + // Check if this prefab or any of its children have EXACTLY InteractableBase (not derived types) + InteractableBase[] components = prefab.GetComponentsInChildren(true); + int exactMatches = 0; + foreach (var component in components) + { + if (component != null && component.GetType() == typeof(InteractableBase)) + { + exactMatches++; + } + } + + if (exactMatches > 0) + { + problematicPrefabs.Add(path); + componentsFound += exactMatches; + } + } + } + + EditorUtility.ClearProgressBar(); + } + + private void ScanScenes() + { + string[] sceneGuids = AssetDatabase.FindAssets("t:Scene", new[] { "Assets/Scenes" }); + + EditorUtility.DisplayProgressBar("Scanning Scenes", "Starting...", 0f); + + string currentScenePath = SceneManager.GetActiveScene().path; + + for (int i = 0; i < sceneGuids.Length; i++) + { + string path = AssetDatabase.GUIDToAssetPath(sceneGuids[i]); + + EditorUtility.DisplayProgressBar("Scanning Scenes", + $"Checking {i + 1}/{sceneGuids.Length}: {Path.GetFileName(path)}", + (float)i / sceneGuids.Length); + + EditorSceneManager.OpenScene(path, OpenSceneMode.Single); + + // Find all InteractableBase components in the scene + InteractableBase[] components = GameObject.FindObjectsByType(FindObjectsSortMode.None); + + int exactMatches = 0; + foreach (var component in components) + { + if (component != null && component.GetType() == typeof(InteractableBase)) + { + exactMatches++; + } + } + + if (exactMatches > 0) + { + problematicScenes.Add(path); + componentsFound += exactMatches; + } + } + + // Restore original scene + if (!string.IsNullOrEmpty(currentScenePath)) + { + EditorSceneManager.OpenScene(currentScenePath); + } + + EditorUtility.ClearProgressBar(); + } + + private void RemoveFromAllPrefabs() + { + if (!EditorUtility.DisplayDialog("Confirm Removal", + $"This will remove InteractableBase components from {problematicPrefabs.Count} prefabs.\n\n" + + "This cannot be undone (unless you use version control).\n\nContinue?", + "Yes, Remove", "Cancel")) + { + return; + } + + int removedCount = 0; + + for (int i = 0; i < problematicPrefabs.Count; i++) + { + string path = problematicPrefabs[i]; + + EditorUtility.DisplayProgressBar("Removing Components from Prefabs", + $"Processing {i + 1}/{problematicPrefabs.Count}: {Path.GetFileName(path)}", + (float)i / problematicPrefabs.Count); + + removedCount += RemoveFromPrefab(path); + } + + EditorUtility.ClearProgressBar(); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + Debug.Log($"[Prefab Cleanup Complete] Removed {removedCount} InteractableBase components from prefabs."); + + ScanAll(); + } + + private void RemoveFromAllScenes() + { + if (!EditorUtility.DisplayDialog("Confirm Removal", + $"This will remove InteractableBase components from {problematicScenes.Count} scenes.\n\n" + + "This cannot be undone (unless you use version control).\n\nContinue?", + "Yes, Remove", "Cancel")) + { + return; + } + + int removedCount = 0; + string currentScenePath = SceneManager.GetActiveScene().path; + + for (int i = 0; i < problematicScenes.Count; i++) + { + string path = problematicScenes[i]; + + EditorUtility.DisplayProgressBar("Removing Components from Scenes", + $"Processing {i + 1}/{problematicScenes.Count}: {Path.GetFileName(path)}", + (float)i / problematicScenes.Count); + + removedCount += RemoveFromScene(path); + } + + // Restore original scene + if (!string.IsNullOrEmpty(currentScenePath)) + { + EditorSceneManager.OpenScene(currentScenePath); + } + + EditorUtility.ClearProgressBar(); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + Debug.Log($"[Scene Cleanup Complete] Removed {removedCount} InteractableBase components from scenes."); + + ScanAll(); + } + + private void RemoveAll() + { + if (!EditorUtility.DisplayDialog("Confirm Removal", + $"This will remove {componentsFound} InteractableBase components from:\n" + + $"• {problematicPrefabs.Count} prefabs\n" + + $"• {problematicScenes.Count} scenes\n\n" + + "This cannot be undone (unless you use version control).\n\nContinue?", + "Yes, Remove", "Cancel")) + { + return; + } + + int removedCount = 0; + + // Remove from prefabs + for (int i = 0; i < problematicPrefabs.Count; i++) + { + string path = problematicPrefabs[i]; + + EditorUtility.DisplayProgressBar("Removing Components", + $"Prefabs {i + 1}/{problematicPrefabs.Count}: {Path.GetFileName(path)}", + (float)i / (problematicPrefabs.Count + problematicScenes.Count)); + + removedCount += RemoveFromPrefab(path); + } + + // Remove from scenes + string currentScenePath = SceneManager.GetActiveScene().path; + + for (int i = 0; i < problematicScenes.Count; i++) + { + string path = problematicScenes[i]; + + EditorUtility.DisplayProgressBar("Removing Components", + $"Scenes {i + 1}/{problematicScenes.Count}: {Path.GetFileName(path)}", + (float)(problematicPrefabs.Count + i) / (problematicPrefabs.Count + problematicScenes.Count)); + + removedCount += RemoveFromScene(path); + } + + // Restore original scene + if (!string.IsNullOrEmpty(currentScenePath)) + { + EditorSceneManager.OpenScene(currentScenePath); + } + + EditorUtility.ClearProgressBar(); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + + Debug.Log($"[Removal Complete] Removed {removedCount} InteractableBase components."); + + ScanAll(); + } + + private int RemoveFromPrefab(string assetPath) + { + int removed = 0; + + try + { + GameObject prefab = AssetDatabase.LoadAssetAtPath(assetPath); + if (prefab == null) + { + Debug.LogWarning($"Could not load prefab at path: {assetPath}"); + return 0; + } + + string prefabPath = AssetDatabase.GetAssetPath(prefab); + GameObject prefabContents = null; + + try + { + prefabContents = PrefabUtility.LoadPrefabContents(prefabPath); + } + catch (Exception loadEx) + { + Debug.LogError($"Failed to load prefab contents for {assetPath}: {loadEx.Message}"); + return 0; + } + + if (prefabContents == null) + { + Debug.LogWarning($"Prefab contents are null for: {assetPath}"); + return 0; + } + + InteractableBase[] components = prefabContents.GetComponentsInChildren(true); + + if (components == null || components.Length == 0) + { + PrefabUtility.UnloadPrefabContents(prefabContents); + return 0; + } + + foreach (var component in components) + { + if (component == null) + continue; + + // Check if it's EXACTLY InteractableBase (not a derived type) + if (component.GetType() == typeof(InteractableBase)) + { + // Cache references before destroying + GameObject targetObject = component.gameObject; + string objectName = targetObject != null ? targetObject.name : "Unknown"; + + // Check if GameObject already has a derived InteractableBase type + bool hasPickup = targetObject.GetComponent() != null; + bool hasItemSlot = targetObject.GetComponent() != null; + bool hasOneClick = targetObject.GetComponent() != null; + + if (hasPickup || hasItemSlot || hasOneClick) + { + // GameObject already has a concrete type, safe to remove bare base class + DestroyImmediate(component); + removed++; + string existingType = hasItemSlot ? "ItemSlot" : (hasPickup ? "Pickup" : "OneClickInteraction"); + Debug.Log($"[Removed] Bare InteractableBase from '{objectName}' (already has {existingType}) in prefab '{Path.GetFileName(assetPath)}'"); + continue; + } + + // Check what other components depend on InteractableBase + Component[] allComponents = targetObject.GetComponents(); + List dependentComponents = new List(); + + foreach (var otherComponent in allComponents) + { + if (otherComponent == null || otherComponent == component) + continue; + + var requireAttributes = otherComponent.GetType().GetCustomAttributes(typeof(RequireComponent), true); + foreach (RequireComponent attr in requireAttributes) + { + if (attr.m_Type0 == typeof(InteractableBase) || + attr.m_Type1 == typeof(InteractableBase) || + attr.m_Type2 == typeof(InteractableBase)) + { + dependentComponents.Add(otherComponent.GetType().Name); + } + } + } + + if (dependentComponents.Count > 0) + { + string dependencyList = string.Join(", ", dependentComponents); + string message = $"GameObject '{objectName}' in prefab '{Path.GetFileName(assetPath)}' has InteractableBase, " + + $"but these components depend on it:\n\n{dependencyList}\n\n" + + "Replace InteractableBase with:"; + + int choice = EditorUtility.DisplayDialogComplex( + "Component Dependency Detected", + message, + "Pickup", + "ItemSlot", + "OneClickInteraction"); + + Type replacementType = choice switch + { + 0 => typeof(Pickup), + 1 => typeof(ItemSlot), + 2 => typeof(OneClickInteraction), + _ => null + }; + + if (replacementType != null) + { + // Cache component data before destroying + bool isOneTime = component.isOneTime; + float cooldown = component.cooldown; + CharacterToInteract characterToInteract = component.characterToInteract; + + DestroyImmediate(component); + + var newComponent = targetObject.AddComponent(replacementType) as InteractableBase; + if (newComponent != null) + { + newComponent.isOneTime = isOneTime; + newComponent.cooldown = cooldown; + newComponent.characterToInteract = characterToInteract; + + removed++; + Debug.Log($"[Replaced] InteractableBase with {replacementType.Name} on '{objectName}' in prefab '{Path.GetFileName(assetPath)}'"); + } + } + else + { + Debug.LogWarning($"Skipped removing InteractableBase from '{objectName}' - no replacement chosen"); + } + } + else + { + DestroyImmediate(component); + removed++; + Debug.Log($"[Removed] InteractableBase from '{objectName}' in prefab '{Path.GetFileName(assetPath)}'"); + } + } + } + + if (removed > 0) + { + try + { + PrefabUtility.SaveAsPrefabAsset(prefabContents, prefabPath); + } + catch (Exception saveEx) + { + Debug.LogError($"Failed to save prefab {assetPath}: {saveEx.Message}"); + } + } + + PrefabUtility.UnloadPrefabContents(prefabContents); + } + catch (Exception ex) + { + Debug.LogError($"Error removing components from prefab {assetPath}: {ex.Message}\nStack: {ex.StackTrace}"); + } + + return removed; + } + + private int RemoveFromScene(string scenePath) + { + int removed = 0; + + try + { + Scene scene = EditorSceneManager.OpenScene(scenePath, OpenSceneMode.Single); + + if (!scene.isLoaded) + { + Debug.LogWarning($"Scene not loaded: {scenePath}"); + return 0; + } + + InteractableBase[] components = GameObject.FindObjectsByType(FindObjectsSortMode.None); + + if (components == null || components.Length == 0) + { + return 0; + } + + foreach (var component in components) + { + if (component == null) + continue; + + if (component.GetType() == typeof(InteractableBase)) + { + // Cache references before destroying + GameObject targetObject = component.gameObject; + string objectName = targetObject != null ? targetObject.name : "Unknown"; + + // Check if GameObject already has a derived InteractableBase type + bool hasPickup = targetObject.GetComponent() != null; + bool hasItemSlot = targetObject.GetComponent() != null; + bool hasOneClick = targetObject.GetComponent() != null; + + if (hasPickup || hasItemSlot || hasOneClick) + { + // GameObject already has a concrete type, safe to remove bare base class + DestroyImmediate(component); + removed++; + string existingType = hasItemSlot ? "ItemSlot" : (hasPickup ? "Pickup" : "OneClickInteraction"); + Debug.Log($"[Removed] Bare InteractableBase from '{objectName}' (already has {existingType}) in scene '{Path.GetFileName(scenePath)}'"); + continue; + } + + Component[] allComponents = targetObject.GetComponents(); + List dependentComponents = new List(); + + foreach (var otherComponent in allComponents) + { + if (otherComponent == null || otherComponent == component) + continue; + + var requireAttributes = otherComponent.GetType().GetCustomAttributes(typeof(RequireComponent), true); + foreach (RequireComponent attr in requireAttributes) + { + if (attr.m_Type0 == typeof(InteractableBase) || + attr.m_Type1 == typeof(InteractableBase) || + attr.m_Type2 == typeof(InteractableBase)) + { + dependentComponents.Add(otherComponent.GetType().Name); + } + } + } + + if (dependentComponents.Count > 0) + { + string dependencyList = string.Join(", ", dependentComponents); + string message = $"GameObject '{objectName}' in scene '{Path.GetFileName(scenePath)}' has InteractableBase, " + + $"but these components depend on it:\n\n{dependencyList}\n\n" + + "Replace InteractableBase with:"; + + int choice = EditorUtility.DisplayDialogComplex( + "Component Dependency Detected", + message, + "Pickup", + "ItemSlot", + "OneClickInteraction"); + + Type replacementType = choice switch + { + 0 => typeof(Pickup), + 1 => typeof(ItemSlot), + 2 => typeof(OneClickInteraction), + _ => null + }; + + if (replacementType != null) + { + // Cache component data before destroying + bool isOneTime = component.isOneTime; + float cooldown = component.cooldown; + CharacterToInteract characterToInteract = component.characterToInteract; + + DestroyImmediate(component); + + var newComponent = targetObject.AddComponent(replacementType) as InteractableBase; + if (newComponent != null) + { + newComponent.isOneTime = isOneTime; + newComponent.cooldown = cooldown; + newComponent.characterToInteract = characterToInteract; + + removed++; + Debug.Log($"[Replaced] InteractableBase with {replacementType.Name} on '{objectName}' in scene '{Path.GetFileName(scenePath)}'"); + } + } + else + { + Debug.LogWarning($"Skipped removing InteractableBase from '{objectName}' - no replacement chosen"); + } + } + else + { + DestroyImmediate(component); + removed++; + Debug.Log($"[Removed] InteractableBase from '{objectName}' in scene '{Path.GetFileName(scenePath)}'"); + } + } + } + + if (removed > 0) + { + EditorSceneManager.MarkSceneDirty(scene); + EditorSceneManager.SaveScene(scene); + } + } + catch (Exception ex) + { + Debug.LogError($"Error removing components from scene {scenePath}: {ex.Message}\nStack: {ex.StackTrace}"); + } + + return removed; + } + } +} + diff --git a/Assets/Editor/RemoveInteractableBaseComponents.cs.meta b/Assets/Editor/RemoveInteractableBaseComponents.cs.meta new file mode 100644 index 00000000..c93f2a16 --- /dev/null +++ b/Assets/Editor/RemoveInteractableBaseComponents.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: da895c0622e34ef8a18675993eec9877 +timeCreated: 1762024152 \ No newline at end of file diff --git a/Assets/Editor/RemoveOldInteractableReferences.cs b/Assets/Editor/RemoveOldInteractableReferences.cs new file mode 100644 index 00000000..cc287657 --- /dev/null +++ b/Assets/Editor/RemoveOldInteractableReferences.cs @@ -0,0 +1,228 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; +using System.IO; +using System.Text.RegularExpressions; + +namespace Editor +{ + public class RemoveOldInteractableReferences : EditorWindow + { + private List problematicPrefabs = new List(); + private Vector2 scrollPosition; + private bool hasScanned = false; + + [MenuItem("AppleHills/Remove Old Interactable References")] + public static void ShowWindow() + { + var window = GetWindow("Clean Old Interactables"); + window.minSize = new Vector2(600, 400); + } + + private void OnGUI() + { + GUILayout.Label("Remove Old Interactable/InteractableBase References", EditorStyles.boldLabel); + + EditorGUILayout.HelpBox( + "This tool finds and removes references to:\n" + + "- Interactable (old script name)\n" + + "- InteractableBase (abstract class - not allowed on prefabs)\n\n" + + "These should be replaced by concrete types: Pickup, ItemSlot, or OneClickInteraction", + MessageType.Info); + + EditorGUILayout.Space(); + + if (GUILayout.Button("Scan All Prefabs", GUILayout.Height(30))) + { + ScanPrefabs(); + } + + EditorGUILayout.Space(); + + if (hasScanned) + { + EditorGUILayout.LabelField($"Found {problematicPrefabs.Count} prefabs with old references", EditorStyles.boldLabel); + + if (problematicPrefabs.Count > 0) + { + EditorGUILayout.Space(); + + if (GUILayout.Button("Clean All Prefabs", GUILayout.Height(30))) + { + CleanAllPrefabs(); + } + + EditorGUILayout.Space(); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + foreach (var prefabPath in problematicPrefabs) + { + EditorGUILayout.BeginHorizontal("box"); + EditorGUILayout.LabelField(prefabPath); + if (GUILayout.Button("Clean This", GUILayout.Width(80))) + { + CleanSinglePrefab(prefabPath); + } + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.EndScrollView(); + } + else + { + EditorGUILayout.HelpBox("No problematic prefabs found! All clean.", MessageType.Info); + } + } + } + + private void ScanPrefabs() + { + problematicPrefabs.Clear(); + hasScanned = true; + + string[] prefabGuids = AssetDatabase.FindAssets("t:Prefab", new[] { "Assets" }); + + EditorUtility.DisplayProgressBar("Scanning Prefabs", "Starting...", 0f); + + for (int i = 0; i < prefabGuids.Length; i++) + { + string path = AssetDatabase.GUIDToAssetPath(prefabGuids[i]); + + EditorUtility.DisplayProgressBar("Scanning Prefabs", + $"Checking {i + 1}/{prefabGuids.Length}: {Path.GetFileName(path)}", + (float)i / prefabGuids.Length); + + if (PrefabHasOldInteractableReference(path)) + { + problematicPrefabs.Add(path); + } + } + + EditorUtility.ClearProgressBar(); + + Debug.Log($"[Scan Complete] Found {problematicPrefabs.Count} prefabs with old Interactable/InteractableBase references."); + } + + private bool PrefabHasOldInteractableReference(string assetPath) + { + try + { + string fullPath = Path.GetFullPath(assetPath); + string content = File.ReadAllText(fullPath); + + // Look for GUID of Interactable script (11500000 is MonoBehaviour type) + // We're looking for the script reference pattern in YAML + // Pattern: m_Script: {fileID: 11500000, guid: SCRIPT_GUID, type: 3} + + // Check if content contains "Interactable" class name references + // This is a simple text search - if the YAML contains these class names, it likely references them + if (content.Contains("InteractableBase") || + (content.Contains("Interactable") && !content.Contains("OneClickInteraction"))) + { + // Additional check: Look for MonoBehaviour blocks with missing scripts (fileID: 0) + if (Regex.IsMatch(content, @"m_Script:\s*\{fileID:\s*0\}")) + { + return true; + } + + // Check for direct class name matches in script references + if (Regex.IsMatch(content, @"m_Name:\s*(Interactable|InteractableBase)")) + { + return true; + } + } + + return false; + } + catch (System.Exception ex) + { + Debug.LogWarning($"Error scanning {assetPath}: {ex.Message}"); + return false; + } + } + + private void CleanAllPrefabs() + { + if (!EditorUtility.DisplayDialog("Confirm Cleanup", + $"This will remove old Interactable/InteractableBase references from {problematicPrefabs.Count} prefabs.\n\nThis cannot be undone (unless you use version control).\n\nContinue?", + "Yes, Clean", "Cancel")) + { + return; + } + + int cleanedCount = 0; + + for (int i = 0; i < problematicPrefabs.Count; i++) + { + string path = problematicPrefabs[i]; + + EditorUtility.DisplayProgressBar("Cleaning Prefabs", + $"Cleaning {i + 1}/{problematicPrefabs.Count}: {Path.GetFileName(path)}", + (float)i / problematicPrefabs.Count); + + if (CleanPrefabFile(path)) + { + cleanedCount++; + } + } + + EditorUtility.ClearProgressBar(); + AssetDatabase.Refresh(); + + Debug.Log($"[Cleanup Complete] Cleaned {cleanedCount} prefabs."); + + // Re-scan to update the list + ScanPrefabs(); + } + + private void CleanSinglePrefab(string assetPath) + { + if (CleanPrefabFile(assetPath)) + { + Debug.Log($"[Cleaned] {assetPath}"); + AssetDatabase.Refresh(); + + // Re-scan to update the list + ScanPrefabs(); + } + } + + private bool CleanPrefabFile(string assetPath) + { + try + { + string fullPath = Path.GetFullPath(assetPath); + string content = File.ReadAllText(fullPath); + string originalContent = content; + + // Pattern 1: Remove entire MonoBehaviour component blocks with missing scripts (fileID: 0) + // This removes the component header and all its properties until the next component or end + string missingScriptPattern = @"--- !u!114 &\d+\r?\nMonoBehaviour:(?:\r?\n(?!---).+)*?\r?\n m_Script: \{fileID: 0\}(?:\r?\n(?!---).+)*"; + content = Regex.Replace(content, missingScriptPattern, "", RegexOptions.Multiline); + + // Pattern 2: Remove MonoBehaviour blocks that explicitly reference InteractableBase or Interactable + // This is more aggressive and targets the class name directly + string interactablePattern = @"--- !u!114 &\d+\r?\nMonoBehaviour:(?:\r?\n(?!---).+)*?\r?\n m_Name: (?:Interactable|InteractableBase)(?:\r?\n(?!---).+)*"; + content = Regex.Replace(content, interactablePattern, "", RegexOptions.Multiline); + + if (content != originalContent) + { + // Clean up any double blank lines that might have been created + content = Regex.Replace(content, @"(\r?\n){3,}", "\n\n"); + + File.WriteAllText(fullPath, content); + return true; + } + + return false; + } + catch (System.Exception ex) + { + Debug.LogError($"Error cleaning {assetPath}: {ex.Message}"); + return false; + } + } + } +} + diff --git a/Assets/Editor/RemoveOldInteractableReferences.cs.meta b/Assets/Editor/RemoveOldInteractableReferences.cs.meta new file mode 100644 index 00000000..23887c29 --- /dev/null +++ b/Assets/Editor/RemoveOldInteractableReferences.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d898bc44012542c0942b632b56cea3dc +timeCreated: 1762023714 \ No newline at end of file diff --git a/Assets/Prefabs/Characters/AnneLise_Camera.prefab b/Assets/Prefabs/Characters/AnneLise_Camera.prefab index 61d6d8fe..c09964d4 100644 --- a/Assets/Prefabs/Characters/AnneLise_Camera.prefab +++ b/Assets/Prefabs/Characters/AnneLise_Camera.prefab @@ -218,7 +218,6 @@ GameObject: - component: {fileID: 9136625393187827797} - component: {fileID: 935652268781177375} - component: {fileID: 6455089331794006644} - - component: {fileID: 5043618791380611472} - component: {fileID: 4538351495758615844} - component: {fileID: 1474128690748341614} - component: {fileID: 8147035636176183831} @@ -362,45 +361,6 @@ MonoBehaviour: bezierTangentLength: 0.4 offset: 0.2 factor: 0.1 ---- !u!114 &5043618791380611472 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5172497182660285677} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 0 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7273455074532059757} - m_TargetAssemblyTypeName: AnneLiseBehaviour, AppleHillsScripts - m_MethodName: TrafalgarTouchedAnnaLise - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!61 &4538351495758615844 BoxCollider2D: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Characters/Quarry_Monster.prefab b/Assets/Prefabs/Characters/Quarry_Monster.prefab index eac53537..2afe84e4 100644 --- a/Assets/Prefabs/Characters/Quarry_Monster.prefab +++ b/Assets/Prefabs/Characters/Quarry_Monster.prefab @@ -55,6 +55,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -76,6 +78,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -216,6 +219,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -237,6 +242,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -331,7 +337,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 5212335871165425260} - - component: {fileID: 573167365091475437} - component: {fileID: 7949893628617182594} - component: {fileID: 2480059440535884700} - component: {fileID: 332798344517077917} @@ -361,18 +366,6 @@ Transform: - {fileID: 3620851101260825962} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &573167365091475437 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5818851785444482747} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!65 &7949893628617182594 BoxCollider: m_ObjectHideFlags: 0 @@ -414,6 +407,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -435,6 +430,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -552,6 +548,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -573,6 +571,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 diff --git a/Assets/Prefabs/Environment/Placeholders/BallTree.prefab b/Assets/Prefabs/Environment/Placeholders/BallTree.prefab index 918b50fa..aec7ed2e 100644 --- a/Assets/Prefabs/Environment/Placeholders/BallTree.prefab +++ b/Assets/Prefabs/Environment/Placeholders/BallTree.prefab @@ -172,7 +172,6 @@ GameObject: - component: {fileID: 4937390562043858043} - component: {fileID: 2720557426779044373} - component: {fileID: 8897661028274890141} - - component: {fileID: 8437452310832126615} - component: {fileID: 492578671844741631} - component: {fileID: 8984729148657672365} - component: {fileID: 1569498917964935965} @@ -307,33 +306,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3.8, y: 7.34} m_EdgeRadius: 0 ---- !u!114 &8437452310832126615 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7379304988657006554} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &492578671844741631 MonoBehaviour: m_ObjectHideFlags: 0 @@ -421,6 +393,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] --- !u!95 &4544320034237251646 Animator: serializedVersion: 7 diff --git a/Assets/Prefabs/Environment/Placeholders/Lawnmower.prefab b/Assets/Prefabs/Environment/Placeholders/Lawnmower.prefab index 854d29b5..37de87ac 100644 --- a/Assets/Prefabs/Environment/Placeholders/Lawnmower.prefab +++ b/Assets/Prefabs/Environment/Placeholders/Lawnmower.prefab @@ -94,8 +94,8 @@ GameObject: - component: {fileID: 8049523385480426504} - component: {fileID: 4972892989515032591} - component: {fileID: 7695719922005140445} - - component: {fileID: 4901186366144297979} - component: {fileID: 5264516637087018658} + - component: {fileID: 4216285652484848112} m_Layer: 10 m_Name: Lawnmower m_TagString: Untagged @@ -139,6 +139,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -160,6 +162,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 1 @@ -220,33 +223,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3.87, y: 4.92} m_EdgeRadius: 0 ---- !u!114 &4901186366144297979 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4940025602237181209} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &5264516637087018658 MonoBehaviour: m_ObjectHideFlags: 0 @@ -260,3 +236,32 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: stepData: {fileID: 11400000, guid: ea383d1dee861f54c9a1d4f32a2f6afc, type: 2} + puzzleIndicator: {fileID: 0} + drawPromptRangeGizmo: 1 +--- !u!114 &4216285652484848112 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4940025602237181209} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.OneClickInteraction + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] diff --git a/Assets/Prefabs/Environment/Placeholders/LureSpotA.prefab b/Assets/Prefabs/Environment/Placeholders/LureSpotA.prefab index 08cdf216..2671ea8c 100644 --- a/Assets/Prefabs/Environment/Placeholders/LureSpotA.prefab +++ b/Assets/Prefabs/Environment/Placeholders/LureSpotA.prefab @@ -101,7 +101,6 @@ GameObject: - component: {fileID: 2045549771447434109} - component: {fileID: 6258593095132504700} - component: {fileID: 5475802662781903683} - - component: {fileID: 8818689886719637838} - component: {fileID: 8578055200319571631} - component: {fileID: 3487003259787903584} - component: {fileID: 2277261512137882881} @@ -234,33 +233,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 5.75, y: 2.78} m_EdgeRadius: 0 ---- !u!114 &8818689886719637838 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7249528695393012044} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &8578055200319571631 MonoBehaviour: m_ObjectHideFlags: 0 @@ -273,6 +245,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ec1a2e6e32f746c4990c579e13b79104, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: aaf36cd26cf74334e9c7db6c1b03b3fb, type: 2} iconRenderer: {fileID: 6258593095132504700} onItemSlotted: @@ -471,11 +458,47 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 3564508080570265706, guid: 9b2d5618c8cc81743b982c6cc8d95871, type: 3} m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1784002662241348359, guid: 9b2d5618c8cc81743b982c6cc8d95871, type: 3} + insertIndex: -1 + addedObject: {fileID: 6783916694726663256} m_SourcePrefab: {fileID: 100100000, guid: 9b2d5618c8cc81743b982c6cc8d95871, type: 3} +--- !u!1 &3134003919645739551 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1784002662241348359, guid: 9b2d5618c8cc81743b982c6cc8d95871, type: 3} + m_PrefabInstance: {fileID: 3727919522638045464} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6783916694726663256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3134003919645739551} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.OneClickInteraction + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] --- !u!4 &6063784346986324055 stripped Transform: m_CorrespondingSourceObject: {fileID: 7465517589433942351, guid: 9b2d5618c8cc81743b982c6cc8d95871, type: 3} diff --git a/Assets/Prefabs/Environment/Placeholders/LuringSpotB.prefab b/Assets/Prefabs/Environment/Placeholders/LuringSpotB.prefab index 64a381c0..d390b90c 100644 --- a/Assets/Prefabs/Environment/Placeholders/LuringSpotB.prefab +++ b/Assets/Prefabs/Environment/Placeholders/LuringSpotB.prefab @@ -191,7 +191,6 @@ GameObject: - component: {fileID: 6078012632802010276} - component: {fileID: 6583028881099676536} - component: {fileID: 8374056515464764762} - - component: {fileID: 4289780218821574471} - component: {fileID: 3093816592344978065} - component: {fileID: 8758136668472096799} - component: {fileID: 488333850132012697} @@ -324,33 +323,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 5.75, y: 2.78} m_EdgeRadius: 0 ---- !u!114 &4289780218821574471 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5835735262203788332} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &3093816592344978065 MonoBehaviour: m_ObjectHideFlags: 0 @@ -363,6 +335,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ec1a2e6e32f746c4990c579e13b79104, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: f97b9e24d6dceb145b56426c1152ebeb, type: 2} iconRenderer: {fileID: 6583028881099676536} onItemSlotted: @@ -690,6 +677,7 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: - {fileID: 5935055277585311711, guid: fde0c702b7c4ea3439502cfb575ac77a, type: 3} + - {fileID: 2244388719931587964, guid: fde0c702b7c4ea3439502cfb575ac77a, type: 3} m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: [] diff --git a/Assets/Prefabs/Environment/Placeholders/LuringSpotC.prefab b/Assets/Prefabs/Environment/Placeholders/LuringSpotC.prefab index 38ebf855..934fc3e2 100644 --- a/Assets/Prefabs/Environment/Placeholders/LuringSpotC.prefab +++ b/Assets/Prefabs/Environment/Placeholders/LuringSpotC.prefab @@ -184,7 +184,6 @@ GameObject: - component: {fileID: 6583016841553003224} - component: {fileID: 5015123355472106337} - component: {fileID: 1857323601952658682} - - component: {fileID: 519585874127847016} - component: {fileID: 106497079666291966} - component: {fileID: 6535246856440349519} - component: {fileID: 3169137887822749614} @@ -319,33 +318,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 5.75, y: 2.78} m_EdgeRadius: 0 ---- !u!114 &519585874127847016 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7145022056631397938} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &106497079666291966 MonoBehaviour: m_ObjectHideFlags: 0 @@ -358,6 +330,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ec1a2e6e32f746c4990c579e13b79104, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: c68dea945fecbf44094359769db04f31, type: 2} iconRenderer: {fileID: 5015123355472106337} onItemSlotted: @@ -562,11 +549,47 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 3564508080570265706, guid: e3d6494020df3a34f88a89f0ee9a3527, type: 3} m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1784002662241348359, guid: e3d6494020df3a34f88a89f0ee9a3527, type: 3} + insertIndex: -1 + addedObject: {fileID: 3799934504768123710} m_SourcePrefab: {fileID: 100100000, guid: e3d6494020df3a34f88a89f0ee9a3527, type: 3} +--- !u!1 &1752095048762397502 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1784002662241348359, guid: e3d6494020df3a34f88a89f0ee9a3527, type: 3} + m_PrefabInstance: {fileID: 41304055486298169} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3799934504768123710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1752095048762397502} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.OneClickInteraction + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] --- !u!4 &7424295450283293046 stripped Transform: m_CorrespondingSourceObject: {fileID: 7465517589433942351, guid: e3d6494020df3a34f88a89f0ee9a3527, type: 3} diff --git a/Assets/Prefabs/Environment/Placeholders/SoundBird.prefab b/Assets/Prefabs/Environment/Placeholders/SoundBird.prefab index c1e44904..e267d6a8 100644 --- a/Assets/Prefabs/Environment/Placeholders/SoundBird.prefab +++ b/Assets/Prefabs/Environment/Placeholders/SoundBird.prefab @@ -42,7 +42,6 @@ GameObject: - component: {fileID: 2523333015159032981} - component: {fileID: 8875860401447896107} - component: {fileID: 5057760771402457000} - - component: {fileID: 5387498764853775290} - component: {fileID: 2433130051631076285} - component: {fileID: 7290110366808972859} - component: {fileID: 4831635791684479552} @@ -175,33 +174,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3.5, y: 4.5} m_EdgeRadius: 0 ---- !u!114 &5387498764853775290 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 588897581313790951} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 1 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &2433130051631076285 MonoBehaviour: m_ObjectHideFlags: 0 @@ -214,6 +186,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ec1a2e6e32f746c4990c579e13b79104, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: d28f5774afad9d14f823601707150700, type: 2} iconRenderer: {fileID: 8875860401447896107} onItemSlotted: diff --git a/Assets/Prefabs/Items/BasePickup.prefab b/Assets/Prefabs/Items/BasePickup.prefab index 3efc92c9..b13242dd 100644 --- a/Assets/Prefabs/Items/BasePickup.prefab +++ b/Assets/Prefabs/Items/BasePickup.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 1730119453103664125} - component: {fileID: 7494677664706785084} - component: {fileID: 3070149615425714466} - - component: {fileID: 7616859841301711022} - component: {fileID: 592045584872845087} m_Layer: 10 m_Name: BurgerBuns @@ -140,33 +139,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 2, y: 1.5} m_EdgeRadius: 0 ---- !u!114 &7616859841301711022 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7447346505753002421} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &592045584872845087 MonoBehaviour: m_ObjectHideFlags: 0 @@ -179,6 +151,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7846448751da4bdbaaa5cb87890dca42, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: 0c6986639ca176a419c92f5a327d95ce, type: 2} iconRenderer: {fileID: 7494677664706785084} --- !u!1001 &8589202998731622905 diff --git a/Assets/Prefabs/Items/Basketball.prefab b/Assets/Prefabs/Items/Basketball.prefab index d10e0350..f6c53954 100644 --- a/Assets/Prefabs/Items/Basketball.prefab +++ b/Assets/Prefabs/Items/Basketball.prefab @@ -9,7 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 6133778293368838189} - - component: {fileID: 6838888653638142452} - component: {fileID: 3696625264308890211} - component: {fileID: 4055726361761331703} - component: {fileID: 1226703179564388091} @@ -35,33 +34,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6838888653638142452 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2755476303005018105} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!65 &3696625264308890211 BoxCollider: m_ObjectHideFlags: 0 @@ -153,5 +125,20 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7846448751da4bdbaaa5cb87890dca42, type: 3} m_Name: m_EditorClassIdentifier: AppleHillsScripts::Interactions.Pickup + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: 43f22dbbb4c0eec4f8108d0f0eea43c2, type: 2} iconRenderer: {fileID: 4055726361761331703} diff --git a/Assets/Prefabs/Items/BlueBall.prefab b/Assets/Prefabs/Items/BlueBall.prefab index 462c3755..ea8ef5a0 100644 --- a/Assets/Prefabs/Items/BlueBall.prefab +++ b/Assets/Prefabs/Items/BlueBall.prefab @@ -9,7 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 9162571094694503926} - - component: {fileID: 3036964942126424676} - component: {fileID: 8812271188036963294} - component: {fileID: 4774534086162962138} - component: {fileID: 5483561632297398438} @@ -35,33 +34,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3036964942126424676 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5070378814342643473} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!65 &8812271188036963294 BoxCollider: m_ObjectHideFlags: 0 @@ -153,5 +125,20 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7846448751da4bdbaaa5cb87890dca42, type: 3} m_Name: m_EditorClassIdentifier: AppleHillsScripts::Interactions.Pickup + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: a8baa800efa25a344a95b190cf349e2d, type: 2} iconRenderer: {fileID: 4774534086162962138} diff --git a/Assets/Prefabs/Items/BowlingBall.prefab b/Assets/Prefabs/Items/BowlingBall.prefab index 2b86d95d..3d408bf6 100644 --- a/Assets/Prefabs/Items/BowlingBall.prefab +++ b/Assets/Prefabs/Items/BowlingBall.prefab @@ -9,7 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1099560239978781683} - - component: {fileID: 2946468825538066170} - component: {fileID: 4272383251773444855} - component: {fileID: 4986096986936361008} - component: {fileID: 2753389442270867527} @@ -35,33 +34,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2946468825538066170 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2331806108796329904} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!65 &4272383251773444855 BoxCollider: m_ObjectHideFlags: 0 @@ -153,5 +125,20 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7846448751da4bdbaaa5cb87890dca42, type: 3} m_Name: m_EditorClassIdentifier: AppleHillsScripts::Interactions.Pickup + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: 560ba2059ce14dc4da580e2f43b2e65f, type: 2} iconRenderer: {fileID: 4986096986936361008} diff --git a/Assets/Prefabs/Items/PrefabsPLACEHOLDER/Bunfflers.prefab b/Assets/Prefabs/Items/PrefabsPLACEHOLDER/Bunfflers.prefab index 20e56178..970eb126 100644 --- a/Assets/Prefabs/Items/PrefabsPLACEHOLDER/Bunfflers.prefab +++ b/Assets/Prefabs/Items/PrefabsPLACEHOLDER/Bunfflers.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 8737943614546067711} - component: {fileID: 4638897979003302452} - component: {fileID: 2967522604765020532} - - component: {fileID: 6501709216426994228} - component: {fileID: 7629925223318462841} m_Layer: 0 m_Name: Bunfflers @@ -140,33 +139,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3.011527, y: 2.861527} m_EdgeRadius: 0 ---- !u!114 &6501709216426994228 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8631570451324008562} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 0 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &7629925223318462841 MonoBehaviour: m_ObjectHideFlags: 0 @@ -179,6 +151,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7846448751da4bdbaaa5cb87890dca42, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: 6934dcb56c610c44da228f7f24ca13c9, type: 2} iconRenderer: {fileID: 4638897979003302452} --- !u!1001 &5383473543984492719 diff --git a/Assets/Prefabs/Items/PrefabsPLACEHOLDER/FootballBird.prefab b/Assets/Prefabs/Items/PrefabsPLACEHOLDER/FootballBird.prefab index a394c3dd..7f39fb2f 100644 --- a/Assets/Prefabs/Items/PrefabsPLACEHOLDER/FootballBird.prefab +++ b/Assets/Prefabs/Items/PrefabsPLACEHOLDER/FootballBird.prefab @@ -140,6 +140,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7447346505753002421, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} insertIndex: -1 addedObject: {fileID: 1972611059221495588} + - targetCorrespondingSourceObject: {fileID: 7447346505753002421, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} + insertIndex: -1 + addedObject: {fileID: 5823465144725911689} m_SourcePrefab: {fileID: 100100000, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} --- !u!1 &1784002662241348359 stripped GameObject: @@ -159,3 +162,32 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: stepData: {fileID: 11400000, guid: 0df54e69020c39e44b3b486cd6ac475a, type: 2} + puzzleIndicator: {fileID: 0} + drawPromptRangeGizmo: 1 +--- !u!114 &5823465144725911689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784002662241348359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.OneClickInteraction + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] diff --git a/Assets/Prefabs/Items/PrefabsPLACEHOLDER/HammerBird.prefab b/Assets/Prefabs/Items/PrefabsPLACEHOLDER/HammerBird.prefab index d8459eaf..30c4908d 100644 --- a/Assets/Prefabs/Items/PrefabsPLACEHOLDER/HammerBird.prefab +++ b/Assets/Prefabs/Items/PrefabsPLACEHOLDER/HammerBird.prefab @@ -164,6 +164,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 7447346505753002421, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} insertIndex: -1 addedObject: {fileID: 1972611059221495588} + - targetCorrespondingSourceObject: {fileID: 7447346505753002421, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} + insertIndex: -1 + addedObject: {fileID: 3543209122508210634} m_SourcePrefab: {fileID: 100100000, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} --- !u!1 &1784002662241348359 stripped GameObject: @@ -183,3 +186,32 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: stepData: {fileID: 11400000, guid: 829fc7c8046e0844f93bf810dc1f0ebd, type: 2} + puzzleIndicator: {fileID: 0} + drawPromptRangeGizmo: 1 +--- !u!114 &3543209122508210634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784002662241348359} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.OneClickInteraction + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] diff --git a/Assets/Prefabs/Items/Yellowball.prefab b/Assets/Prefabs/Items/Yellowball.prefab index 5a19d517..8489733c 100644 --- a/Assets/Prefabs/Items/Yellowball.prefab +++ b/Assets/Prefabs/Items/Yellowball.prefab @@ -9,7 +9,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 25208727450420889} - - component: {fileID: 3384252353480975861} - component: {fileID: 8318004605383042340} - component: {fileID: 4266110216568578813} - component: {fileID: 1707774147108908574} @@ -35,33 +34,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3384252353480975861 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 825072831861764844} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!65 &8318004605383042340 BoxCollider: m_ObjectHideFlags: 0 @@ -153,5 +125,20 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7846448751da4bdbaaa5cb87890dca42, type: 3} m_Name: m_EditorClassIdentifier: AppleHillsScripts::Interactions.Pickup + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: 3b1f3472171abc943bb099ce31d6fc7c, type: 2} iconRenderer: {fileID: 4266110216568578813} diff --git a/Assets/Prefabs/Levels/BaseLevelSwitch.prefab b/Assets/Prefabs/Levels/BaseLevelSwitch.prefab index 9af3d88a..b7eb40bc 100644 --- a/Assets/Prefabs/Levels/BaseLevelSwitch.prefab +++ b/Assets/Prefabs/Levels/BaseLevelSwitch.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 4428217320659622763} - component: {fileID: 5374700348512867011} - component: {fileID: 841695541655102207} - - component: {fileID: 4981092805118965486} - component: {fileID: 1397300447834037203} m_Layer: 10 m_Name: BaseLevelSwitch @@ -55,6 +54,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -76,6 +77,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -136,18 +138,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 1, y: 1} m_EdgeRadius: 0 ---- !u!114 &4981092805118965486 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1498439134679474750} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &1397300447834037203 MonoBehaviour: m_ObjectHideFlags: 0 @@ -161,4 +151,3 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: switchData: {fileID: 0} - iconRenderer: {fileID: 5374700348512867011} diff --git a/Assets/Prefabs/Levels/MinigameLevelSwitch.prefab b/Assets/Prefabs/Levels/MinigameLevelSwitch.prefab index 43b76369..11a4ffe5 100644 --- a/Assets/Prefabs/Levels/MinigameLevelSwitch.prefab +++ b/Assets/Prefabs/Levels/MinigameLevelSwitch.prefab @@ -11,7 +11,6 @@ GameObject: - component: {fileID: 4428217320659622763} - component: {fileID: 5374700348512867011} - component: {fileID: 841695541655102207} - - component: {fileID: 4981092805118965486} - component: {fileID: 8846215231430339145} m_Layer: 10 m_Name: MinigameLevelSwitch @@ -139,33 +138,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 1, y: 1} m_EdgeRadius: 0 ---- !u!114 &4981092805118965486 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1498439134679474750} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &8846215231430339145 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Prefabs/Puzzles/AnneLiseBush.prefab b/Assets/Prefabs/Puzzles/AnneLiseBush.prefab index ce823f8e..906dbcd7 100644 --- a/Assets/Prefabs/Puzzles/AnneLiseBush.prefab +++ b/Assets/Prefabs/Puzzles/AnneLiseBush.prefab @@ -223,7 +223,6 @@ GameObject: - component: {fileID: 2071071585578300598} - component: {fileID: 1454372124634854912} - component: {fileID: 4122067414526815177} - - component: {fileID: 362100613909257970} m_Layer: 10 m_Name: Hidden m_TagString: Untagged @@ -306,33 +305,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 5.42, y: 4} m_EdgeRadius: 0 ---- !u!114 &362100613909257970 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011363502278351410} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 0 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!1 &1674229500073894281 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Levels/Quarry.unity b/Assets/Scenes/Levels/Quarry.unity index 80ea7348..afa777e7 100644 --- a/Assets/Scenes/Levels/Quarry.unity +++ b/Assets/Scenes/Levels/Quarry.unity @@ -793,33 +793,6 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3.02, y: 7.5} m_EdgeRadius: 0 ---- !u!114 &21238930 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 21238920} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!82 &21238931 AudioSource: m_ObjectHideFlags: 0 @@ -1294,33 +1267,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 5236930998804014616, guid: 3346526f3046f424196615241a307104, type: 3} m_PrefabInstance: {fileID: 3708074769586677211} m_PrefabAsset: {fileID: 0} ---- !u!114 &90258303 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 90258300} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!61 &90258304 BoxCollider2D: m_ObjectHideFlags: 0 @@ -446651,7 +446597,6 @@ GameObject: - component: {fileID: 874984581} - component: {fileID: 874984584} - component: {fileID: 874984583} - - component: {fileID: 874984582} m_Layer: 10 m_Name: FakeChoco m_TagString: Untagged @@ -446674,45 +446619,6 @@ Transform: m_Children: [] m_Father: {fileID: 1230441488} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &874984582 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 874984580} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 2 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 143210814} - m_TargetAssemblyTypeName: PicnicBehaviour, AppleHillsScripts - m_MethodName: triedToStealChocolate - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!61 &874984583 BoxCollider2D: m_ObjectHideFlags: 0 @@ -452385,9 +452291,6 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 1102400833121127473, guid: 4b7426bc1f8736749b68973653f4dbfb, type: 3} insertIndex: -1 addedObject: {fileID: 430675499} - - targetCorrespondingSourceObject: {fileID: 780600094299918916, guid: 4b7426bc1f8736749b68973653f4dbfb, type: 3} - insertIndex: -1 - addedObject: {fileID: 21238930} - targetCorrespondingSourceObject: {fileID: 780600094299918916, guid: 4b7426bc1f8736749b68973653f4dbfb, type: 3} insertIndex: -1 addedObject: {fileID: 21238929} @@ -454103,33 +454006,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 7379304988657006554, guid: c36b48a324dcaef4cb5ee0f8ca57f0d6, type: 3} m_PrefabInstance: {fileID: 7530821580781571560} m_PrefabAsset: {fileID: 0} ---- !u!114 &1182494933 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1182494929} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &1182494937 MonoBehaviour: m_ObjectHideFlags: 0 @@ -454157,6 +454033,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] --- !u!95 &1182494942 Animator: serializedVersion: 7 @@ -476777,9 +476668,6 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 5236930998804014616, guid: 3346526f3046f424196615241a307104, type: 3} insertIndex: -1 addedObject: {fileID: 90258304} - - targetCorrespondingSourceObject: {fileID: 5236930998804014616, guid: 3346526f3046f424196615241a307104, type: 3} - insertIndex: -1 - addedObject: {fileID: 90258303} - targetCorrespondingSourceObject: {fileID: 5236930998804014616, guid: 3346526f3046f424196615241a307104, type: 3} insertIndex: -1 addedObject: {fileID: 90258308} @@ -477126,6 +477014,7 @@ PrefabInstance: m_RemovedComponents: - {fileID: 5015123355472106337, guid: df01157608cce6447b7ccde0bfa290e1, type: 3} - {fileID: 2013850788445308701, guid: df01157608cce6447b7ccde0bfa290e1, type: 3} + - {fileID: 3595298463567136851, guid: df01157608cce6447b7ccde0bfa290e1, type: 3} m_RemovedGameObjects: - {fileID: 1059106599578386158, guid: df01157608cce6447b7ccde0bfa290e1, type: 3} m_AddedGameObjects: @@ -478301,9 +478190,6 @@ PrefabInstance: m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 7379304988657006554, guid: c36b48a324dcaef4cb5ee0f8ca57f0d6, type: 3} - insertIndex: -1 - addedObject: {fileID: 1182494933} - targetCorrespondingSourceObject: {fileID: 7379304988657006554, guid: c36b48a324dcaef4cb5ee0f8ca57f0d6, type: 3} insertIndex: -1 addedObject: {fileID: 1182494937} diff --git a/Assets/Scenes/TestingStuff/MichalTesting_ItemsPuzzles.unity b/Assets/Scenes/TestingStuff/MichalTesting_ItemsPuzzles.unity index cf92ada4..160ed50e 100644 --- a/Assets/Scenes/TestingStuff/MichalTesting_ItemsPuzzles.unity +++ b/Assets/Scenes/TestingStuff/MichalTesting_ItemsPuzzles.unity @@ -1117,13 +1117,14 @@ MonoBehaviour: m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble textDisplay: {fileID: 677854361} imageDisplay: {fileID: 0} + dialoguePromptImage: {fileID: 0} + dialogueBubble: {fileID: 0} displayMode: 1 typewriterSpeed: 0.02 typingSoundSource: {fileID: 0} typingSoundFrequency: 3 useRichText: 1 dialogueDisplayTime: 1.5 - dialoguePromptText: . . . --- !u!4 &754397347 stripped Transform: m_CorrespondingSourceObject: {fileID: 2844046668579196942, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3} @@ -1479,7 +1480,7 @@ GameObject: - component: {fileID: 1238302920} - component: {fileID: 1238302919} - component: {fileID: 1238302918} - - component: {fileID: 1238302917} + - component: {fileID: 1238302922} m_Layer: 10 m_Name: TestNPC (1) m_TagString: Untagged @@ -1487,33 +1488,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1238302917 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1238302916} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] --- !u!114 &1238302918 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1647,6 +1621,103 @@ Transform: - {fileID: 677854360} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!82 &1238302922 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238302916} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!1 &1255598765 GameObject: m_ObjectHideFlags: 0 @@ -1882,13 +1953,14 @@ MonoBehaviour: m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble textDisplay: {fileID: 614125440} imageDisplay: {fileID: 0} + dialoguePromptImage: {fileID: 0} + dialogueBubble: {fileID: 0} displayMode: 1 typewriterSpeed: 0.02 typingSoundSource: {fileID: 0} typingSoundFrequency: 3 useRichText: 1 dialogueDisplayTime: 1.5 - dialoguePromptText: . . . --- !u!4 &1309036670 stripped Transform: m_CorrespondingSourceObject: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3} @@ -2192,33 +2264,103 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: AppleHillsScripts::Dialogue.DialogueComponent dialogueGraph: {fileID: 3965311268370046156, guid: 9050f99a225035b40b415df272d2b341, type: 3} ---- !u!114 &1443361600 -MonoBehaviour: +--- !u!82 &1443361600 +AudioSource: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1443361595} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable - isOneTime: 0 - cooldown: -1 - characterToInteract: 1 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: [] + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!224 &1522460111 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} @@ -2365,6 +2507,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ec1a2e6e32f746c4990c579e13b79104, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] itemData: {fileID: 11400000, guid: e0fad48a84a6b6346ac17c84bc512500, type: 2} iconRenderer: {fileID: 1631660128} onItemSlotted: diff --git a/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnmowerStateMachine.prefab b/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnmowerStateMachine.prefab index 1fd2d015..1f3158b8 100644 --- a/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnmowerStateMachine.prefab +++ b/Assets/Scripts/DamianExperiments/LawnMowerPuzzle/LawnmowerStateMachine.prefab @@ -86,6 +86,11 @@ MonoBehaviour: LawnMowerObject: {fileID: 6004009293778554413} chaseDuration: 2 chaseDelay: 0 + startPercentage: 0 + gardenerRef: {fileID: 0} + gardenerAnimator: {fileID: 0} + gardenerChasing: 1 + gardenerAudioController: {fileID: 0} --- !u!1 &248720257345368760 GameObject: m_ObjectHideFlags: 0 @@ -148,6 +153,8 @@ MeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -169,6 +176,7 @@ MeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -260,6 +268,8 @@ SpriteRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -281,6 +291,7 @@ SpriteRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -307,7 +318,6 @@ GameObject: - component: {fileID: 7806230666607331392} - component: {fileID: 2801535793207353683} - component: {fileID: 3878369439964005511} - - component: {fileID: 2767794910448825193} - component: {fileID: 2341456216084136881} - component: {fileID: 1126777572448403549} - component: {fileID: 2787990554733244175} @@ -395,45 +405,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9fba2c868971b20439aaea06a939d8e7, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &2767794910448825193 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3485064730924644412} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} - m_Name: - m_EditorClassIdentifier: - isOneTime: 0 - cooldown: -1 - characterToInteract: 0 - interactionStarted: - m_PersistentCalls: - m_Calls: [] - interactionInterrupted: - m_PersistentCalls: - m_Calls: [] - characterArrived: - m_PersistentCalls: - m_Calls: [] - interactionComplete: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 3878369439964005511} - m_TargetAssemblyTypeName: LawnMowerBehaviour, AppleHillsScripts - m_MethodName: stateSwitch - m_Mode: 5 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: LawnmowerMoving - m_BoolArgument: 0 - m_CallState: 2 --- !u!114 &2341456216084136881 MonoBehaviour: m_ObjectHideFlags: 0 @@ -447,6 +418,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: stepData: {fileID: 11400000, guid: ea383d1dee861f54c9a1d4f32a2f6afc, type: 2} + puzzleIndicator: {fileID: 0} + drawPromptRangeGizmo: 1 --- !u!114 &1126777572448403549 MonoBehaviour: m_ObjectHideFlags: 0 @@ -459,6 +432,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 833a4ccef651449e973e623d9107bef5, type: 3} m_Name: m_EditorClassIdentifier: + isOneTime: 0 + cooldown: -1 + characterToInteract: 2 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] --- !u!61 &2787990554733244175 BoxCollider2D: m_ObjectHideFlags: 0 @@ -567,6 +555,8 @@ MeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -588,6 +578,7 @@ MeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -666,6 +657,8 @@ MeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -687,6 +680,7 @@ MeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -768,6 +762,8 @@ SkinnedMeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -789,6 +785,7 @@ SkinnedMeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -884,6 +881,8 @@ SkinnedMeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -905,6 +904,7 @@ SkinnedMeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 @@ -1059,6 +1059,8 @@ MeshRenderer: m_RayTracingAccelStructBuildFlagsOverride: 0 m_RayTracingAccelStructBuildFlags: 1 m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1080,6 +1082,7 @@ MeshRenderer: m_AutoUVMaxDistance: 0.5 m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 diff --git a/Assets/Scripts/Interactions/Interactable.cs b/Assets/Scripts/Interactions/Interactable.cs index a4991001..eebfb7b7 100644 --- a/Assets/Scripts/Interactions/Interactable.cs +++ b/Assets/Scripts/Interactions/Interactable.cs @@ -20,7 +20,7 @@ namespace Interactions /// Base class for interactable objects that can respond to tap input events. /// Subclasses should override OnCharacterArrived() to implement interaction-specific logic. /// - public abstract class InteractableBase : MonoBehaviour, ITouchInputConsumer + public class InteractableBase : MonoBehaviour, ITouchInputConsumer { [Header("Interaction Settings")] public bool isOneTime; diff --git a/Packages/manifest.json b/Packages/manifest.json index d802b594..6a82ed72 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.coplaydev.unity-mcp": "https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity", "com.moolt.packages.net": "git+https://github.com/Moolt/UnityAudioSourceEvents?path=Packages/AudioSourceEvents", "com.unity.2d.sprite": "1.0.0", "com.unity.2d.spriteshape": "12.0.1", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index af7ec4c0..9e381a37 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,14 @@ { "dependencies": { + "com.coplaydev.unity-mcp": { + "version": "https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity", + "depth": 0, + "source": "git", + "dependencies": { + "com.unity.nuget.newtonsoft-json": "3.0.2" + }, + "hash": "e4904ad0d7ef37d68c30e447d6174e0203681489" + }, "com.moolt.packages.net": { "version": "git+https://github.com/Moolt/UnityAudioSourceEvents?path=Packages/AudioSourceEvents", "depth": 0, @@ -258,6 +267,13 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.nuget.newtonsoft-json": { + "version": "3.2.1", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.profiling.core": { "version": "1.0.2", "depth": 1,