diff --git a/assets/core/bet-position.meta b/assets/core/bet-position.meta new file mode 100644 index 0000000..f088ebf --- /dev/null +++ b/assets/core/bet-position.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.3", + "uuid": "0510b8c7-c63a-4b27-ab96-279aaaa1de5c", + "importer": "folder", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/prepfabs.meta b/assets/core/bet-position/prepfabs.meta new file mode 100644 index 0000000..7c0679c --- /dev/null +++ b/assets/core/bet-position/prepfabs.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.3", + "uuid": "0c865a3f-e64f-427c-94b2-13f1bf6e6557", + "importer": "folder", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/prepfabs/bet-position.prefab b/assets/core/bet-position/prepfabs/bet-position.prefab new file mode 100644 index 0000000..4243265 --- /dev/null +++ b/assets/core/bet-position/prepfabs/bet-position.prefab @@ -0,0 +1,726 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false + }, + { + "__type__": "cc.Node", + "_name": "bet-position", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 8 + } + ], + "_active": true, + "_components": [ + { + "__id__": 4 + } + ], + "_prefab": { + "__id__": 20 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 200, + "height": 160 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -123.209, + -291.47, + 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.Node", + "_name": "button-bet", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 7 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 200, + "height": 160 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "393a6DBmTRKW6rmtGHcNNqR", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "requestPlaceBet": null, + "betPositionComponent": { + "__id__": 4 + }, + "_id": "" + }, + { + "__type__": "0f1b39oNWBPJ7/oRTVuwfqf", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "index": 0, + "buttonBet": { + "__id__": 5 + }, + "_id": "" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.2, + "clickEvents": [], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 3, + "transition": 3, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_N$hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_N$normalSprite": null, + "_N$pressedSprite": null, + "pressedSprite": null, + "_N$hoverSprite": null, + "hoverSprite": null, + "_N$disabledSprite": null, + "_N$target": { + "__id__": 2 + }, + "_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__": "a23235d1-15db-4b95-8439-a2e005bfff91" + }, + "_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": "acwlicPjRAmJ/B7vEuGYBd", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "detail", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 9 + }, + { + "__id__": 12 + } + ], + "_active": true, + "_components": [ + { + "__id__": 18 + } + ], + "_prefab": { + "__id__": 19 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 200, + "height": 130 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 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.Node", + "_name": "bet", + "_objFlags": 0, + "_parent": { + "__id__": 8 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 10 + } + ], + "_prefab": { + "__id__": 11 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 113, + "g": 204, + "b": 240, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 200, + "height": 90 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 20, + 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__": 9 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + }, + "_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": "472eY7oHlGl4J7NLxwJL49", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "odds", + "_objFlags": 0, + "_parent": { + "__id__": 8 + }, + "_children": [ + { + "__id__": 13 + } + ], + "_active": true, + "_components": [ + { + "__id__": 16 + } + ], + "_prefab": { + "__id__": 17 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 200, + "height": 40 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -45, + 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.Node", + "_name": "label-odds", + "_objFlags": 0, + "_parent": { + "__id__": 12 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 14 + } + ], + "_prefab": { + "__id__": 15 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 186, + "g": 128, + "b": 146, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 83.4, + "height": 31.5 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 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__": 13 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "1 : 3.92", + "_N$string": "1 : 3.92", + "_fontSize": 25, + "_lineHeight": 25, + "_enableWrapText": true, + "_N$file": null, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "0dnXstf/5Ac4Q+oUXtdNa5", + "sync": false + }, + { + "__type__": "3674eAiaAdI0rWSIhPOyLjC", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 12 + }, + "_enabled": true, + "labelOdds": { + "__id__": 14 + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "6fMweRWFBDKor5Zdl9outB", + "sync": false + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 8 + }, + "_enabled": true, + "_layoutSize": { + "__type__": "cc.Size", + "width": 200, + "height": 130 + }, + "_resize": 1, + "_N$layoutType": 2, + "_N$cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_N$startAxis": 0, + "_N$paddingLeft": 0, + "_N$paddingRight": 0, + "_N$paddingTop": 0, + "_N$paddingBottom": 0, + "_N$spacingX": 0, + "_N$spacingY": 0, + "_N$verticalDirection": 1, + "_N$horizontalDirection": 0, + "_N$affectedByScale": true, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2b9K5TNhNP678dvVScYWp8", + "sync": false + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "", + "sync": false + } +] \ No newline at end of file diff --git a/assets/core/bet-position/prepfabs/bet-position.prefab.meta b/assets/core/bet-position/prepfabs/bet-position.prefab.meta new file mode 100644 index 0000000..e527bcc --- /dev/null +++ b/assets/core/bet-position/prepfabs/bet-position.prefab.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.3.2", + "uuid": "c7f580b1-683f-4242-8a3a-56a9c9192db1", + "importer": "prefab", + "optimizationPolicy": "AUTO", + "asyncLoadAssets": false, + "readonly": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts.meta b/assets/core/bet-position/scripts.meta new file mode 100644 index 0000000..c4659e9 --- /dev/null +++ b/assets/core/bet-position/scripts.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.3", + "uuid": "452efd13-e4a0-49d9-934c-8e8abd27f6a6", + "importer": "folder", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component.meta b/assets/core/bet-position/scripts/component.meta new file mode 100644 index 0000000..68ebcea --- /dev/null +++ b/assets/core/bet-position/scripts/component.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.3", + "uuid": "826fc103-3ad3-4027-9083-856fb0cbb822", + "importer": "folder", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component/bet-position-component.ts b/assets/core/bet-position/scripts/component/bet-position-component.ts new file mode 100644 index 0000000..5b7a5d0 --- /dev/null +++ b/assets/core/bet-position/scripts/component/bet-position-component.ts @@ -0,0 +1,30 @@ +import getDecorators from "inversify-inject-decorators"; +import { container } from "../../../plugins/core"; + +const { ccclass, property } = cc._decorator; +const { lazyInject } = getDecorators(container, false); + +@ccclass +export class BetPositionComponent extends cc.Component +{ + @property(cc.Integer) + private index: number = 0; + @property(cc.Button) + private buttonBet: cc.Button = null; + + public getIndex(): number + { + return this.index; + } + + public disableBet(): void + { + this.buttonBet.enabled = false; + } + + public enableBet(): void + { + this.buttonBet.enabled = true; + } +} + diff --git a/assets/core/bet-position/scripts/component/bet-position-component.ts.meta b/assets/core/bet-position/scripts/component/bet-position-component.ts.meta new file mode 100644 index 0000000..026ca2a --- /dev/null +++ b/assets/core/bet-position/scripts/component/bet-position-component.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "0f1b3f68-3560-4f27-bfe8-45356ec1fa9f", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component/bet-position-on-click.ts b/assets/core/bet-position/scripts/component/bet-position-on-click.ts new file mode 100644 index 0000000..29404b7 --- /dev/null +++ b/assets/core/bet-position/scripts/component/bet-position-on-click.ts @@ -0,0 +1,19 @@ + +import { RequestPlaceBet } from "../../../bet-table/scripts/system/request-place-bet"; +import { BetPositionComponent } from "./bet-position-component"; + +const { ccclass, property } = cc._decorator; + +@ccclass +export class BetPositionOnClick extends cc.Component +{ + @property(RequestPlaceBet) + private requestPlaceBet: RequestPlaceBet = null; + @property(BetPositionComponent) + private betPositionComponent: BetPositionComponent = null; + + private onClick(): void + { + this.requestPlaceBet.request(this.betPositionComponent.getIndex()); + } +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component/bet-position-on-click.ts.meta b/assets/core/bet-position/scripts/component/bet-position-on-click.ts.meta new file mode 100644 index 0000000..dbc1ee6 --- /dev/null +++ b/assets/core/bet-position/scripts/component/bet-position-on-click.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "393a60c1-9934-4a5b-aae6-b461dc34da91", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component/money-label-display.ts b/assets/core/bet-position/scripts/component/money-label-display.ts new file mode 100644 index 0000000..cc15b16 --- /dev/null +++ b/assets/core/bet-position/scripts/component/money-label-display.ts @@ -0,0 +1,39 @@ + +import getDecorators from "inversify-inject-decorators"; +import { container } from "../../../plugins/core"; + +const { ccclass, property } = cc._decorator; +const { lazyInject } = getDecorators(container, false); + +@ccclass +export class MoneyLabelDisplay extends cc.Component +{ + @property(cc.Label) + private labelMoney: cc.Label = null; + private value = 0; + + public setValue(value: number): void + { + this.value = value; + this.labelMoney.string = this.value.toString(); + if (value == 0) + { + this.hide(); + } else + { + this.show(); + } + } + + private show(): void + { + this.node.active = true; + } + + private hide(): void + { + this.node.active = false; + } + + +} diff --git a/assets/core/bet-position/scripts/component/money-label-display.ts.meta b/assets/core/bet-position/scripts/component/money-label-display.ts.meta new file mode 100644 index 0000000..895021a --- /dev/null +++ b/assets/core/bet-position/scripts/component/money-label-display.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "0f5c37d0-12f8-4592-8521-823feb0de964", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component/odds-label-display.ts b/assets/core/bet-position/scripts/component/odds-label-display.ts new file mode 100644 index 0000000..77723cb --- /dev/null +++ b/assets/core/bet-position/scripts/component/odds-label-display.ts @@ -0,0 +1,40 @@ + +import getDecorators from "inversify-inject-decorators"; +import { container } from "../../../plugins/core"; + +const { ccclass, property } = cc._decorator; +const { lazyInject } = getDecorators(container, false); + +@ccclass +export default class OddsLabelDisplay extends cc.Component +{ + @property(cc.Label) + labelOdds: cc.Label = null; + + public setValue(odds: number): void + { + this.labelOdds.string = this.getStringOddsFormat(odds); + if (odds > 0) + { + this.show(); + } else + { + this.hide(); + } + } + + private getStringOddsFormat(odds: number): string + { + return "1 : " + odds.toString(); + } + + private show(): void + { + this.node.active = true; + } + + private hide(): void + { + this.node.active = false; + } +} \ No newline at end of file diff --git a/assets/core/bet-position/scripts/component/odds-label-display.ts.meta b/assets/core/bet-position/scripts/component/odds-label-display.ts.meta new file mode 100644 index 0000000..42d414d --- /dev/null +++ b/assets/core/bet-position/scripts/component/odds-label-display.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "3674e022-6807-48d2-b592-2213cec8b8c2", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file