Commit Graph

185 Commits

Author SHA1 Message Date
bd093b8696 Added some placeholder elements 2025-12-04 17:02:49 +01:00
1b8c180425 Added anim placeholders for the worker belt animation 2025-12-03 04:22:26 +01:00
c210b47644 Cement factory level and prefab making 2025-12-02 18:47:11 +01:00
2589e56bda Finished secretary 2025-12-02 14:49:55 +01:00
b466fe782e Added new decorations 2025-12-02 03:19:51 +01:00
e9ba3b7431 Added cementmachine with animated states 2025-12-01 18:36:17 +01:00
5f842e50d3 Almost fully implemented card machine 2025-12-01 17:53:26 +01:00
0bee5ac19c Re-import some crates with a thinner outline 2025-12-01 15:22:30 +01:00
journaliciouz
652e3ab814 Added audio to the decorations minigame and switched the rock for the fez 2025-11-28 15:28:15 +01:00
4ae950bbcd WIP Decorations 2025-11-28 05:05:17 +01:00
d1f1416025 Merge branch 'main' into DamianBranch and solved conflicts 2025-11-27 17:10:51 +01:00
47b04ceebc Merge branch 'main' into DamianBranch 2025-11-27 16:22:53 +01:00
a915e6af3c Merge branch 'main' of https://homelab.tailf7f81b.ts.net/tschesky/AppleHillsProduction 2025-11-27 15:06:55 +01:00
d3f619ce25 Cement machine asset 2025-11-27 15:06:50 +01:00
83aa3d5e6d Implement MVP for the statue decoration minigame (#65)
MVP implemented with:
- placing, removing etc. decorations
- saving the state, displaying it on the map, restoring when game restarts
- saving screenshots to folder on device

Co-authored-by: Michal Pikulski <michal@foolhardyhorizons.com>
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #65
2025-11-27 13:21:22 +00:00
5ad84ca3e8 Updated cement tilemap with new walls and more variation 2025-11-27 10:15:55 +01:00
ce2b5738a9 WIP First iteration of the cement factory visuals. 2025-11-26 19:47:38 +01:00
1c23a75e16 Added kitchen cabinets 2025-11-26 15:24:22 +01:00
43c5052c54 Moved Placeholder Folder to the right location 2025-11-26 13:04:41 +01:00
97c25737b1 Asset dump 2025-11-26 11:59:06 +01:00
9aafafece4 Added the Rube Goldberg MAchine 2025-11-25 20:41:14 +01:00
17d48c5812 Flower and belt puzzle steps added (WIP, just skeleton) 2025-11-25 19:42:40 +01:00
c5736f836a Disabled Saves, moved Folders adn renamed Data files, and added a state machine to the cookie puzzle 2025-11-25 16:02:55 +01:00
57be1a941c Added Cement Factory Puzzle Data 2025-11-25 03:52:47 +01:00
9d936c06ac Merge branch 'main' into DamianBranch 2025-11-24 17:09:06 +01:00
86c1df55f2 First pass over MPV for the cement-statue-sticker minigame (#63)
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Co-authored-by: Michal Pikulski <michal@foolhardyhorizons.com>
Reviewed-on: #63
2025-11-24 14:55:45 +00:00
a05baeb957 Merge branch 'main' into DamianBranch 2025-11-23 22:35:06 +01:00
a40c73a90d Placeholders for the cement factory 2025-11-23 22:34:51 +01:00
311d6066be Added new boostie bois icon 2025-11-20 17:06:05 +01:00
058af331e0 pooper_minigame (#62)
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #62
2025-11-20 15:16:57 +00:00
ce110d23ae Modified the overworld scene and also the cement factory prefab. 2025-11-19 21:07:48 +01:00
f878521dab Added butterfly bottle 2025-11-18 17:06:06 +01:00
219f2239a1 Added number of photos scoring 2025-11-18 11:33:16 +01:00
DamianCorazza
19be64a75f Butterfly Distraction 2025-11-14 00:04:33 +01:00
c3639bbb93 Added the Flying Butterfly WIP 2025-11-12 16:25:32 +01:00
MacBuilder
d647bb5707 Target eliminated, good job 47 2025-11-10 15:55:28 +01:00
e27bb7bfb6 Refactor interactions, introduce template-method lifecycle management, work on save-load system (#51)
# Lifecycle Management & Save System Revamp

## Overview
Complete overhaul of game lifecycle management, interactable system, and save/load architecture. Introduces centralized `ManagedBehaviour` base class for consistent initialization ordering and lifecycle hooks across all systems.

## Core Architecture

### New Lifecycle System
- **`LifecycleManager`**: Centralized coordinator for all managed objects
- **`ManagedBehaviour`**: Base class replacing ad-hoc initialization patterns
  - `OnManagedAwake()`: Priority-based initialization (0-100, lower = earlier)
  - `OnSceneReady()`: Scene-specific setup after managers ready
  - Replaces `BootCompletionService` (deleted)
- **Priority groups**: Infrastructure (0-20) → Game Systems (30-50) → Data (60-80) → UI/Gameplay (90-100)
- **Editor support**: `EditorLifecycleBootstrap` ensures lifecycle works in editor mode

### Unified SaveID System
- Consistent format: `{ParentName}_{ComponentType}`
- Auto-registration via `AutoRegisterForSave = true`
- New `DebugSaveIds` editor tool for inspection

## Save/Load Improvements

### Enhanced State Management
- **Extended SaveLoadData**: Unlocked minigames, card collection states, combination items, slot occupancy
- **Async loading**: `ApplyCardCollectionState()` waits for card definitions before restoring
- **New `SaveablePlayableDirector`**: Timeline sequences save/restore playback state
- **Fixed race conditions**: Proper initialization ordering prevents data corruption

## Interactable & Pickup System

- Migrated to `OnManagedAwake()` for consistent initialization
- Template method pattern for state restoration (`RestoreInteractionState()`)
- Fixed combination item save/load bugs (items in slots vs. follower hand)
- Dynamic spawning support for combined items on load
- **Breaking**: `Interactable.Awake()` now sealed, use `OnManagedAwake()` instead

##  UI System Changes

- **AlbumViewPage** and **BoosterNotificationDot**: Migrated to `ManagedBehaviour`
- **Fixed menu persistence bug**: Menus no longer reappear after scene transitions
- **Pause Menu**: Now reacts to all scene loads (not just first scene)
- **Orientation Enforcer**: Enforces per-scene via `SceneManagementService`
- **Loading Screen**: Integrated with new lifecycle

## ⚠️ Breaking Changes

1. **`BootCompletionService` removed** → Use `ManagedBehaviour.OnManagedAwake()` with priority
2. **`Interactable.Awake()` sealed** → Override `OnManagedAwake()` instead
3. **SaveID format changed** → Now `{ParentName}_{ComponentType}` consistently
4. **MonoBehaviours needing init ordering** → Must inherit from `ManagedBehaviour`

Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Co-authored-by: Michal Pikulski <michal@foolhardyhorizons.com>
Reviewed-on: #51
2025-11-07 15:38:31 +00:00
5c4b8825ee Card Creation 2025-11-07 13:57:36 +01:00
355c3fabc8 Merge branch 'main' into DamianBranch 2025-11-07 13:35:19 +01:00
d7d9d74a7b Change to Card NamePlaque, and Card Album Prefabs 2025-11-07 13:34:30 +01:00
6aacd9234c ExtraConfirmations Screens and WIP for the diving minigame end screen 2025-11-07 13:01:22 +01:00
DamianCorazza
3a1eef8a12 Cut up the Prefab and reset some pivots 2025-11-06 23:43:38 +01:00
153ab2bb08 Merge branch 'main' into DamianBranch 2025-11-06 21:31:12 +00:00
journaliciouz
f576dad677 New and crispy apple map 2025-11-06 22:28:38 +01:00
DamianCorazza
3ac90bea1e Added New Card Graphics 2025-11-06 22:17:43 +01:00
69e628ceb8 Added New art for level selection 2025-11-06 19:22:26 +01:00
2b3154c22b Level Change and Confirmation popups art change 2025-11-06 14:11:52 +01:00
DamianCorazza
1442a2426b Changed ScrapBook Icon 2025-11-05 23:14:27 +01:00
629b137421 Added New Map TExture 2025-11-05 17:46:56 +01:00
0dc3f3e803 Added New Menu Background Textures 2025-11-05 17:25:26 +01:00