horooko
549fffd69e
[Fix] DI
2026-03-01 06:31:21 +07:00
horooko
10a9417039
[Fix]
2026-03-01 06:29:09 +07:00
horooko
85aedc6def
[Add] Meta
2026-03-01 06:25:06 +07:00
horooko
68c4abace3
[Refactor] Replace enum-driven modifier system with data-driven SO composition
...
Replace the entire static, enum-based modifier pipeline with a
composition-based, data-driven architecture using ScriptableObject
polymorphism. New modifiers can now be created by assembling SO building
blocks (Conditions + Effects + Behaviors) — no core code edits needed.
New architecture:
- Core/: TriggerType, ModifierPhase, ModifierContext, ICondition, IEffect
- Definition/: ModifierDefinitionSO, ModifierBehaviorSO, ConditionSO, EffectSO, ModifierCatalogSO
- Conditions/: DieValueCondition, CategoryCondition, MinScoreCondition, DiceCountCondition
- Effects/: AddFlat, AddPerDie, Multiply, MultiplyPerDie, PostMultiply, AddCurrency, ConsumeCharge
- Runtime/: ModifierInstance, ModifierRegistry (non-static service)
- Pipeline/: async ModifierPipeline with phase ordering, tracing, anti-recursion
- Editor/: ModifierDefinitionValidator with menu items
- Events/: GameEventBus (non-static typed dispatcher)
- DI/: GameLifetimeScope (VContainer composition root)
Deleted old system: ModifierData, ModifierEffect, ModifierEnums,
ModifierPipeline (static), ModifierRuntime, ModifierTarget, ShopCatalog,
ModifierAssetCreator.
Updated: ScoringSystem (VContainer + async), InventoryModel (delegates to
ModifierRegistry), ShopModel (uses ModifierDefinitionSO), GameController
(VContainer injection), SaveData (uses Runtime.ModifierSaveEntry), all
views/controllers, and all test files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 06:20:23 +07:00
horooko
6e19de2f3d
[Add] VContainer
2026-02-28 20:15:13 +07:00
horooko
159cfd49a9
[Add] Unitask
2026-02-28 19:33:34 +07:00
horooko
e24b30743b
[Fix] Code visual
2026-02-28 19:25:26 +07:00
horooko
bee20fd1f8
[Refactor] Add folder-based namespaces to all C# scripts
...
Wrap all 39 scripts and 6 test files in namespaces matching their folder
structure (e.g. Assets/Scripts/Dice/ → YachtDice.Dice). Add cross-namespace
using directives where types are referenced across modules. Set rootNamespace
in both .asmdef files (YachtDice, YachtDice.Tests).
Namespace mapping:
- YachtDice.Dice — Dice, DiceRoller
- YachtDice.Economy — CurrencyBank
- YachtDice.Game — GameManager, DiceManager, DebugGameInput
- YachtDice.Inventory — InventoryController/Model/SlotView/View
- YachtDice.Modifiers — ModifierData/Effect/Enums/Pipeline/Runtime/Target
- YachtDice.Persistence — SaveData, SaveSystem
- YachtDice.Scoring — CategoryScorer, ScoreResult, ScoringSystem, YachtCategory
- YachtDice.Shop — ShopCatalog/Controller/ItemView/Model/View
- YachtDice.UI — CategoryRowView, DicePanelView, GameController, GameInfoView, ScoreCardView
- YachtDice.Editor — ModifierAssetCreator
- YachtDice.Tests — all test files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 19:06:57 +07:00
horooko
d3594f23f9
[Add] Project meta
2026-02-28 06:43:59 +07:00
horooko
ba626acb9b
[Add] Universal modifier system, shop, inventory & persistence
...
Replace hardcoded BonusForOnes/MultiplierForSixes with data-driven
modifier system supporting 2 scopes (SelectedCategory, AnyCategoryClosed),
4 effect types, durability modes (Permanent, LimitedUses), and
configurable targets via ScriptableObject (ModifierData).
- Modifier domain: ModifierEnums, ModifierTarget, ModifierData,
ModifierRuntime, ModifierEffect (dict-based strategy), ModifierPipeline
(4-pass: cat-additive → cat-multiplicative → final-additive → final-multiplicative)
- ScoringSystem: replaced old modifier list with ModifierPipeline integration,
added OnCategoryConfirmed event
- Shop MVC: ShopCatalog (SO), ShopModel, ShopView, ShopItemView, ShopController
- Inventory MVC: InventoryModel (activate/deactivate/sell/durability),
InventoryView, InventorySlotView, InventoryController
- CurrencyBank: editor-adjustable balance with events
- Persistence: SaveData + SaveSystem (Newtonsoft JSON + PlayerPrefs)
- Editor: ModifierAssetCreator menu item to generate 6 example modifiers + catalog
- Tests: 6 test classes covering effects, pipeline, scoring, shop, inventory, save
- GameController: wired shop/inventory/save lifecycle
- GameInfoView: added currency display, shop/inventory toggle buttons
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 06:40:33 +07:00
horooko
4f8db3158f
[Add] Category Row
2026-02-28 05:02:49 +07:00
horooko
2b4daff8ee
Merge branch 'claude/keen-pasteur'
2026-02-27 19:16:53 +07:00
horooko
c56d145714
[Update] Split CategoryRowView scoreText into preview and recorded fields
...
Separate the single scoreText into previewText (potential score) and
recordedScoreText (committed value) so both are visible simultaneously.
Public API preserved — no changes needed in ScoreCardView or GameController.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 19:15:44 +07:00
horooko
545e27c145
[Rem] Demo
2026-02-27 17:06:33 +07:00
horooko
6340a011f9
[Add] Ultimate Preview
2026-02-27 04:40:03 +07:00
horooko
37076cfaaf
Update SampleScene.unity
2026-02-27 04:33:57 +07:00
horooko
d7c6488e74
Update SampleScene.unity
2026-02-27 04:19:24 +07:00
horooko
3b02df06fa
[Fix] Move UnityMCP
2026-02-27 04:19:03 +07:00
horooko
263259f3fc
[Add] Base Roll UI
2026-02-27 04:14:19 +07:00
horooko
788dbc69e0
[Add] meta
2026-02-27 03:49:04 +07:00
horooko
58db4df9c4
Merge branch 'claude/nifty-turing'
2026-02-27 03:45:03 +07:00
horooko
d06ad78645
[Add] MVC UI for Yacht Dice scorecard
...
View layer: CategoryRowView (reusable x13 row with preview/recorded
score display), ScoreCardView (full scorecard panel with Russian
category names, upper bonus tracking), DicePanelView (5 dice buttons
with lock toggle + roll counter), GameInfoView (turn display + game
over overlay).
Controller layer: GameController bridges Model and View — subscribes
to model events in Awake() to catch GameManager.Start(), routes UI
clicks to game logic, computes preview scores for all unfilled
categories after each roll, handles upper section bonus (63+ = +35).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 03:44:37 +07:00
horooko
15608d4994
[Add] Unity MCP
2026-02-27 03:43:41 +07:00
horooko
9557633ff3
[Fix] Move files in project, add color folders
2026-02-27 03:23:21 +07:00
horooko
6ee2053a7a
[Rem] Docs
2026-02-27 03:19:23 +07:00
horooko
442544a84a
[Fix] Move VFavorites & VFolders
2026-02-27 03:18:12 +07:00
horooko
d924cf78f5
[Add] vFolders 2
2026-02-27 03:17:32 +07:00
horooko
e04f8a4395
[Add] vFavorites 2
2026-02-27 03:17:04 +07:00
horooko
b37579153b
[Add] Hot Reload
2026-02-27 03:16:18 +07:00
horooko
5067cb51a1
[Add] System to Scene
2026-02-27 03:06:55 +07:00
horooko
f49cda7cdc
[Add] Yacht scoring system with Balatro-like modifier pipeline
...
Implements the core game loop for Yacht dice: 5-dice rolling with
lock/unlock, 3 rolls per turn, 13 standard scoring categories, and
an extensible ScriptableObject-based modifier system that applies
additive then multiplicative bonuses (chips+mult pattern).
Includes two test modifiers: BonusForOnes (+10 per 1) and
MultiplierForSixes (x6 per 6).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 03:01:19 +07:00
horooko
b33017a320
[Add] New Dice
2026-02-26 23:14:26 +07:00
horooko
6da112fb97
[Add] Dice to Scene
2026-02-26 16:06:30 +07:00
horooko
55e4857af4
[Add] DiceRoller — beautiful physics-based dice throw animation
...
Adds a coroutine-driven roller that tosses the dice with random impulse
and torque, waits for physics to settle, then smoothly snaps to the
nearest aligned face via Slerp. Exposes OnRollFinished event with the
rolled value.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 15:46:38 +07:00
horooko
688b623625
[Add] Base Scene
2026-02-26 07:09:51 +07:00
horooko
91b4f3f119
[Add] Dice Final
2026-02-23 23:57:45 +07:00
horooko
d39b1e88b5
[Add] TextMeshPro and Base Dice System
2026-02-23 23:19:57 +07:00
horooko
2f9e082d75
[Fix] All in one + add dice
2026-02-23 22:24:46 +07:00
horooko
4f942cd7c0
[Add] All in one shader
2026-02-23 22:01:07 +07:00
horooko
ec0aa86ac2
Init Project
2026-02-23 21:56:13 +07:00
Konstantin Dyachenko
1aa8e66401
Initial commit
2026-02-23 21:17:18 +07:00