diff --git a/Assets/Editor.meta b/Assets/Editor.meta new file mode 100644 index 0000000..e5197ea --- /dev/null +++ b/Assets/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 82f0a4f87da69ea4f86a4841fa5bf39d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/SpriteAssetGenerator.cs b/Assets/Editor/SpriteAssetGenerator.cs new file mode 100644 index 0000000..66dde35 --- /dev/null +++ b/Assets/Editor/SpriteAssetGenerator.cs @@ -0,0 +1,162 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEngine.TextCore; +using TMPro; + +public static class SpriteAssetGenerator +{ + [MenuItem("Tools/Generate Prize Sprite Assets")] + public static void Generate() + { + string sourceDir = "Assets/Resources/Sprites/UI/Labels"; + string destDir = "Assets/Resources/Sprite Assets"; + + if (!Directory.Exists(destDir)) + { + Directory.CreateDirectory(destDir); + AssetDatabase.Refresh(); + } + + if (!Directory.Exists(sourceDir)) + { + Debug.LogError($"[SpriteAssetGenerator] Source directory not found: {sourceDir}"); + return; + } + + string[] pngFiles = Directory.GetFiles(sourceDir, "*.png"); + if (pngFiles.Length == 0) + { + Debug.LogWarning($"[SpriteAssetGenerator] No PNG files found in {sourceDir}"); + return; + } + + foreach (string pngPath in pngFiles) + { + try + { + string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(pngPath); + string assetPath = $"{destDir}/{fileNameWithoutExtension}.asset"; + + Texture2D sourceTex = AssetDatabase.LoadAssetAtPath(pngPath); + if (sourceTex == null) + { + Debug.LogWarning($"[SpriteAssetGenerator] Failed to load Texture2D at: {pngPath}"); + continue; + } + + // Create new Sprite Asset + TMP_SpriteAsset spriteAsset = ScriptableObject.CreateInstance(); + spriteAsset.name = fileNameWithoutExtension; + spriteAsset.spriteInfoList = new List(); + + // Set version to 1.1.0 to avoid UpgradeSpriteAsset trigger in Awake/UpdateLookupTables + var versionField = typeof(TMP_Asset).GetField("m_Version", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); + if (versionField != null) + { + versionField.SetValue(spriteAsset, "1.1.0"); + } + + spriteAsset.hashCode = TMP_TextUtilities.GetSimpleHashCode(fileNameWithoutExtension); + spriteAsset.spriteSheet = sourceTex; + + // Populate tables + List spriteGlyphTable = new List(); + List spriteCharacterTable = new List(); + + // Get all sprites contained in this texture file + Sprite[] sprites = AssetDatabase.LoadAllAssetsAtPath(pngPath) + .Select(x => x as Sprite) + .Where(x => x != null) + .OrderByDescending(x => x.rect.y) + .ThenBy(x => x.rect.x) + .ToArray(); + + if (sprites.Length == 0) + { + Debug.LogWarning($"[SpriteAssetGenerator] No sprites sliced inside texture {pngPath}. Make sure it is sliced as Sprite (Multiple) or Sprite (Single)."); + continue; + } + + // Configure FaceInfo to scale the sprites properly + float baseHeight = sprites[0].rect.height; + FaceInfo faceInfo = spriteAsset.faceInfo; + faceInfo.pointSize = (int)baseHeight; + faceInfo.scale = 1.0f; + faceInfo.ascentLine = baseHeight; + faceInfo.capLine = baseHeight * 0.7f; + faceInfo.baseline = 0; + faceInfo.descentLine = 0; + spriteAsset.faceInfo = faceInfo; + + for (int i = 0; i < sprites.Length; i++) + { + Sprite sprite = sprites[i]; + + TMP_SpriteGlyph spriteGlyph = new TMP_SpriteGlyph(); + spriteGlyph.index = (uint)i; + + float spriteHeight = sprite.rect.height; + // Center the sprite vertically around the cap-height (70% of font size) + float bearingY = spriteHeight * 0.85f; + float bearingX = 0f; + + spriteGlyph.metrics = new GlyphMetrics(sprite.rect.width, sprite.rect.height, bearingX, bearingY, sprite.rect.width); + spriteGlyph.glyphRect = new GlyphRect(sprite.rect); + spriteGlyph.scale = 1.0f; + spriteGlyph.sprite = sprite; + + spriteGlyphTable.Add(spriteGlyph); + + TMP_SpriteCharacter spriteCharacter = new TMP_SpriteCharacter(0xFFFE, spriteGlyph); + spriteCharacter.name = sprite.name; + spriteCharacter.scale = 1.0f; + + spriteCharacterTable.Add(spriteCharacter); + } + + spriteAsset.spriteCharacterTable.Clear(); + spriteAsset.spriteCharacterTable.AddRange(spriteCharacterTable); + + spriteAsset.spriteGlyphTable.Clear(); + spriteAsset.spriteGlyphTable.AddRange(spriteGlyphTable); + + // Add default material + Shader shader = Shader.Find("TextMeshPro/Sprite"); + if (shader == null) + { + shader = Shader.Find("UI/Default"); + } + + if (shader == null) + { + Debug.LogError("[SpriteAssetGenerator] Shader not found!"); + continue; + } + + Material material = new Material(shader); + material.SetTexture(ShaderUtilities.ID_MainTex, sourceTex); + material.name = fileNameWithoutExtension + " Material"; + + AssetDatabase.CreateAsset(spriteAsset, assetPath); + AssetDatabase.AddObjectToAsset(material, spriteAsset); + + spriteAsset.material = material; + spriteAsset.UpdateLookupTables(); + + EditorUtility.SetDirty(spriteAsset); + Debug.Log($"[SpriteAssetGenerator] Created Sprite Asset at: {assetPath} with {sprites.Length} sprites."); + } + catch (System.Exception ex) + { + Debug.LogException(ex); + } + } + + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } +} diff --git a/Assets/Editor/SpriteAssetGenerator.cs.meta b/Assets/Editor/SpriteAssetGenerator.cs.meta new file mode 100644 index 0000000..c608c38 --- /dev/null +++ b/Assets/Editor/SpriteAssetGenerator.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8a63b29edf14d7140b737239be9b3c05 \ No newline at end of file diff --git a/Assets/Resources/Sprite Assets.meta b/Assets/Resources/Sprite Assets.meta new file mode 100644 index 0000000..2bd86e0 --- /dev/null +++ b/Assets/Resources/Sprite Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e2aff61ec559c014bb6e119d27baf2f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprite Assets/Prize.asset b/Assets/Resources/Sprite Assets/Prize.asset new file mode 100644 index 0000000..7fe5678 --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize.asset @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &-7402772468999753049 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Prize Material + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: e3095083c95b2da47993c18127b66b96, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3} + m_Name: Prize + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_SpriteAsset + m_Version: 1.1.0 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: + m_StyleName: + m_PointSize: 283 + m_Scale: 1 + m_UnitsPerEM: 0 + m_LineHeight: 0 + m_AscentLine: 283 + m_CapLine: 198.09999 + m_MeanLine: 0 + m_Baseline: 0 + m_DescentLine: 0 + m_SuperscriptOffset: 0 + m_SuperscriptSize: 0 + m_SubscriptOffset: 0 + m_SubscriptSize: 0 + m_UnderlineOffset: 0 + m_UnderlineThickness: 0 + m_StrikethroughOffset: 0 + m_StrikethroughThickness: 0 + m_TabWidth: 0 + m_Material: {fileID: -7402772468999753049} + spriteSheet: {fileID: 2800000, guid: e3095083c95b2da47993c18127b66b96, type: 3} + m_SpriteCharacterTable: + - m_ElementType: 2 + m_Unicode: 65534 + m_GlyphIndex: 0 + m_Scale: 1 + m_Name: Prize_0 + m_GlyphTable: + - m_Index: 0 + m_Metrics: + m_Width: 346 + m_Height: 283 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 240.55 + m_HorizontalAdvance: 346 + m_GlyphRect: + m_X: 144 + m_Y: 176 + m_Width: 346 + m_Height: 283 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + sprite: {fileID: 6685656491756494725, guid: e3095083c95b2da47993c18127b66b96, type: 3} + spriteInfoList: [] + fallbackSpriteAssets: [] diff --git a/Assets/Resources/Sprite Assets/Prize.asset.meta b/Assets/Resources/Sprite Assets/Prize.asset.meta new file mode 100644 index 0000000..d320e91 --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e3ce0f400e4eae24da335bfef0eaf163 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprite Assets/Prize_Hopper.asset b/Assets/Resources/Sprite Assets/Prize_Hopper.asset new file mode 100644 index 0000000..e722616 --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_Hopper.asset @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3} + m_Name: Prize_Hopper + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_SpriteAsset + m_Version: 1.1.0 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: + m_StyleName: + m_PointSize: 283 + m_Scale: 1 + m_UnitsPerEM: 0 + m_LineHeight: 0 + m_AscentLine: 283 + m_CapLine: 198.09999 + m_MeanLine: 0 + m_Baseline: 0 + m_DescentLine: 0 + m_SuperscriptOffset: 0 + m_SuperscriptSize: 0 + m_SubscriptOffset: 0 + m_SubscriptSize: 0 + m_UnderlineOffset: 0 + m_UnderlineThickness: 0 + m_StrikethroughOffset: 0 + m_StrikethroughThickness: 0 + m_TabWidth: 0 + m_Material: {fileID: 8613041187514458185} + spriteSheet: {fileID: 2800000, guid: ac75678832a3e1b4ba5aa54e6fd12388, type: 3} + m_SpriteCharacterTable: + - m_ElementType: 2 + m_Unicode: 65534 + m_GlyphIndex: 0 + m_Scale: 1 + m_Name: Prize_Hopper_0 + m_GlyphTable: + - m_Index: 0 + m_Metrics: + m_Width: 277 + m_Height: 283 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 240.55 + m_HorizontalAdvance: 277 + m_GlyphRect: + m_X: 178 + m_Y: 175 + m_Width: 277 + m_Height: 283 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + sprite: {fileID: -220201777628614610, guid: ac75678832a3e1b4ba5aa54e6fd12388, type: 3} + spriteInfoList: [] + fallbackSpriteAssets: [] +--- !u!21 &8613041187514458185 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Prize_Hopper Material + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: ac75678832a3e1b4ba5aa54e6fd12388, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Sprite Assets/Prize_Hopper.asset.meta b/Assets/Resources/Sprite Assets/Prize_Hopper.asset.meta new file mode 100644 index 0000000..96700de --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_Hopper.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 490c014c224f28f4b9cbba78a03997ce +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprite Assets/Prize_Marbles.asset b/Assets/Resources/Sprite Assets/Prize_Marbles.asset new file mode 100644 index 0000000..e791b0c --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_Marbles.asset @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &-4433844605069381581 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Prize_Marbles Material + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: a2253fc821e9c234daa8e92afdfc9e7c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3} + m_Name: Prize_Marbles + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_SpriteAsset + m_Version: 1.1.0 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: + m_StyleName: + m_PointSize: 295 + m_Scale: 1 + m_UnitsPerEM: 0 + m_LineHeight: 0 + m_AscentLine: 295 + m_CapLine: 206.5 + m_MeanLine: 0 + m_Baseline: 0 + m_DescentLine: 0 + m_SuperscriptOffset: 0 + m_SuperscriptSize: 0 + m_SubscriptOffset: 0 + m_SubscriptSize: 0 + m_UnderlineOffset: 0 + m_UnderlineThickness: 0 + m_StrikethroughOffset: 0 + m_StrikethroughThickness: 0 + m_TabWidth: 0 + m_Material: {fileID: -4433844605069381581} + spriteSheet: {fileID: 2800000, guid: a2253fc821e9c234daa8e92afdfc9e7c, type: 3} + m_SpriteCharacterTable: + - m_ElementType: 2 + m_Unicode: 65534 + m_GlyphIndex: 0 + m_Scale: 1 + m_Name: Prize_Marbles_0 + m_GlyphTable: + - m_Index: 0 + m_Metrics: + m_Width: 295 + m_Height: 295 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 250.75 + m_HorizontalAdvance: 295 + m_GlyphRect: + m_X: 169 + m_Y: 170 + m_Width: 295 + m_Height: 295 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + sprite: {fileID: -6115330580039227016, guid: a2253fc821e9c234daa8e92afdfc9e7c, type: 3} + spriteInfoList: [] + fallbackSpriteAssets: [] diff --git a/Assets/Resources/Sprite Assets/Prize_Marbles.asset.meta b/Assets/Resources/Sprite Assets/Prize_Marbles.asset.meta new file mode 100644 index 0000000..6a37a48 --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_Marbles.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9418adc7dbab1b44299f26bbbd2fdff4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprite Assets/Prize_QR.asset b/Assets/Resources/Sprite Assets/Prize_QR.asset new file mode 100644 index 0000000..f7aaf9d --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_QR.asset @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3} + m_Name: Prize_QR + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_SpriteAsset + m_Version: 1.1.0 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: + m_StyleName: + m_PointSize: 271 + m_Scale: 1 + m_UnitsPerEM: 0 + m_LineHeight: 0 + m_AscentLine: 271 + m_CapLine: 189.7 + m_MeanLine: 0 + m_Baseline: 0 + m_DescentLine: 0 + m_SuperscriptOffset: 0 + m_SuperscriptSize: 0 + m_SubscriptOffset: 0 + m_SubscriptSize: 0 + m_UnderlineOffset: 0 + m_UnderlineThickness: 0 + m_StrikethroughOffset: 0 + m_StrikethroughThickness: 0 + m_TabWidth: 0 + m_Material: {fileID: 7580124773194365788} + spriteSheet: {fileID: 2800000, guid: 1d7aa42f6d3c2ea4bb433db905cf6e6e, type: 3} + m_SpriteCharacterTable: + - m_ElementType: 2 + m_Unicode: 65534 + m_GlyphIndex: 0 + m_Scale: 1 + m_Name: Prize_QR_0 + m_GlyphTable: + - m_Index: 0 + m_Metrics: + m_Width: 271 + m_Height: 271 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 230.35 + m_HorizontalAdvance: 271 + m_GlyphRect: + m_X: 181 + m_Y: 182 + m_Width: 271 + m_Height: 271 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + sprite: {fileID: -1280765752914891198, guid: 1d7aa42f6d3c2ea4bb433db905cf6e6e, type: 3} + spriteInfoList: [] + fallbackSpriteAssets: [] +--- !u!21 &7580124773194365788 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Prize_QR Material + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 1d7aa42f6d3c2ea4bb433db905cf6e6e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Resources/Sprite Assets/Prize_QR.asset.meta b/Assets/Resources/Sprite Assets/Prize_QR.asset.meta new file mode 100644 index 0000000..4bdaefb --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_QR.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08c741fa79603ea46be62f9e1daceb66 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprite Assets/Prize_Tickets.asset b/Assets/Resources/Sprite Assets/Prize_Tickets.asset new file mode 100644 index 0000000..3a631c7 --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_Tickets.asset @@ -0,0 +1,106 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &-1533674834702946927 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Prize_Tickets Material + m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 9ca00dbece4218c459504eab0334a06b, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _ColorMask: 15 + - _CullMode: 0 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _UseUIAlphaClip: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3} + m_Name: Prize_Tickets + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_SpriteAsset + m_Version: 1.1.0 + m_FaceInfo: + m_FaceIndex: 0 + m_FamilyName: + m_StyleName: + m_PointSize: 317 + m_Scale: 1 + m_UnitsPerEM: 0 + m_LineHeight: 0 + m_AscentLine: 317 + m_CapLine: 221.9 + m_MeanLine: 0 + m_Baseline: 0 + m_DescentLine: 0 + m_SuperscriptOffset: 0 + m_SuperscriptSize: 0 + m_SubscriptOffset: 0 + m_SubscriptSize: 0 + m_UnderlineOffset: 0 + m_UnderlineThickness: 0 + m_StrikethroughOffset: 0 + m_StrikethroughThickness: 0 + m_TabWidth: 0 + m_Material: {fileID: -1533674834702946927} + spriteSheet: {fileID: 2800000, guid: 9ca00dbece4218c459504eab0334a06b, type: 3} + m_SpriteCharacterTable: + - m_ElementType: 2 + m_Unicode: 65534 + m_GlyphIndex: 0 + m_Scale: 1 + m_Name: Prize_Tickets_0 + m_GlyphTable: + - m_Index: 0 + m_Metrics: + m_Width: 295 + m_Height: 317 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 269.45 + m_HorizontalAdvance: 295 + m_GlyphRect: + m_X: 169 + m_Y: 159 + m_Width: 295 + m_Height: 317 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + sprite: {fileID: -167649136679044476, guid: 9ca00dbece4218c459504eab0334a06b, type: 3} + spriteInfoList: [] + fallbackSpriteAssets: [] diff --git a/Assets/Resources/Sprite Assets/Prize_Tickets.asset.meta b/Assets/Resources/Sprite Assets/Prize_Tickets.asset.meta new file mode 100644 index 0000000..3c9d161 --- /dev/null +++ b/Assets/Resources/Sprite Assets/Prize_Tickets.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81d03856d45a8b84f8950cec300c2e5d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Labels.meta b/Assets/Resources/Sprites/UI/Labels.meta new file mode 100644 index 0000000..f4b0010 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c5bc26aa565fb740a068b5d1fdd18cb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Labels/Prize.png b/Assets/Resources/Sprites/UI/Labels/Prize.png new file mode 100644 index 0000000..0d237f3 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cefb477c537ff75ef0df41972c73e8a7ae81c015523608e4b1499d85a039ba64 +size 7641 diff --git a/Assets/Resources/Sprites/UI/Labels/Prize.png.meta b/Assets/Resources/Sprites/UI/Labels/Prize.png.meta new file mode 100644 index 0000000..f4976ab --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: e3095083c95b2da47993c18127b66b96 +TextureImporter: + internalIDToNameTable: + - first: + 213: 6685656491756494725 + second: Prize_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: 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: Prize_0 + rect: + serializedVersion: 2 + x: 144 + y: 176 + width: 346 + height: 283 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 58f1e69382938cc50800000000000000 + internalID: 6685656491756494725 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Prize_0: 6685656491756494725 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_Hopper.png b/Assets/Resources/Sprites/UI/Labels/Prize_Hopper.png new file mode 100644 index 0000000..e06fa57 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_Hopper.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cb2825aa3d7afefc877b021f8380566e0aa5baaec8e92edde8acfaac59d0dc1 +size 8734 diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_Hopper.png.meta b/Assets/Resources/Sprites/UI/Labels/Prize_Hopper.png.meta new file mode 100644 index 0000000..a1b92ef --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_Hopper.png.meta @@ -0,0 +1,173 @@ +fileFormatVersion: 2 +guid: ac75678832a3e1b4ba5aa54e6fd12388 +TextureImporter: + internalIDToNameTable: + - first: + 213: -220201777628614610 + second: Prize_Hopper_0 + - first: + 213: 5311543218980421935 + second: Prize_Hopper_1 + 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: 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: Prize_Hopper_0 + rect: + serializedVersion: 2 + x: 178 + y: 175 + width: 277 + height: 283 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: e20798166afa1fcf0800000000000000 + internalID: -220201777628614610 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 00c876d74e2ccd64b981881478232845 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Prize_Hopper_0: -220201777628614610 + Prize_Hopper_1: 5311543218980421935 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_Marbles.png b/Assets/Resources/Sprites/UI/Labels/Prize_Marbles.png new file mode 100644 index 0000000..73b66c6 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_Marbles.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f5c4217f6e11eb43f8b9c24493f788ac7a7c9088997c5b9b42d163385176d95 +size 13581 diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_Marbles.png.meta b/Assets/Resources/Sprites/UI/Labels/Prize_Marbles.png.meta new file mode 100644 index 0000000..eaf0093 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_Marbles.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: a2253fc821e9c234daa8e92afdfc9e7c +TextureImporter: + internalIDToNameTable: + - first: + 213: -6115330580039227016 + second: Prize_Marbles_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: 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: Prize_Marbles_0 + rect: + serializedVersion: 2 + x: 169 + y: 170 + width: 295 + height: 295 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 879ada4ec3bf12ba0800000000000000 + internalID: -6115330580039227016 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Prize_Marbles_0: -6115330580039227016 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_QR.png b/Assets/Resources/Sprites/UI/Labels/Prize_QR.png new file mode 100644 index 0000000..3339482 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_QR.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68264731e78733bc7775fbcc9348951d7d546e391e8831076a06e9cb8d19ada7 +size 6029 diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_QR.png.meta b/Assets/Resources/Sprites/UI/Labels/Prize_QR.png.meta new file mode 100644 index 0000000..5a747da --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_QR.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 1d7aa42f6d3c2ea4bb433db905cf6e6e +TextureImporter: + internalIDToNameTable: + - first: + 213: -1280765752914891198 + second: Prize_QR_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: 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: Prize_QR_0 + rect: + serializedVersion: 2 + x: 181 + y: 182 + width: 271 + height: 271 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 24ea501655ec93ee0800000000000000 + internalID: -1280765752914891198 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Prize_QR_0: -1280765752914891198 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_Tickets.png b/Assets/Resources/Sprites/UI/Labels/Prize_Tickets.png new file mode 100644 index 0000000..6c769cf --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_Tickets.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4073922809b86f23283ecc156c3b0dabe8832be6bae10b75ec4457b82967b354 +size 8189 diff --git a/Assets/Resources/Sprites/UI/Labels/Prize_Tickets.png.meta b/Assets/Resources/Sprites/UI/Labels/Prize_Tickets.png.meta new file mode 100644 index 0000000..d363678 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Labels/Prize_Tickets.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 9ca00dbece4218c459504eab0334a06b +TextureImporter: + internalIDToNameTable: + - first: + 213: -167649136679044476 + second: Prize_Tickets_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: 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: Prize_Tickets_0 + rect: + serializedVersion: 2 + x: 169 + y: 159 + width: 295 + height: 317 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 48a38599ff36cadf0800000000000000 + internalID: -167649136679044476 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + Prize_Tickets_0: -167649136679044476 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/RulesPrizeListPage.cs b/Assets/Scripts/UI/RulesPrizeListPage.cs index 39dde5b..f9384bf 100644 --- a/Assets/Scripts/UI/RulesPrizeListPage.cs +++ b/Assets/Scripts/UI/RulesPrizeListPage.cs @@ -162,34 +162,35 @@ namespace RR.Common.UI return config.type switch { - PrizeType.QRCode => BuildQrPrizeText(manager, config.qrTier), - PrizeType.Hopper => $"хоппер, капсул: {Mathf.Max(1, config.hopperCapsuleCount)}", - PrizeType.PrizeStand => BuildPrizeStandText(manager), + PrizeType.QRCode => BuildQrPrizeSpriteText(manager, config.qrTier), + PrizeType.Hopper => $" x{Mathf.Max(1, config.hopperCapsuleCount)}", + PrizeType.PrizeStand => BuildPrizeStandSpriteText(manager), _ => config.type.ToString() }; } - private static string BuildQrPrizeText(PrizeSystemManager manager, QRTier tier) + private static string BuildQrPrizeSpriteText(PrizeSystemManager manager, QRTier tier) { - string tierText = tier switch - { - QRTier.Bronze => "бронзовый QR-код", - QRTier.Silver => "серебряный QR-код", - QRTier.Gold => "золотой QR-код", - _ => "QR-код" - }; - string prizeText = manager != null ? manager.GetQRCodeModalPrizeText(tier) : string.Empty; + bool isTicket = !string.IsNullOrEmpty(prizeText) && + (prizeText.IndexOf("билет", System.StringComparison.OrdinalIgnoreCase) >= 0 || + prizeText.IndexOf("ticket", System.StringComparison.OrdinalIgnoreCase) >= 0); + + string spriteTag = isTicket + ? "" + : ""; + return string.IsNullOrWhiteSpace(prizeText) - ? tierText - : $"{tierText}: {prizeText.Trim()}"; + ? spriteTag + : $"{spriteTag} {prizeText.Trim()}"; } - private static string BuildPrizeStandText(PrizeSystemManager manager) + private static string BuildPrizeStandSpriteText(PrizeSystemManager manager) { + string spriteTag = ""; PrizeStandSettings settings = manager != null ? manager.GetPrizeStandSettings() : null; int boxCount = settings?.boxes != null ? settings.boxes.Count : 0; - return boxCount > 0 ? $"призовая витрина, ячеек: {boxCount}" : "призовая витрина"; + return boxCount > 0 ? $"{spriteTag} (ячеек: {boxCount})" : spriteTag; } } } diff --git a/prizes.json b/prizes.json index 40c807a..072d531 100644 --- a/prizes.json +++ b/prizes.json @@ -71,7 +71,7 @@ "tier": 3, "linkPrefix": "https://t.me/", "messageFormat": "Здравствуйте!\\nЯ выиграл в игре! Жду свой приз: {0}", - "prizeText": "А", + "prizeText": "ФЕЯ", "darkColor": { "x": 0.0, "y": 0.0,