Compare commits

..

6 Commits

Author SHA1 Message Date
96e69c3d1a Merge pull request 'work_branch' (#12) from work_branch into main
Reviewed-on: #12
2026-05-29 06:52:37 +02:00
Mausham
a51a73efdd fixess 2026-05-29 10:37:07 +05:45
Mausham
3914adaa84 Merge remote-tracking branch 'origin/main' into work_branch
# Conflicts:
#	Assets/Darkmatter/Code/Features/ColorbookFlow/Features.Colorbook.asmdef
#	Assets/Darkmatter/Code/Features/ColorbookFlow/System/ColorbookFlowController.cs
2026-05-29 10:35:04 +05:45
Mausham
4e8f2ae7ad fixes 2026-05-29 10:31:14 +05:45
Mausham
9899a8b549 code added for Artbook 2026-05-28 18:48:08 +05:45
Mausham
820f614415 some additional fixes 2026-05-28 18:32:14 +05:45
32 changed files with 6676 additions and 3834 deletions

View File

@@ -11,6 +11,4 @@ public interface IDrawingCatalogController
event Action ListChanged; event Action ListChanged;
UniTask InitializeAsync(CancellationToken ct); UniTask InitializeAsync(CancellationToken ct);
void OnTemplateSelected(string id); void OnTemplateSelected(string id);
void PublishBackBtnClickedSignal();
void PublishOpenArtBookSignal();
} }

View File

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

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 73bddc8d591de2a438044c2a9ee180be

View File

@@ -2,6 +2,6 @@ using UnityEngine;
namespace Darkmatter.Core namespace Darkmatter.Core
{ {
public record struct BackBtnClickedSignal; public record struct ReturnToMainMenuSignal;
} }

View File

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

View File

