From ea9ea14616d8f83bbbfa483aab0273d0984fdd6f Mon Sep 17 00:00:00 2001 From: Tu Bui <> Date: Fri, 13 Jun 2025 15:25:37 +0700 Subject: [PATCH] update chip template --- assets/core/chip/config/chip-color-config.ts | 25 +- assets/core/chip/prefabs/chip-bet.prefab | 436 ++++++++++++++++++ assets/core/chip/prefabs/chip-bet.prefab.meta | 9 + assets/core/chip/prefabs/chip.prefab | 2 +- assets/core/chip/scripts/chip.ts | 23 +- 5 files changed, 484 insertions(+), 11 deletions(-) create mode 100644 assets/core/chip/prefabs/chip-bet.prefab create mode 100644 assets/core/chip/prefabs/chip-bet.prefab.meta diff --git a/assets/core/chip/config/chip-color-config.ts b/assets/core/chip/config/chip-color-config.ts index 18697e6..e97e282 100644 --- a/assets/core/chip/config/chip-color-config.ts +++ b/assets/core/chip/config/chip-color-config.ts @@ -11,16 +11,20 @@ export class ChipColorConfig [7, "#9D4065"], [8, "#9D4065"], [9, "#9D4065"], - [10, "#201F5E"], - [11, "#201F5E"], - [12, "#201F5E"], - [13, "#201F5E"], - [14, "#201F5E"], - [15, "#201F5E"], - [16, "#201F5E"], + [10, "#11106e"], + [20, "#d09500"], + [30, "#0098af"], + [50, "#749903"], + [100, "#06a066"], + [200, "#0a6a00"], + [300, "#03426a"], + [500, "#0096ad"], + [1000, "#03426a"], + [2000, "#cb3b0f"], + [3000, "#c93a0f"], ]); - public static GetColor(chipValue: Number): cc.Color + public static getColor(chipValue: Number): cc.Color { var colorHex = this.mapHexColorByValue.get(chipValue); if (colorHex == null) @@ -32,4 +36,9 @@ export class ChipColorConfig return color; } } + + public static getListChipValue(): number[] + { + return Array.from(this.mapHexColorByValue.keys()) as number[]; + } } \ No newline at end of file diff --git a/assets/core/chip/prefabs/chip-bet.prefab b/assets/core/chip/prefabs/chip-bet.prefab new file mode 100644 index 0000000..03a7813 --- /dev/null +++ b/assets/core/chip/prefabs/chip-bet.prefab @@ -0,0 +1,436 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false + }, + { + "__type__": "cc.Node", + "_name": "chip", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 5 + }, + { + "__id__": 8 + } + ], + "_active": true, + "_components": [ + { + "__id__": 11 + } + ], + "_prefab": { + "__id__": 12 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 138, + "height": 138 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -60.678, + 0, + 0, + 0, + 0, + 0, + 1, + 0.4, + 0.4, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "below-layer", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + } + ], + "_prefab": { + "__id__": 4 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 116, + "g": 31, + "b": 32, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 140, + "height": 140 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.636, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "bff54f22-0f2d-4eb3-a256-0a5ca31f36f5" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "43ANAqfhhCD4xTCOMvW5nT", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "above-layer", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 7 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 140, + "height": 140 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0.636, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 5 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "03a08d17-a871-4148-88c4-49181c0f25e2" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2dmBPBa/ZJPakJqfb7CrHt", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "label-value", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 9 + } + ], + "_prefab": { + "__id__": 10 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 80, + "height": 78.12 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 8 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "1", + "_N$string": "1", + "_fontSize": 62, + "_lineHeight": 62, + "_enableWrapText": false, + "_N$file": null, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 2, + "_N$cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "06lDa363xGZKXU/10WRDWE", + "sync": false + }, + { + "__type__": "2b048YbtMZEWrnIdtkXQ/EK", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "labelChipValue": { + "__id__": 9 + }, + "nodeChipColor": { + "__id__": 2 + }, + "value": 1, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "", + "sync": false + } +] \ No newline at end of file diff --git a/assets/core/chip/prefabs/chip-bet.prefab.meta b/assets/core/chip/prefabs/chip-bet.prefab.meta new file mode 100644 index 0000000..a5732e8 --- /dev/null +++ b/assets/core/chip/prefabs/chip-bet.prefab.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.3.2", + "uuid": "bf77bfc7-abcc-4d29-8ab3-05ec46df58eb", + "importer": "prefab", + "optimizationPolicy": "AUTO", + "asyncLoadAssets": false, + "readonly": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/chip/prefabs/chip.prefab b/assets/core/chip/prefabs/chip.prefab index f96958a..bc58b9d 100644 --- a/assets/core/chip/prefabs/chip.prefab +++ b/assets/core/chip/prefabs/chip.prefab @@ -380,7 +380,7 @@ "_N$string": "1", "_fontSize": 62, "_lineHeight": 62, - "_enableWrapText": true, + "_enableWrapText": false, "_N$file": null, "_isSystemFontUsed": false, "_spacingX": 0, diff --git a/assets/core/chip/scripts/chip.ts b/assets/core/chip/scripts/chip.ts index e31bcc4..e9f23a5 100644 --- a/assets/core/chip/scripts/chip.ts +++ b/assets/core/chip/scripts/chip.ts @@ -1,3 +1,4 @@ +import gsap from "gsap"; import { ChipColorConfig } from "../config/chip-color-config"; const { ccclass, property } = cc._decorator; @@ -5,7 +6,6 @@ const { ccclass, property } = cc._decorator; @ccclass export class Chip extends cc.Component { - @property(cc.Label) private labelChipValue: cc.Label = null; @property(cc.Node) @@ -17,11 +17,30 @@ export class Chip extends cc.Component { this.value = value; this.labelChipValue.string = value.toString(); - this.nodeChipColor.color = ChipColorConfig.GetColor(value); + this.nodeChipColor.color = ChipColorConfig.getColor(value); } public getChipValue(): number { return this.value; } + + public placeChip(value: number): void + { + this.setChipValue(value); + var currentPos = this.node.position; + var newPos = new cc.Vec2(currentPos.x, currentPos.y); + newPos.y += 40; + this.node.setPosition(newPos); + gsap.to(this.node, { + duration: 0.2, + x: currentPos.x, + y: currentPos.y, + }); + } + + public hideChip(): void + { + this.node.active = false; + } }