This commit is contained in:
Mausham
2026-05-28 13:38:23 +05:45
parent e5b63e158c
commit 84fea79158
13 changed files with 269 additions and 24 deletions

View File

@@ -0,0 +1,5 @@
using Darkmatter.App.LifetimeScopes;
public class ColorBookLifetimeScope : BaseLifetimeScope
{
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8bbdb0f5cdf25c34086f816c59836c9d

View File

@@ -0,0 +1,6 @@
using UnityEngine;
namespace Darkmatter.Core
{
public record struct OpenArtBookSignal;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: cf8582ced90151445a9fa7b610f59ce9

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4c7aea1194f557e4db070c12db7d3ce6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,9 @@
using UnityEngine;
namespace Darkmatter.Features.Colorbook
{
public class ColorBookPresenter
{
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 123e872ebf17096499bb4ff6f3a23e39

View File

@@ -0,0 +1,19 @@
using UnityEngine;
namespace Darkmatter.Features.Colorbook
{
public class ColorBookView : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 34c79bc9b38a2f546950cba13d598af1

View File

@@ -26,9 +26,22 @@ namespace Darkmatter.Features.DrawingCatalog
public void Start() public void Start()
{ {
_view.OnItemClicked += OnItemClicked; _view.OnItemClicked += OnItemClicked;
_view.OnBackClicked += OnBackBtnClicked;
_view.OnArtBookClicked += OnArtBookBtnClicked;
_controller.ListChanged += OnListChanged; _controller.ListChanged += OnListChanged;
} }
private void OnArtBookBtnClicked()
{
}
private void OnBackBtnClicked()
{
throw new NotImplementedException();
}
private void OnItemClicked(string id) => private void OnItemClicked(string id) =>
_controller.OnTemplateSelected(id); _controller.OnTemplateSelected(id);

View File

@@ -1,7 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Darkmatter.Libs.Observer;
using UnityEngine; using UnityEngine;
using UnityEngine.Pool; using UnityEngine.Pool;
using UnityEngine.UI;
namespace Darkmatter.Features.DrawingCatalog namespace Darkmatter.Features.DrawingCatalog
{ {
@@ -9,9 +11,21 @@ namespace Darkmatter.Features.DrawingCatalog
{ {
[SerializeField] private RectTransform content; [SerializeField] private RectTransform content;
[SerializeField] private DrawingCatalogButton buttonPrefab; [SerializeField] private DrawingCatalogButton buttonPrefab;
[Header("Buttons")]
[SerializeField] private Button backButton;
[SerializeField] private Button artBookButton;
private readonly List<DrawingCatalogButton> _buttons = new(); private readonly List<DrawingCatalogButton> _buttons = new();
public event Action<string> OnItemClicked; public event Action<string> OnItemClicked;
public event Action OnBackClicked;
public event Action OnArtBookClicked;
public void Start()
{
backButton.onClick.AddListener(() => OnBackClicked?.Invoke());
artBookButton.onClick.AddListener(() => OnArtBookClicked?.Invoke());
}
public void SetItems(IReadOnlyList<CatalogItemVM> items) public void SetItems(IReadOnlyList<CatalogItemVM> items)
{ {

View File

@@ -686,7 +686,7 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 526134094} m_GameObject: {fileID: 526134094}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
@@ -694,12 +694,12 @@ RectTransform:
- {fileID: 897161407} - {fileID: 897161407}
- {fileID: 2123251731} - {fileID: 2123251731}
- {fileID: 669480396} - {fileID: 669480396}
m_Father: {fileID: 1855107934} m_Father: {fileID: 1095289319}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 17.662231, y: -79.90521} m_AnchoredPosition: {x: 16.531006, y: -357.9118}
m_SizeDelta: {x: -77.1025, y: -159.8165} m_SizeDelta: {x: -18.767784, y: 364.17032}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &526134096 --- !u!114 &526134096
MonoBehaviour: MonoBehaviour:
@@ -1242,6 +1242,50 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 669480395} m_GameObject: {fileID: 669480395}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &774469003
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 774469004}
- component: {fileID: 774469005}
m_Layer: 0
m_Name: ColorBookFeatureModule
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &774469004
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 774469003}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1721810410}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &774469005
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 774469003}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 11fb2300ce74e014ebad85d334071008, type: 3}
m_Name:
m_EditorClassIdentifier: Features.ColorLevels::ColorLevelsFeatureModule
--- !u!1 &810888431 --- !u!1 &810888431
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1771,6 +1815,46 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1048149024} m_GameObject: {fileID: 1048149024}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1095289318
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1095289319}
m_Layer: 5
m_Name: ColorBookView
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1095289319
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1095289318}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1855107934}
- {fileID: 1139509439}
- {fileID: 526134095}
- {fileID: 1604482366}
- {fileID: 2040975075}
m_Father: {fileID: 2069155641}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 1.1312256, y: 278.0066}
m_SizeDelta: {x: -58.334717, y: -523.9868}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1139509438 --- !u!1 &1139509438
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1796,16 +1880,16 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1139509438} m_GameObject: {fileID: 1139509438}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.51398, y: 0.51398, z: 0.51398} m_LocalScale: {x: 0.51398, y: 0.51398, z: 0.51398}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1855107934} m_Father: {fileID: 1095289319}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1} m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -0.9267, y: -61.1969} m_AnchoredPosition: {x: -2.0579257, y: -77.21008}
m_SizeDelta: {x: 1308.6868, y: 300.44006} m_SizeDelta: {x: 1308.6868, y: 300.44006}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1139509440 --- !u!114 &1139509440
@@ -2178,6 +2262,56 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1173838253} m_GameObject: {fileID: 1173838253}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1273192409
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1273192410}
- component: {fileID: 1273192411}
m_Layer: 0
m_Name: ColorBookLifetimeScope
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1273192410
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273192409}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1091.9618, y: 178.78226, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1721810410}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1273192411
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1273192409}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8bbdb0f5cdf25c34086f816c59836c9d, type: 3}
m_Name:
m_EditorClassIdentifier: Darkmatter.App::ColorBookLifetimeScope
parentReference:
TypeName:
autoRun: 1
autoInjectGameObjects: []
serviceModules: []
--- !u!1 &1490756344 --- !u!1 &1490756344
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2553,17 +2687,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1604482365} m_GameObject: {fileID: 1604482365}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1540054263} - {fileID: 1540054263}
m_Father: {fileID: 1855107934} m_Father: {fileID: 1095289319}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 157.557, y: -67} m_AnchoredPosition: {x: 127.25842, y: -83.01318}
m_SizeDelta: {x: 254.51678, y: 148} m_SizeDelta: {x: 254.51678, y: 148}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1604482367 --- !u!114 &1604482367
@@ -2769,6 +2903,38 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1708860529} m_GameObject: {fileID: 1708860529}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1721810409
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1721810410}
m_Layer: 0
m_Name: ServiceModules
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1721810410
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1721810409}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 774469004}
m_Father: {fileID: 1273192410}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1811707690 --- !u!1 &1811707690
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2877,21 +3043,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1855107933} m_GameObject: {fileID: 1855107933}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children: []
- {fileID: 1139509439} m_Father: {fileID: 1095289319}
- {fileID: 526134095}
- {fileID: 1604482366}
- {fileID: 2040975075}
m_Father: {fileID: 2069155641}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: -1.1312256, y: -278.0066}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 58.334717, y: 523.9868}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1855107935 --- !u!114 &1855107935
MonoBehaviour: MonoBehaviour:
@@ -3169,17 +3331,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2040975074} m_GameObject: {fileID: 2040975074}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.7, y: 0.7, z: 0.7} m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1890794682} - {fileID: 1890794682}
m_Father: {fileID: 1855107934} m_Father: {fileID: 1095289319}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1} m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -193.84686, y: -68.53757} m_AnchoredPosition: {x: -165.81073, y: -84.55075}
m_SizeDelta: {x: 473.74487, y: 153.69641} m_SizeDelta: {x: 473.74487, y: 153.69641}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2040975076 --- !u!114 &2040975076
@@ -3359,7 +3521,7 @@ RectTransform:
m_LocalScale: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1855107934} - {fileID: 1095289319}
- {fileID: 1499856800} - {fileID: 1499856800}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -3493,5 +3655,6 @@ CanvasRenderer:
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_Roots: m_Roots:
- {fileID: 1273192410}
- {fileID: 2069155641} - {fileID: 2069155641}
- {fileID: 590523275} - {fileID: 590523275}

View File

@@ -6206,7 +6206,7 @@ GameObject:
- component: {fileID: 1102850748} - component: {fileID: 1102850748}
- component: {fileID: 1102850749} - component: {fileID: 1102850749}
m_Layer: 0 m_Layer: 0
m_Name: MainmenuServiceModule m_Name: MainmenuFeatureModule
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0