2025-09-05 11:40:26 +02:00
|
|
|
%YAML 1.1
|
|
|
|
|
%TAG !u! tag:unity3d.com,2011:
|
2025-10-07 10:57:11 +00:00
|
|
|
--- !u!1 &1646387898454772943
|
|
|
|
|
GameObject:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
serializedVersion: 6
|
|
|
|
|
m_Component:
|
|
|
|
|
- component: {fileID: 7371967679236352629}
|
|
|
|
|
- component: {fileID: 2280359367130513804}
|
|
|
|
|
m_Layer: 0
|
|
|
|
|
m_Name: PulverMoveTarget
|
|
|
|
|
m_TagString: Untagged
|
|
|
|
|
m_Icon: {fileID: 0}
|
|
|
|
|
m_NavMeshLayer: 0
|
|
|
|
|
m_StaticEditorFlags: 0
|
|
|
|
|
m_IsActive: 1
|
|
|
|
|
--- !u!4 &7371967679236352629
|
|
|
|
|
Transform:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 1646387898454772943}
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
2025-10-16 19:43:19 +02:00
|
|
|
m_LocalPosition: {x: -1.854, y: -0, z: 0}
|
2025-10-07 10:57:11 +00:00
|
|
|
m_LocalScale: {x: 0.7692308, y: 0.7692308, z: 0.7692308}
|
|
|
|
|
m_ConstrainProportionsScale: 0
|
|
|
|
|
m_Children: []
|
|
|
|
|
m_Father: {fileID: 4937390562043858043}
|
|
|
|
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
|
|
|
--- !u!114 &2280359367130513804
|
|
|
|
|
MonoBehaviour:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 1646387898454772943}
|
|
|
|
|
m_Enabled: 1
|
|
|
|
|
m_EditorHideFlags: 0
|
|
|
|
|
m_Script: {fileID: 11500000, guid: 2bcf343b3ef74f0fb3c64be6fd2893b6, type: 3}
|
|
|
|
|
m_Name:
|
|
|
|
|
m_EditorClassIdentifier: AppleHillsScripts::Interactions.CharacterMoveToTarget
|
|
|
|
|
characterType: 2
|
|
|
|
|
positionOffset: {x: 0, y: 0, z: 1}
|
2025-10-16 19:43:19 +02:00
|
|
|
--- !u!1 &2654542252039360806
|
|
|
|
|
GameObject:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
serializedVersion: 6
|
|
|
|
|
m_Component:
|
|
|
|
|
- component: {fileID: 2084964592986606867}
|
|
|
|
|
m_Layer: 10
|
|
|
|
|
m_Name: AnimContainer
|
|
|
|
|
m_TagString: Untagged
|
|
|
|
|
m_Icon: {fileID: 0}
|
|
|
|
|
m_NavMeshLayer: 0
|
|
|
|
|
m_StaticEditorFlags: 0
|
|
|
|
|
m_IsActive: 1
|
|
|
|
|
--- !u!4 &2084964592986606867
|
|
|
|
|
Transform:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 2654542252039360806}
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
m_LocalPosition: {x: 0.826, y: 1.68, z: 0}
|
2025-10-16 19:43:19 +02:00
|
|
|
m_LocalScale: {x: 0.1851852, y: 0.1851852, z: 0.1851852}
|
|
|
|
|
m_ConstrainProportionsScale: 0
|
|
|
|
|
m_Children:
|
|
|
|
|
- {fileID: 305861995533261809}
|
|
|
|
|
m_Father: {fileID: 4937390562043858043}
|
|
|
|
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
2025-09-09 13:04:19 +02:00
|
|
|
--- !u!1 &3591802784221671576
|
|
|
|
|
GameObject:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
serializedVersion: 6
|
|
|
|
|
m_Component:
|
|
|
|
|
- component: {fileID: 6631072601870453588}
|
|
|
|
|
- component: {fileID: 8491926070868252979}
|
|
|
|
|
m_Layer: 6
|
|
|
|
|
m_Name: ColliderBallTree
|
|
|
|
|
m_TagString: Untagged
|
|
|
|
|
m_Icon: {fileID: 0}
|
|
|
|
|
m_NavMeshLayer: 0
|
|
|
|
|
m_StaticEditorFlags: 0
|
|
|
|
|
m_IsActive: 1
|
|
|
|
|
--- !u!4 &6631072601870453588
|
|
|
|
|
Transform:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 3591802784221671576}
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
2025-10-16 19:43:19 +02:00
|
|
|
m_LocalPosition: {x: 0.9, y: -0.16, z: 0}
|
2025-09-09 13:04:19 +02:00
|
|
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
|
|
|
m_ConstrainProportionsScale: 1
|
|
|
|
|
m_Children: []
|
|
|
|
|
m_Father: {fileID: 4937390562043858043}
|
|
|
|
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
|
|
|
--- !u!60 &8491926070868252979
|
|
|
|
|
PolygonCollider2D:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 3591802784221671576}
|
|
|
|
|
m_Enabled: 1
|
|
|
|
|
serializedVersion: 3
|
|
|
|
|
m_Density: 1
|
|
|
|
|
m_Material: {fileID: 0}
|
|
|
|
|
m_IncludeLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 0
|
|
|
|
|
m_ExcludeLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 0
|
|
|
|
|
m_LayerOverridePriority: 0
|
|
|
|
|
m_ForceSendLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_ForceReceiveLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_ContactCaptureLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_CallbackLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_IsTrigger: 0
|
|
|
|
|
m_UsedByEffector: 0
|
|
|
|
|
m_CompositeOperation: 0
|
|
|
|
|
m_CompositeOrder: 0
|
|
|
|
|
m_Offset: {x: 0, y: 0}
|
|
|
|
|
m_SpriteTilingProperty:
|
|
|
|
|
border: {x: 0, y: 0, z: 0, w: 0}
|
|
|
|
|
pivot: {x: 0.5, y: 0.08}
|
|
|
|
|
oldSize: {x: 9.23, y: 11.48}
|
|
|
|
|
newSize: {x: 9.23, y: 11.48}
|
|
|
|
|
adaptiveTilingThreshold: 0.5
|
|
|
|
|
drawMode: 0
|
|
|
|
|
adaptiveTiling: 0
|
|
|
|
|
m_AutoTiling: 0
|
|
|
|
|
m_Points:
|
|
|
|
|
m_Paths:
|
2025-10-16 19:43:19 +02:00
|
|
|
- - {x: 0.5431701, y: -0.027021673}
|
|
|
|
|
- {x: -0.62026507, y: -0.020351835}
|
|
|
|
|
- {x: -0.48145303, y: 1.4024833}
|
|
|
|
|
- {x: 0.36918524, y: 1.3803146}
|
2025-09-09 13:04:19 +02:00
|
|
|
m_UseDelaunayMesh: 0
|
2025-09-05 11:40:26 +02:00
|
|
|
--- !u!1 &7379304988657006554
|
|
|
|
|
GameObject:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
serializedVersion: 6
|
|
|
|
|
m_Component:
|
|
|
|
|
- component: {fileID: 4937390562043858043}
|
|
|
|
|
- component: {fileID: 2720557426779044373}
|
2025-09-09 13:04:19 +02:00
|
|
|
- component: {fileID: 8897661028274890141}
|
2025-10-07 10:57:11 +00:00
|
|
|
- component: {fileID: 492578671844741631}
|
|
|
|
|
- component: {fileID: 8984729148657672365}
|
|
|
|
|
- component: {fileID: 1569498917964935965}
|
2025-10-16 19:43:19 +02:00
|
|
|
- component: {fileID: 6417332830266550134}
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
- component: {fileID: 1250806553985941608}
|
2025-09-09 13:04:19 +02:00
|
|
|
m_Layer: 10
|
2025-09-05 11:40:26 +02:00
|
|
|
m_Name: BallTree
|
|
|
|
|
m_TagString: Untagged
|
|
|
|
|
m_Icon: {fileID: 0}
|
|
|
|
|
m_NavMeshLayer: 0
|
|
|
|
|
m_StaticEditorFlags: 0
|
|
|
|
|
m_IsActive: 1
|
|
|
|
|
--- !u!4 &4937390562043858043
|
|
|
|
|
Transform:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 7379304988657006554}
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
2025-09-05 17:37:21 +02:00
|
|
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
2025-10-16 19:43:19 +02:00
|
|
|
m_LocalScale: {x: 2.7, y: 2.7, z: 2.7}
|
2025-09-05 11:40:26 +02:00
|
|
|
m_ConstrainProportionsScale: 1
|
2025-09-09 13:04:19 +02:00
|
|
|
m_Children:
|
2025-10-16 19:43:19 +02:00
|
|
|
- {fileID: 2084964592986606867}
|
2025-09-09 13:04:19 +02:00
|
|
|
- {fileID: 6631072601870453588}
|
2025-10-07 10:57:11 +00:00
|
|
|
- {fileID: 7371967679236352629}
|
2025-09-05 11:40:26 +02:00
|
|
|
m_Father: {fileID: 0}
|
|
|
|
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
|
|
|
--- !u!212 &2720557426779044373
|
|
|
|
|
SpriteRenderer:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 7379304988657006554}
|
|
|
|
|
m_Enabled: 1
|
|
|
|
|
m_CastShadows: 0
|
|
|
|
|
m_ReceiveShadows: 0
|
|
|
|
|
m_DynamicOccludee: 1
|
|
|
|
|
m_StaticShadowCaster: 0
|
|
|
|
|
m_MotionVectors: 1
|
|
|
|
|
m_LightProbeUsage: 1
|
|
|
|
|
m_ReflectionProbeUsage: 1
|
|
|
|
|
m_RayTracingMode: 0
|
|
|
|
|
m_RayTraceProcedural: 0
|
|
|
|
|
m_RayTracingAccelStructBuildFlagsOverride: 0
|
|
|
|
|
m_RayTracingAccelStructBuildFlags: 1
|
|
|
|
|
m_SmallMeshCulling: 1
|
2025-10-07 10:57:11 +00:00
|
|
|
m_ForceMeshLod: -1
|
|
|
|
|
m_MeshLodSelectionBias: 0
|
2025-09-05 11:40:26 +02:00
|
|
|
m_RenderingLayerMask: 1
|
|
|
|
|
m_RendererPriority: 0
|
|
|
|
|
m_Materials:
|
|
|
|
|
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
|
|
|
|
|
m_StaticBatchInfo:
|
|
|
|
|
firstSubMesh: 0
|
|
|
|
|
subMeshCount: 0
|
|
|
|
|
m_StaticBatchRoot: {fileID: 0}
|
|
|
|
|
m_ProbeAnchor: {fileID: 0}
|
|
|
|
|
m_LightProbeVolumeOverride: {fileID: 0}
|
|
|
|
|
m_ScaleInLightmap: 1
|
|
|
|
|
m_ReceiveGI: 1
|
|
|
|
|
m_PreserveUVs: 0
|
|
|
|
|
m_IgnoreNormalsForChartDetection: 0
|
|
|
|
|
m_ImportantGI: 0
|
|
|
|
|
m_StitchLightmapSeams: 1
|
|
|
|
|
m_SelectedEditorRenderState: 0
|
|
|
|
|
m_MinimumChartSize: 4
|
|
|
|
|
m_AutoUVMaxDistance: 0.5
|
|
|
|
|
m_AutoUVMaxAngle: 89
|
|
|
|
|
m_LightmapParameters: {fileID: 0}
|
2025-10-07 10:57:11 +00:00
|
|
|
m_GlobalIlluminationMeshLod: 0
|
2025-09-05 11:40:26 +02:00
|
|
|
m_SortingLayerID: 0
|
|
|
|
|
m_SortingLayer: 0
|
2025-09-05 17:37:21 +02:00
|
|
|
m_SortingOrder: 1
|
2025-10-16 19:43:19 +02:00
|
|
|
m_Sprite: {fileID: 768869974157336279, guid: ab1e8f5d45ee00247af9314b56f4af91, type: 3}
|
2025-09-05 11:40:26 +02:00
|
|
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
|
|
|
m_FlipX: 0
|
|
|
|
|
m_FlipY: 0
|
|
|
|
|
m_DrawMode: 0
|
|
|
|
|
m_Size: {x: 9.23, y: 11.48}
|
|
|
|
|
m_AdaptiveModeThreshold: 0.5
|
|
|
|
|
m_SpriteTileMode: 0
|
|
|
|
|
m_WasSpriteAssigned: 1
|
|
|
|
|
m_MaskInteraction: 0
|
2025-09-05 17:37:21 +02:00
|
|
|
m_SpriteSortPoint: 1
|
2025-09-09 13:04:19 +02:00
|
|
|
--- !u!61 &8897661028274890141
|
|
|
|
|
BoxCollider2D:
|
2025-09-05 11:40:26 +02:00
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 7379304988657006554}
|
|
|
|
|
m_Enabled: 1
|
|
|
|
|
serializedVersion: 3
|
|
|
|
|
m_Density: 1
|
|
|
|
|
m_Material: {fileID: 0}
|
|
|
|
|
m_IncludeLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 0
|
|
|
|
|
m_ExcludeLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 0
|
|
|
|
|
m_LayerOverridePriority: 0
|
|
|
|
|
m_ForceSendLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_ForceReceiveLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_ContactCaptureLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_CallbackLayers:
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Bits: 4294967295
|
|
|
|
|
m_IsTrigger: 0
|
|
|
|
|
m_UsedByEffector: 0
|
|
|
|
|
m_CompositeOperation: 0
|
|
|
|
|
m_CompositeOrder: 0
|
2025-10-16 19:43:19 +02:00
|
|
|
m_Offset: {x: 0.76, y: 2.88}
|
2025-09-05 11:40:26 +02:00
|
|
|
m_SpriteTilingProperty:
|
|
|
|
|
border: {x: 0, y: 0, z: 0, w: 0}
|
2025-10-16 19:43:19 +02:00
|
|
|
pivot: {x: 0.5, y: 0.2}
|
|
|
|
|
oldSize: {x: 14.969999, y: 9.060193}
|
2025-09-05 11:40:26 +02:00
|
|
|
newSize: {x: 9.23, y: 11.48}
|
|
|
|
|
adaptiveTilingThreshold: 0.5
|
|
|
|
|
drawMode: 0
|
|
|
|
|
adaptiveTiling: 0
|
|
|
|
|
m_AutoTiling: 0
|
2025-10-16 19:43:19 +02:00
|
|
|
m_Size: {x: 3.8, y: 7.34}
|
2025-09-09 13:04:19 +02:00
|
|
|
m_EdgeRadius: 0
|
2025-10-07 10:57:11 +00:00
|
|
|
--- !u!114 &492578671844741631
|
|
|
|
|
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: 1101f6c4eb04423b89dc78dc7c9f1aae, type: 3}
|
|
|
|
|
m_Name:
|
|
|
|
|
m_EditorClassIdentifier:
|
|
|
|
|
stepData: {fileID: 11400000, guid: 8ac614a698631554ab8ac39aed04a189, type: 2}
|
2025-10-16 19:43:19 +02:00
|
|
|
puzzleIndicator: {fileID: 214996082823304376}
|
2025-10-07 10:57:11 +00:00
|
|
|
drawPromptRangeGizmo: 1
|
|
|
|
|
--- !u!114 &8984729148657672365
|
|
|
|
|
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: 42e77a0c97604b6eb7674e58726c831a, type: 3}
|
|
|
|
|
m_Name:
|
|
|
|
|
m_EditorClassIdentifier: AppleHillsScripts::Interactions.InteractionTimelineAction
|
2025-10-16 19:43:19 +02:00
|
|
|
respondToEvents: 02000000
|
2025-10-07 10:57:11 +00:00
|
|
|
pauseInteractionFlow: 1
|
2025-10-16 19:43:19 +02:00
|
|
|
playableDirector: {fileID: 1569498917964935965}
|
2025-10-07 10:57:11 +00:00
|
|
|
timelineMappings:
|
2025-10-16 19:43:19 +02:00
|
|
|
- eventType: 2
|
|
|
|
|
timelines:
|
|
|
|
|
- {fileID: 11400000, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
- {fileID: 11400000, guid: ee609df51f47bd541a23d5425e289e30, type: 2}
|
2025-10-07 10:57:11 +00:00
|
|
|
bindPlayerCharacter: 0
|
|
|
|
|
bindPulverCharacter: 0
|
2025-10-16 19:43:19 +02:00
|
|
|
playerTrackName: Player
|
|
|
|
|
pulverTrackName: Pulver
|
2025-10-07 10:57:11 +00:00
|
|
|
timeoutSeconds: 30
|
2025-10-16 19:43:19 +02:00
|
|
|
loopLast: 1
|
2025-10-07 10:57:11 +00:00
|
|
|
loopAll: 0
|
|
|
|
|
--- !u!320 &1569498917964935965
|
|
|
|
|
PlayableDirector:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 7379304988657006554}
|
|
|
|
|
m_Enabled: 1
|
|
|
|
|
serializedVersion: 3
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
m_PlayableAsset: {fileID: 11400000, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
2025-10-07 10:57:11 +00:00
|
|
|
m_InitialState: 0
|
|
|
|
|
m_WrapMode: 2
|
|
|
|
|
m_DirectorUpdateMode: 1
|
|
|
|
|
m_InitialTime: 0
|
|
|
|
|
m_SceneBindings:
|
|
|
|
|
- key: {fileID: -7584736085941489071, guid: dd9566026364e814a8dad109e6c365ca, type: 2}
|
2025-10-16 19:43:19 +02:00
|
|
|
value: {fileID: 0}
|
2025-10-07 10:57:11 +00:00
|
|
|
- key: {fileID: -2395336864975438248, guid: dd9566026364e814a8dad109e6c365ca, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: -7231857257271738743, guid: dd9566026364e814a8dad109e6c365ca, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
2025-10-16 19:43:19 +02:00
|
|
|
- key: {fileID: -7584736085941489071, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
value: {fileID: 1250806553985941608}
|
2025-10-16 19:43:19 +02:00
|
|
|
- key: {fileID: -2395336864975438248, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: 3942302933360259000, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: -2395336864975438248, guid: ee609df51f47bd541a23d5425e289e30, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: -7584736085941489071, guid: ee609df51f47bd541a23d5425e289e30, type: 2}
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
value: {fileID: 1250806553985941608}
|
|
|
|
|
- key: {fileID: -1942705774920494342, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: -2306502989242081801, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: 5194333105783184030, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: 8484886637748558501, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: 8776627858148209300, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
|
|
|
|
- key: {fileID: 6964431640287062015, guid: 1791fd5a24a3142418ed441a2a25b374, type: 2}
|
|
|
|
|
value: {fileID: 0}
|
2025-10-07 10:57:11 +00:00
|
|
|
m_ExposedReferences:
|
|
|
|
|
m_References: []
|
2025-10-16 19:43:19 +02:00
|
|
|
--- !u!114 &6417332830266550134
|
|
|
|
|
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: 833a4ccef651449e973e623d9107bef5, type: 3}
|
|
|
|
|
m_Name:
|
|
|
|
|
m_EditorClassIdentifier:
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
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 &1250806553985941608
|
2025-10-07 10:57:11 +00:00
|
|
|
Animator:
|
|
|
|
|
serializedVersion: 7
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
|
|
|
m_PrefabInstance: {fileID: 0}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
m_GameObject: {fileID: 7379304988657006554}
|
|
|
|
|
m_Enabled: 1
|
|
|
|
|
m_Avatar: {fileID: 0}
|
|
|
|
|
m_Controller: {fileID: 0}
|
|
|
|
|
m_CullingMode: 0
|
|
|
|
|
m_UpdateMode: 0
|
|
|
|
|
m_ApplyRootMotion: 0
|
|
|
|
|
m_LinearVelocityBlending: 0
|
|
|
|
|
m_StabilizeFeet: 0
|
|
|
|
|
m_AnimatePhysics: 0
|
|
|
|
|
m_WarningMessage:
|
|
|
|
|
m_HasTransformHierarchy: 1
|
|
|
|
|
m_AllowConstantClipSamplingOptimization: 1
|
|
|
|
|
m_KeepAnimatorStateOnDisable: 0
|
|
|
|
|
m_WriteDefaultValuesOnDisable: 0
|
2025-10-16 19:43:19 +02:00
|
|
|
--- !u!1001 &5210361341888085501
|
|
|
|
|
PrefabInstance:
|
|
|
|
|
m_ObjectHideFlags: 0
|
|
|
|
|
serializedVersion: 2
|
|
|
|
|
m_Modification:
|
|
|
|
|
serializedVersion: 3
|
|
|
|
|
m_TransformParent: {fileID: 2084964592986606867}
|
|
|
|
|
m_Modifications:
|
|
|
|
|
- target: {fileID: 5383276844808284485, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_Name
|
|
|
|
|
value: NextStepIndicator
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5383276844808284485, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_IsActive
|
|
|
|
|
value: 1
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalScale.x
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
value: 2
|
2025-10-16 19:43:19 +02:00
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalScale.y
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
value: 2
|
2025-10-16 19:43:19 +02:00
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalScale.z
|
Refactoring of the interaction system and preliminary integration of save/load functionality across the game. (#44)
### Interactables Architecture Refactor
- Converted composition to inheritance, moved from component-based to class-based interactables. No more requirement for chain of "Interactable -> Item" etc.
- Created `InteractableBase` abstract base class with common functionality that replaces the old component
- Specialized child classes: `Pickup`, `ItemSlot`, `LevelSwitch`, `MinigameSwitch`, `CombinationItem`, `OneClickInteraction` are now children classes
- Light updates to the interactable inspector, moved some things arround, added collapsible inspector sections in the UI for better editor experience
### State Machine Integration
- Custom `AppleMachine` inheritong from Pixelplacement's StateMachine which implements our own interface for saving, easy place for future improvements
- Replaced all previous StateMachines by `AppleMachine`
- Custom `AppleState` extends from default `State`. Added serialization, split state logic into "EnterState", "RestoreState", "ExitState" allowing for separate logic when triggering in-game vs loading game
- Restores directly to target state without triggering transitional logic
- Migration tool converts existing instances
### Prefab Organization
- Saved changes from scenes into prefabs
- Cleaned up duplicated components, confusing prefabs hierarchies
- Created prefab variants where possible
- Consolidated Environment prefabs and moved them out of Placeholders subfolder into main Environment folder
- Organized item prefabs from PrefabsPLACEHOLDER into proper Items folder
- Updated prefab references - All scene references updated to new locations
- Removed placeholder files from Characters, Levels, UI, and Minigames folders
### Scene Updates
- Quarry scene with major updates
- Saved multiple working versions (Quarry, Quarry_Fixed, Quarry_OLD)
- Added proper lighting data
- Updated all interactable components to new architecture
### Minor editor tools
- New tool for testing cards from an editor window (no in-scene object required)
- Updated Interactable Inspector
- New debug option to opt in-and-out of the save/load system
- Tooling for easier migration
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction/pulls/44
2025-11-03 10:12:51 +00:00
|
|
|
value: 2
|
2025-10-16 19:43:19 +02:00
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalPosition.x
|
|
|
|
|
value: 0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalPosition.y
|
|
|
|
|
value: 0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalPosition.z
|
|
|
|
|
value: 0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalRotation.w
|
|
|
|
|
value: 1
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalRotation.x
|
|
|
|
|
value: -0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalRotation.y
|
|
|
|
|
value: -0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalRotation.z
|
|
|
|
|
value: -0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalEulerAnglesHint.x
|
|
|
|
|
value: 0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalEulerAnglesHint.y
|
|
|
|
|
value: 0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_LocalEulerAnglesHint.z
|
|
|
|
|
value: 0
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
- target: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
propertyPath: m_ConstrainProportionsScale
|
|
|
|
|
value: 1
|
|
|
|
|
objectReference: {fileID: 0}
|
|
|
|
|
m_RemovedComponents: []
|
|
|
|
|
m_RemovedGameObjects: []
|
|
|
|
|
m_AddedGameObjects: []
|
|
|
|
|
m_AddedComponents: []
|
|
|
|
|
m_SourcePrefab: {fileID: 100100000, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
--- !u!1 &214996082823304376 stripped
|
|
|
|
|
GameObject:
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 5383276844808284485, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
m_PrefabInstance: {fileID: 5210361341888085501}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|
|
|
|
|
--- !u!4 &305861995533261809 stripped
|
|
|
|
|
Transform:
|
|
|
|
|
m_CorrespondingSourceObject: {fileID: 5507990123417429516, guid: afbb486e5456a20479aee4cf8bc949b6, type: 3}
|
|
|
|
|
m_PrefabInstance: {fileID: 5210361341888085501}
|
|
|
|
|
m_PrefabAsset: {fileID: 0}
|