Commit Graph

55 Commits

Author SHA1 Message Date
Michal Pikulski
5d7b36b740 Working? MVP of the minigame 2025-12-07 20:34:44 +01:00
Michal Pikulski
7ce6d914e6 Stash work 2025-12-07 20:34:43 +01:00
1c64c67cf8 Worker barely working 2025-12-04 14:38:32 +01:00
2589e56bda Finished secretary 2025-12-02 14:49:55 +01:00
5f842e50d3 Almost fully implemented card machine 2025-12-01 17:53:26 +01:00
d1f1416025 Merge branch 'main' into DamianBranch and solved conflicts 2025-11-27 17:10:51 +01:00
97c25737b1 Asset dump 2025-11-26 11:59:06 +01:00
Michal Pikulski
83fcf24f52 Add the screenshot helper to the project, add assembly definitions and setup cross-references 2025-11-25 10:46:01 +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
Michal Pikulski
b4b17c18ed Some b ase obstacle and poop spawning 2025-11-21 09:22:06 +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
a432fd45bd Initial card audio 2025-11-19 15:51:54 +01:00
fee5515bbd First MVP of sorting minigame (#60)
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Co-authored-by: Michal Pikulski <michal@foolhardyhorizons.com>
Reviewed-on: #60
2025-11-19 13:56:10 +00:00
f878521dab Added butterfly bottle 2025-11-18 17:06:06 +01:00
235fa04eba Merge a card refresh (#59)
- **Refactored Card Placement Flow**
  - Separated card presentation from orchestration logic
  - Extracted `CornerCardManager` for pending card lifecycle (spawn, shuffle, rebuild)
  - Extracted `AlbumNavigationService` for book page navigation and zone mapping
  - Extracted `CardEnlargeController` for backdrop management and card reparenting
  - Implemented controller pattern (non-MonoBehaviour) for complex logic
  - Cards now unparent from slots before rebuild to prevent premature destruction

- **Improved Corner Card Display**
  - Fixed cards spawning on top of each other during rebuild
  - Implemented shuffle-to-front logic (remaining cards occupy slots 0→1→2)
  - Added smart card selection (prioritizes cards matching current album page)
  - Pending cards now removed from queue immediately on drag start
  - Corner cards rebuild after each placement with proper slot reassignment

- **Enhanced Album Card Viewing**
  - Added dramatic scale increase when viewing cards from album slots
  - Implemented shrink animation when dismissing enlarged cards
  - Cards transition: `PlacedInSlotState` → `AlbumEnlargedState` → `PlacedInSlotState`
  - Backdrop shows/hides with card enlarge/shrink cycle
  - Cards reparent to enlarged container while viewing, return to slot after

- **State Machine Improvements**
  - Added `CardStateNames` constants for type-safe state transitions
  - Implemented `ICardClickHandler` and `ICardStateDragHandler` interfaces
  - State transitions now use cached property indices
  - `BoosterCardContext` separated from `CardContext` for single responsibility

- **Code Cleanup**
  - Identified unused `SlotContainerHelper.cs` (superseded by `CornerCardManager`)
  - Identified unused `BoosterPackDraggable.canOpenOnDrop` field
  - Identified unused `AlbumViewPage._previousInputMode` (hardcoded value)
  - Identified unused `Card.OnPlacedInAlbumSlot` event (no subscribers)

Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Co-authored-by: Michal Pikulski <michal@foolhardyhorizons.com>
Reviewed-on: #59
2025-11-18 08:40:59 +00:00
Michal Pikulski
d23c000347 Working flipping cards 2025-11-06 23:17:55 +01:00
Michal Pikulski
b17ba7bd98 Finish setting up the basic album layout 2025-11-06 01:25:13 +01:00
journaliciouz
041159a02a Implemented scrapbook assets into book plugin 2025-11-05 14:48:10 +01:00
journaliciouz
9c8eababb3 Installed book plugin, fixed compiler errors 2025-11-05 12:03:39 +01:00
011901eb8f 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: #44
2025-11-03 10:12:51 +00:00
Michal Pikulski
f6ebadf21e Update Pause menu and MinigameSelection menu to icon-based with no text 2025-10-30 10:47:34 +01:00
Michal Pikulski
a020e9af04 Update level select menu with icons and scrollable view 2025-10-29 14:37:11 +01:00
Michal Pikulski
bda645dcc3 Updates to minigame switching 2025-10-29 09:57:33 +01:00
Michal Pikulski
9a5735a1a1 Shitty polaroid picture 2025-10-28 16:39:28 +01:00
Michal Pikulski
43779c560e Cleanup compile warnings, cleanup logs, spruce up level selection menu 2025-10-28 14:31:17 +01:00
DamianCorazza
14d1b8316e Added New Textures for Cards And Configure basic Card Variations 2025-10-21 14:53:59 +02:00
Michal Adam Pikulski
542dd9a4b7 First draft of the consolidated card system 2025-10-20 16:33:58 +02:00
67b8aea93a Pulver can carry shit 2025-10-14 16:20:57 +02:00
Michal Pikulski
0c5546efd2 Add backbone for card creation and implement Camera minigame mechanics 2025-10-10 14:49:42 +02:00
7ed258f87a Added Sprites and Changed Placeholders for final art 2025-10-06 17:41:12 +02:00
e713a580a9 puzzlestep_indicators (#14)
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #14
2025-10-02 05:42:17 +00:00
e878a32263 Introduce input modes and Pause Menu (#8)
- Add input mode switching to the Input Manager
- Automatically set input mode on scene load - UI for MainMenu and GameAndUI for other scenes
- Add PauseMenu prefab, auto-loaded via the boostrap system
- Automatically control PauseMenu visibility based on current scene

Co-authored-by: AlexanderT <alexander@foolhardyhorizons.com>
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #8
2025-09-25 10:06:51 +00:00
2ae2bc3ac5 Updates to make sure the build goes through 2025-09-22 15:40:41 +02:00
074b052abe Populate minigame with obstacles and monster spawns (#5)
- Simulated "fake" physics and collisions
- Object pooling for tiles, obstacles and monster spawns
- Base monster scoring with proximity triggers and depth multiplier

Co-authored-by: AlexanderT <alexander@foolhardyhorizons.com>
Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Reviewed-on: #5
2025-09-22 14:37:15 +02:00
5305c20b00 Create a diving minigame MVP (#6)
- Obstacles
- Tiles
- Object pooling
- Monster spawns
- Scoring
- Minigame End

Co-authored-by: Michal Pikulski <michal.a.pikulski@gmail.com>
Co-authored-by: AlexanderT <alexander@foolhardyhorizons.com>
Reviewed-on: #6
2025-09-22 12:16:32 +00:00
8b3c9a09cb Anna Lise is working!
A lot of hardcoded stuff but Anna Lise is working
2025-09-17 13:59:21 +02:00
Michal Pikulski
793da5e568 [Test] Cleanup assemblies for Android build test. Working game flow, working build, passing unit tests 2025-09-15 09:30:27 +02:00
Michal Pikulski
15414f9414 [Test] Add unit tests for base code 2025-09-14 13:35:35 +02:00
abffb5c558 Michal saw we were programming with sticks 2025-09-11 13:53:42 +02:00
faa2bd73b5 Forgot the elusive soundbird 2025-09-10 22:29:19 +02:00
e7c950480f Big ol' asset dump 2025-09-10 20:18:53 +02:00
f5bd7457a9 Birdeyes animations 2025-09-10 13:43:15 +02:00
Michal Pikulski
8491b74d5d Cleanup deprecation warnings in the plugin 2025-09-10 12:56:51 +02:00
52bd7ef585 Installed Surge, fixed compile errors, moved a bunch of external stuff into folder 2025-09-10 10:53:04 +02:00
Michal Pikulski
a1b1d7475f Preliminary screen rotation work 2025-09-08 14:25:50 +02:00
Michal Pikulski
749d72904e Add main menu scene, setup framework for orientation switching 2025-09-08 12:44:35 +02:00
Michal Pikulski
d20004238d [Bootstrap] First go at Addressables bootsrapped objects 2025-09-07 12:36:35 +02:00
Michal Pikulski
d3c6b838b4 Big script cleanup. Remove the examples from Ropes' external package 2025-09-06 22:29:55 +02:00
Michal Pikulski
fbb658098b [Diving] Movement with a rock and 3 ropes is working 2025-09-04 23:13:19 +02:00