Merge pull request 'feature/update-chip-template' (#19) from feature/update-chip-template into develop

Reviewed-on: dev-tech/ts-table-game-template#19
This commit is contained in:
Le Hoang Nam 2025-06-13 18:13:47 +08:00
commit dd83c442a2
5 changed files with 484 additions and 11 deletions

View File

@ -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[];
}
}

View File

@ -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
}
]

View File

@ -0,0 +1,9 @@
{
"ver": "1.3.2",
"uuid": "bf77bfc7-abcc-4d29-8ab3-05ec46df58eb",
"importer": "prefab",
"optimizationPolicy": "AUTO",
"asyncLoadAssets": false,
"readonly": false,
"subMetas": {}
}

View File

@ -380,7 +380,7 @@
"_N$string": "1",
"_fontSize": 62,
"_lineHeight": 62,
"_enableWrapText": true,
"_enableWrapText": false,
"_N$file": null,
"_isSystemFontUsed": false,
"_spacingX": 0,

View File

@ -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;
}
}