@@ -0,0 +1,19 @@
{
"name": "Features.Artbook",
"rootNamespace": "Darkmatter.Features.Artbook",
"references": [
"GUID:6a0a834eb41764f12ba55c3fb04a40cb",
"GUID:b0214a6008ed146ff8f122a6a9c2f6cc",
"GUID:c1c03c0e5b2f4412b9f2be1c20d6a9b1",
"GUID:b4c9f7fbf1e144933a1797dc208ece5f"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: dd1597db9436d6f4da32f1391b905651
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,17 @@
using Darkmatter.Libs.Installers;
using UnityEngine;
using VContainer;
using VContainer.Unity;
namespace Darkmatter.Features.Artbook
{
public class ArtBookFeatureModule : MonoBehaviour, IModule
{
[SerializeField] private ArtbookView artbookView;
public void Register(IContainerBuilder builder)
{
if (artbookView != null) builder.RegisterEntryPoint<ArtbookPresenter>().WithParameter(artbookView);
}
}
}

View File

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

View File

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

View File

@@ -0,0 +1,51 @@
using System;
using Darkmatter.Core;
using Darkmatter.Libs.Observer;
using UnityEngine;
using VContainer.Unity;
namespace Darkmatter.Features.Artbook
{
public class ArtbookPresenter: IStartable
{
private readonly ArtbookView _view;
private readonly IEventBus _eventBus;
public ArtbookPresenter(ArtbookView view, IEventBus eventBus)
{
_view = view;
_eventBus = eventBus;
}
public void Start()
{
_view.OnBackButtonClicked += HandleBackButtonClicked;
_view.OnColorbookButtonClicked += HandleColorbookButtonClicked;
_eventBus.Subscribe<OpenArtBookSignal>(HandleOpenArtbookEvent);
}
private void HandleOpenArtbookEvent(OpenArtBookSignal signal)
{
_view.Show();
}
private void HandleBackButtonClicked()
{
_eventBus.Publish(new OpenColorBookSignal());
_view.Hide();
}
private void HandleColorbookButtonClicked()
{
_eventBus.Publish(new OpenColorBookSignal());
_view.Hide();
}
public void Dispose()
{
_view.OnBackButtonClicked -= HandleBackButtonClicked;
_view.OnColorbookButtonClicked -= HandleColorbookButtonClicked;
}
}
}

View File

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

View File

@@ -0,0 +1,32 @@
using System;
using UnityEngine;
using UnityEngine.UI;
namespace Darkmatter.Features.Artbook
{
public class ArtbookView : MonoBehaviour
{
[SerializeField] private Button backBtn;
[SerializeField] private Button colorbookBtn;
public event Action OnBackButtonClicked;
public event Action OnColorbookButtonClicked;
void Start()
{
backBtn.onClick.AddListener(() => OnBackButtonClicked?.Invoke());
colorbookBtn.onClick.AddListener(() => OnColorbookButtonClicked?.Invoke());
}
public void Show()
{
gameObject.SetActive(true);
}
public void Hide()
{
gameObject.SetActive(false);
}
}
}

View File

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

View File

@@ -1,6 +1,8 @@
using System; using System;
using System.Threading; using System.Threading;
using System.Threading.Tasks;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using Darkmatter.Core;
using Darkmatter.Core.Contracts.Features.DrawingCatalog; using Darkmatter.Core.Contracts.Features.DrawingCatalog;
using Darkmatter.Core.Contracts.Features.Loading; using Darkmatter.Core.Contracts.Features.Loading;
using Darkmatter.Core.Contracts.Features.Progression; using Darkmatter.Core.Contracts.Features.Progression;
@@ -21,6 +23,7 @@ public class ColorbookFlowController : IAsyncStartable, IDisposable
private readonly IEventBus _bus; private readonly IEventBus _bus;
private IDisposable _selectedSub; private IDisposable _selectedSub;
private IDisposable _returnToMainMenuSubscription;
public ColorbookFlowController( public ColorbookFlowController(
IDrawingCatalogController drawingCatalog, IDrawingCatalogController drawingCatalog,
@@ -38,11 +41,27 @@ public class ColorbookFlowController : IAsyncStartable, IDisposable
public async UniTask StartAsync(CancellationToken cancellation = new CancellationToken()) public async UniTask StartAsync(CancellationToken cancellation = new CancellationToken())
{ {
_returnToMainMenuSubscription = _bus.Subscribe<ReturnToMainMenuSignal>(OnReturnToMainMenu);
_loadingScreen.SetProgress(1f); _loadingScreen.SetProgress(1f);
await _drawingCatalog.InitializeAsync(cancellation); await _drawingCatalog.InitializeAsync(cancellation);
_selectedSub = _bus.Subscribe<DrawingSelectedSignal>(OnDrawingSelected); _selectedSub = _bus.Subscribe<DrawingSelectedSignal>(OnDrawingSelected);
_loadingScreen.Hide(); _loadingScreen.Hide();
} }
private void OnReturnToMainMenu(ReturnToMainMenuSignal signal)
{
LoadMainMenuSceneAsync().Forget(UnityEngine.Debug.LogException);
}
private async UniTask LoadMainMenuSceneAsync(CancellationToken ct = default)
{
_loadingScreen.Show();
var progress = new Progress<float>(p => _loadingScreen.SetProgress(p * 0.5f));
await _scenes.LoadSceneAsync(nameof(GameScene.MainMenu), progress, ct);
var mappedProgress = new Progress<float>(p => _loadingScreen.SetProgress(0.5f + p * 0.25f));
await _scenes.UnloadSceneAsync(nameof(GameScene.Colorbook), mappedProgress, ct);
}
private void OnDrawingSelected(DrawingSelectedSignal signal) private void OnDrawingSelected(DrawingSelectedSignal signal)
{ {
@@ -58,5 +77,6 @@ public class ColorbookFlowController : IAsyncStartable, IDisposable
public void Dispose() public void Dispose()
{ {
_selectedSub?.Dispose(); _selectedSub?.Dispose();
_returnToMainMenuSubscription?.Dispose();
} }
} }

View File

@@ -41,14 +41,6 @@ public sealed class DrawingCatalogController : IDrawingCatalogController
{ {
_bus.Publish(new DrawingSelectedSignal(id)); _bus.Publish(new DrawingSelectedSignal(id));
} }
public void PublishBackBtnClickedSignal()
{
_bus.Publish(new BackBtnClickedSignal());
}
public void PublishOpenArtBookSignal()
{
_bus.Publish(new OpenArtBookSignal());
}
private void Refresh() private void Refresh()
{ {

View File

@@ -2,43 +2,81 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using Cysharp.Threading.Tasks; using Cysharp.Threading.Tasks;
using Darkmatter.Core;
using Darkmatter.Core.Contracts.Features.DrawingCatalog; using Darkmatter.Core.Contracts.Features.DrawingCatalog;
using Darkmatter.Libs.Observer;
using VContainer.Unity; using VContainer.Unity;
using UnityEngine;
namespace Darkmatter.Features.DrawingCatalog namespace Darkmatter.Features.DrawingCatalog
{ {
public class DrawingCatalogPresenter : IStartable, IDisposable public class DrawingCatalogPresenter : IStartable, IDisposable
{ {
private int _currentPage = 0;
private int _totalPages = 1;
private const int ItemPerPage = 8; //2 rows x 4 columns
private readonly DrawingCatalogView _view; private readonly DrawingCatalogView _view;
private readonly IDrawingCatalogController _controller; private readonly IDrawingCatalogController _controller;
private readonly IDrawingTemplateCatalog _catalog; private readonly IDrawingTemplateCatalog _catalog;
private readonly IEventBus _eventBus;
private readonly CancellationTokenSource _cts = new(); private readonly CancellationTokenSource _cts = new();
public DrawingCatalogPresenter(DrawingCatalogView view, IDrawingCatalogController controller, public DrawingCatalogPresenter(DrawingCatalogView view, IDrawingCatalogController controller,
IDrawingTemplateCatalog catalog) IDrawingTemplateCatalog catalog, IEventBus eventBus)
{ {
_view = view; _view = view;
_controller = controller; _controller = controller;
_catalog = catalog; _catalog = catalog;
_eventBus = eventBus;
} }
public void Start() public void Start()
{ {
_view.OnItemClicked += OnItemClicked; _view.OnItemClicked += OnItemClicked;
_view.OnBackClicked += OnBackBtnClicked; _view.OnBackClicked += OnBackBtnClicked;
_view.OnArtBookClicked += OnArtBookBtnClicked; _view.OnArtBookClicked += OnArtBookBtnClicked;
_view.OnLeftPageClicked += OnLeftPageBtnClicked;
_view.OnRightPageClicked += OnRightPageBtnClicked;
_controller.ListChanged += OnListChanged; _controller.ListChanged += OnListChanged;
_eventBus.Subscribe<OpenColorBookSignal>(HandleOpenColorBookSignal);
}
private void HandleOpenColorBookSignal(OpenColorBookSignal signal)
{
_view.Show();
}
private void OnRightPageBtnClicked()
{
if (_currentPage < _totalPages - 1)
{
_currentPage++;
_view.SetPagination(_currentPage, _totalPages);
}
}
private void OnLeftPageBtnClicked()
{
if (_currentPage > 0)
{
_currentPage--;
_view.SetPagination(_currentPage, _totalPages);
}
} }
private void OnArtBookBtnClicked() private void OnArtBookBtnClicked()
{ {
_controller.PublishOpenArtBookSignal(); _eventBus.Publish(new OpenArtBookSignal());
_view.Hide();
} }
private void OnBackBtnClicked() private void OnBackBtnClicked()
{ {
_controller.PublishBackBtnClickedSignal(); _eventBus.Publish(new ReturnToMainMenuSignal());
Debug.Log("Back button clicked in Drawing Catalog");
} }
private void OnItemClicked(string id) => private void OnItemClicked(string id) =>
@@ -51,6 +89,10 @@ namespace Darkmatter.Features.DrawingCatalog
{ {
var ids = _controller.VisibleIds; var ids = _controller.VisibleIds;
var vms = new List<CatalogItemVM>(ids.Count); var vms = new List<CatalogItemVM>(ids.Count);
_totalPages = (int)Math.Ceiling(ids.Count / (float)ItemPerPage);
_currentPage = 0;
foreach (var id in ids) foreach (var id in ids)
{ {
if (ct.IsCancellationRequested) return; if (ct.IsCancellationRequested) return;
@@ -59,13 +101,20 @@ namespace Darkmatter.Features.DrawingCatalog
} }
if (ct.IsCancellationRequested) return; if (ct.IsCancellationRequested) return;
_view.ResetScrollPosition();
_view.SetItems(vms); _view.SetItems(vms);
_view.SetPagination(_currentPage, _totalPages);
} }
public void Dispose() public void Dispose()
{ {
_view.OnItemClicked -= OnItemClicked; _view.OnItemClicked -= OnItemClicked;
_controller.ListChanged -= OnListChanged; _controller.ListChanged -= OnListChanged;
_view.OnBackClicked -= OnBackBtnClicked;
_view.OnArtBookClicked -= OnArtBookBtnClicked;
_view.OnLeftPageClicked -= OnLeftPageBtnClicked;
_view.OnRightPageClicked -= OnRightPageBtnClicked;
_cts.Cancel(); _cts.Cancel();
_cts.Dispose(); _cts.Dispose();
} }

View File

@@ -12,21 +12,40 @@ namespace Darkmatter.Features.DrawingCatalog
[SerializeField] private RectTransform content; [SerializeField] private RectTransform content;
[SerializeField] private DrawingCatalogButton buttonPrefab; [SerializeField] private DrawingCatalogButton buttonPrefab;
[Header("Buttons")] [Header("Header Buttons")]
[SerializeField] private Button backButton; [SerializeField] private Button backButton;
[SerializeField] private Button artBookButton; [SerializeField] private Button artBookButton;
[Header("Scroll Pagination")]
[SerializeField] private ScrollRect scrollRect;
[SerializeField] private Button leftPageButton;
[SerializeField] private Button rightPageButton;
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 OnBackClicked;
public event Action OnArtBookClicked; public event Action OnArtBookClicked;
public event Action OnLeftPageClicked;
public event Action OnRightPageClicked;
private Coroutine _sliderCoroutine;
public void Start() public void Start()
{ {
backButton.onClick.AddListener(() => OnBackClicked?.Invoke()); backButton.onClick.AddListener(() => OnBackClicked?.Invoke());
artBookButton.onClick.AddListener(() => OnArtBookClicked?.Invoke()); artBookButton.onClick.AddListener(() => OnArtBookClicked?.Invoke());
leftPageButton.onClick.AddListener(() => OnLeftPageClicked?.Invoke());
rightPageButton.onClick.AddListener(() => OnRightPageClicked?.Invoke());
} }
public void Show()
{
gameObject.SetActive(true);
}
public void Hide()
{
gameObject.SetActive(false);
}
public void SetItems(IReadOnlyList<CatalogItemVM> items) public void SetItems(IReadOnlyList<CatalogItemVM> items)
{ {
while (_buttons.Count < items.Count) while (_buttons.Count < items.Count)
@@ -44,6 +63,45 @@ namespace Darkmatter.Features.DrawingCatalog
_buttons.RemoveAt(_buttons.Count - 1); _buttons.RemoveAt(_buttons.Count - 1);
Destroy(last.gameObject); Destroy(last.gameObject);
} }
LayoutRebuilder.ForceRebuildLayoutImmediate(content);
}
public void SetPagination(int currentPage, int totalPages)
{
leftPageButton.interactable = currentPage > 0;
rightPageButton.interactable = currentPage < totalPages - 1;
if (totalPages <= 1) return;
float pageWidth = scrollRect.viewport.rect.width;
float maxScroll = content.rect.width - pageWidth;
if (maxScroll <= 0f) return;
float targetPosition = Mathf.Clamp01(currentPage * pageWidth / maxScroll);
if (_sliderCoroutine != null)
StopCoroutine(_sliderCoroutine);
_sliderCoroutine = StartCoroutine(SmoothScrollTo(targetPosition));
}
private System.Collections.IEnumerator SmoothScrollTo(float targetPosition)
{
const float duration = 0.3f;
float elapsed = 0f;
float startPosition = scrollRect.horizontalNormalizedPosition;
while (elapsed < duration)
{
elapsed += Time.deltaTime;
scrollRect.horizontalNormalizedPosition = Mathf.Lerp(startPosition, targetPosition, elapsed / duration);
yield return null;
}
scrollRect.horizontalNormalizedPosition = targetPosition;
}
public void ResetScrollPosition()
{
scrollRect.horizontalNormalizedPosition = 0f;
} }
} }
} }

View File

@@ -28,6 +28,8 @@ namespace Darkmatter.Features.MainMenuFlow.Flow
public UniTask StartAsync(CancellationToken cancellation = new CancellationToken()) public UniTask StartAsync(CancellationToken cancellation = new CancellationToken())
{ {
_playBtnClickedSubscription = _eventBus.Subscribe<PlayBtnClickedSignal>(OnPlayBtnClicked); _playBtnClickedSubscription = _eventBus.Subscribe<PlayBtnClickedSignal>(OnPlayBtnClicked);
_loadingScreen.SetProgress(1f);
_loadingScreen.Hide();
return UniTask.CompletedTask; return UniTask.CompletedTask;
} }

View File

@@ -67,7 +67,7 @@ TextureImporter:
swizzle: 50462976 swizzle: 50462976
cookieLightType: 0 cookieLightType: 0
platformSettings: platformSettings:
- serializedVersion: 3 - serializedVersion: 4
buildTarget: DefaultTexturePlatform buildTarget: DefaultTexturePlatform
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
@@ -80,7 +80,7 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3 - serializedVersion: 4
buildTarget: Standalone buildTarget: Standalone
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
@@ -93,7 +93,7 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3 - serializedVersion: 4
buildTarget: WebGL buildTarget: WebGL
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
@@ -106,7 +106,7 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3 - serializedVersion: 4
buildTarget: Android buildTarget: Android
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
@@ -123,6 +123,7 @@ TextureImporter:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites: []
outline: [] outline: []
customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 5e97eb03825dee720800000000000000 spriteID: 5e97eb03825dee720800000000000000
@@ -132,6 +133,8 @@ TextureImporter:
edges: [] edges: []
weights: [] weights: []
secondaryTextures: [] secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {} nameFileIdTable: {}
mipmapLimitGroupName: mipmapLimitGroupName:
pSDRemoveMatte: 0 pSDRemoveMatte: 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 KiB

View File

@@ -1,156 +0,0 @@
fileFormatVersion: 2
guid: 023f8d651c927ec4ebc47feb990d5293
TextureImporter:
internalIDToNameTable:
- first:
213: -1581424723844487289
second: Screenshot 2026-05-28 135543_0
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: Screenshot 2026-05-28 135543_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 1578
height: 883
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 787aa38a796ad0ae0800000000000000
internalID: -1581424723844487289
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
Screenshot 2026-05-28 135543_0: -1581424723844487289
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff