From 6c23d1bcfaa2d96b243c43f3e061ed7411fc7cbd Mon Sep 17 00:00:00 2001 From: Michal Pikulski Date: Wed, 15 Oct 2025 13:01:47 +0200 Subject: [PATCH] Add implementation plan and main UI for the card system --- Assets/Art/Sprites/UI/backpack.png.meta | 195 +++++++ Assets/Art/Sprites/UI/notification_dot.png | Bin 0 -> 3678 bytes .../Art/Sprites/UI/notification_dot.png.meta | 195 +++++++ Assets/Prefabs/UI/Cards/CardSystem.prefab | 471 +++++++++++++++ .../Prefabs/UI/Cards/CardSystem.prefab.meta | 7 + ...rdUI.prefab => SIngleCardDisplayUI.prefab} | 2 +- ...b.meta => SIngleCardDisplayUI.prefab.meta} | 0 Assets/Scenes/TestingStuff/UIAuthoring.unity | 548 ++++++++++++++++++ .../TestingStuff/UIAuthoring.unity.meta | 7 + docs/card_system_implementation_plan.md | 26 +- 10 files changed, 1437 insertions(+), 14 deletions(-) create mode 100644 Assets/Art/Sprites/UI/backpack.png.meta create mode 100644 Assets/Art/Sprites/UI/notification_dot.png create mode 100644 Assets/Art/Sprites/UI/notification_dot.png.meta create mode 100644 Assets/Prefabs/UI/Cards/CardSystem.prefab create mode 100644 Assets/Prefabs/UI/Cards/CardSystem.prefab.meta rename Assets/Prefabs/UI/Cards/{CardUI.prefab => SIngleCardDisplayUI.prefab} (99%) rename Assets/Prefabs/UI/Cards/{CardUI.prefab.meta => SIngleCardDisplayUI.prefab.meta} (100%) create mode 100644 Assets/Scenes/TestingStuff/UIAuthoring.unity create mode 100644 Assets/Scenes/TestingStuff/UIAuthoring.unity.meta diff --git a/Assets/Art/Sprites/UI/backpack.png.meta b/Assets/Art/Sprites/UI/backpack.png.meta new file mode 100644 index 00000000..fe4e1b17 --- /dev/null +++ b/Assets/Art/Sprites/UI/backpack.png.meta @@ -0,0 +1,195 @@ +fileFormatVersion: 2 +guid: b9d1a045f7c163a4d9e2d38071913885 +TextureImporter: + internalIDToNameTable: + - first: + 213: -6415490079858998490 + second: backpack_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: iOS + 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 + - 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: WebGL + 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: WindowsStoreApps + 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: backpack_0 + rect: + serializedVersion: 2 + x: 31 + y: 0 + width: 321 + height: 383 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 62346f953c997f6a0800000000000000 + internalID: -6415490079858998490 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + backpack_0: -6415490079858998490 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Sprites/UI/notification_dot.png b/Assets/Art/Sprites/UI/notification_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..8649c0b62b8d8a27ef9ad8ec5831cd6d9bfa62d1 GIT binary patch literal 3678 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 au$S~Ckz{tO%j@sy?(|7J%L;RR+