难度选择ui
This commit is contained in:
parent
0dcb22bcb0
commit
5bf674aa9e
5027
assets/Game/Prefab/ChooseDiff.prefab
Normal file
5027
assets/Game/Prefab/ChooseDiff.prefab
Normal file
File diff suppressed because it is too large
Load Diff
13
assets/Game/Prefab/ChooseDiff.prefab.meta
Normal file
13
assets/Game/Prefab/ChooseDiff.prefab.meta
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"ver": "1.1.50",
|
||||
"importer": "prefab",
|
||||
"imported": true,
|
||||
"uuid": "2718875d-a5d8-4466-a906-91d5d89bbef9",
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {},
|
||||
"userData": {
|
||||
"syncNodeName": "ChooseDiff"
|
||||
}
|
||||
}
|
||||
@ -34,14 +34,14 @@
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 42
|
||||
"__id__": 46
|
||||
},
|
||||
{
|
||||
"__id__": 44
|
||||
"__id__": 48
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 46
|
||||
"__id__": 50
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@ -128,7 +128,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "spine-002",
|
||||
"_name": "sprite",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
@ -404,7 +404,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "spine-001",
|
||||
"_name": "sprite",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
@ -854,24 +854,75 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "multi",
|
||||
"_name": "multiNode",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 37
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 43
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 45
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1073741824,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "Label",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 36
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 37
|
||||
"__id__": 38
|
||||
},
|
||||
{
|
||||
"__id__": 39
|
||||
"__id__": 40
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 41
|
||||
"__id__": 42
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@ -908,11 +959,11 @@
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 36
|
||||
"__id__": 37
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 38
|
||||
"__id__": 39
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@ -928,7 +979,7 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "84HpDue1hAT6Qvy3p4pQr1"
|
||||
"fileId": "37Yhrx1hVPapozpY0LOO3U"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Label",
|
||||
@ -936,11 +987,11 @@
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 36
|
||||
"__id__": 37
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 40
|
||||
"__id__": 41
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
@ -999,7 +1050,48 @@
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "1408zhdupIw46e7T15V1Bg"
|
||||
"fileId": "f0iVmCwWtODpWODD+O1VCR"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "1fkrwtBzFGxZJaHWouqsL4",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 36
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 44
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 133.16,
|
||||
"height": 40
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "84HpDue1hAT6Qvy3p4pQr1"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
@ -1024,7 +1116,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 43
|
||||
"__id__": 47
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@ -1052,7 +1144,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 45
|
||||
"__id__": 49
|
||||
},
|
||||
"normalNode": {
|
||||
"__id__": 2
|
||||
@ -1063,6 +1155,10 @@
|
||||
"spineNode": {
|
||||
"__id__": 26
|
||||
},
|
||||
"multiNode": {
|
||||
"__id__": 36
|
||||
},
|
||||
"bombNode": null,
|
||||
"multiSpriteFrames": [
|
||||
{
|
||||
"__uuid__": "41856c4f-db7d-41ef-bd58-cd9c9987baee@f9941",
|
||||
|
||||
@ -96,7 +96,7 @@
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -20,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
@ -372,7 +372,7 @@
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -20,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
@ -898,6 +898,10 @@
|
||||
"spineNode": {
|
||||
"__id__": 26
|
||||
},
|
||||
"multiNode": null,
|
||||
"bombNode": null,
|
||||
"multiSpriteFrames": [],
|
||||
"blurMultiSpriteFrames": [],
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
|
||||
@ -898,6 +898,8 @@
|
||||
"spineNode": {
|
||||
"__id__": 26
|
||||
},
|
||||
"multiNode": null,
|
||||
"bombNode": null,
|
||||
"multiSpriteFrames": [],
|
||||
"blurMultiSpriteFrames": [],
|
||||
"_id": ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
116
assets/Game/Scripts/ChooseDiff.ts
Normal file
116
assets/Game/Scripts/ChooseDiff.ts
Normal file
@ -0,0 +1,116 @@
|
||||
import { _decorator, Component, Node, sp, tween, Vec3 } from 'cc';
|
||||
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||
import { NodePoolManager } from '../../Main/Scripts/managers/NodePoolManager';
|
||||
import { getGameId } from '../../Main/Scripts/main/comm';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('ChooseDiff')
|
||||
export class ChooseDiff extends Component {
|
||||
@property(Node)
|
||||
mainNode: Node = null;
|
||||
|
||||
@property(sp.Skeleton)
|
||||
chooseDiffSkeleton: sp.Skeleton = null;
|
||||
|
||||
@property(Node)
|
||||
chooseDiffBgNode: Node = null;
|
||||
|
||||
currentDiff: number = 1;
|
||||
|
||||
lowBgPos: Vec3 = new Vec3(-330, 16, 0);
|
||||
mediumBgPos: Vec3 = new Vec3(0, 16, 0);
|
||||
highBgPos: Vec3 = new Vec3(330, 16, 0);
|
||||
|
||||
canClickBtn: boolean = true;
|
||||
confirmCb: Function = null;
|
||||
|
||||
open(diff: number, confirmCb: () => void) {
|
||||
this.chooseDiffSkeleton.setAnimation(0, null, false);
|
||||
this.currentDiff = diff;
|
||||
this.confirmCb = confirmCb;
|
||||
this.node.getChildByName('grayBg').active = true;
|
||||
this.canClickBtn = false;
|
||||
this.mainNode.active = true;
|
||||
this.mainNode.setScale(0.1, 0.1, 0.1);
|
||||
tween(this.mainNode)
|
||||
.to(0.2, { scale: new Vec3(1, 1, 1) }, { easing: 'quadOut' })
|
||||
.call(() => { this.canClickBtn = true; })
|
||||
.start();
|
||||
this.chooseDiffBgNode.setPosition(this.currentDiff == 1 ? this.lowBgPos : this.currentDiff == 2 ? this.mediumBgPos : this.highBgPos);
|
||||
}
|
||||
|
||||
onBtnClose() {
|
||||
if (!this.canClickBtn) return;
|
||||
this.canClickBtn = false;
|
||||
|
||||
tween(this.mainNode)
|
||||
.to(0.2, { scale: new Vec3(0.1, 0.1, 0.1) }, { easing: 'quadOut' })
|
||||
.call(() => {
|
||||
this.node.getChildByName('grayBg').active = false;
|
||||
this.mainNode.active = false;
|
||||
this.chooseDiffSkeleton.setAnimation(0, 'animation', false);
|
||||
this.chooseDiffSkeleton.setCompleteListener(() => {
|
||||
this.chooseDiffSkeleton.setAnimation(0, null, false);
|
||||
this.chooseDiffSkeleton.setCompleteListener(null);
|
||||
NodePoolManager.instance.putNodeToPool('ChooseDiff', this.node);
|
||||
})
|
||||
})
|
||||
.start();
|
||||
}
|
||||
|
||||
onBtnConfirm() {
|
||||
if (!this.canClickBtn) return;
|
||||
this.canClickBtn = false;
|
||||
GameDataManager.instance.chooseDiff = this.currentDiff;
|
||||
GameDataManager.instance.gamePending = String(getGameId()) + '_' + this.currentDiff;
|
||||
localStorage.setItem('HasGamePending', String(this.currentDiff));
|
||||
tween(this.mainNode)
|
||||
.to(0.2, { scale: new Vec3(0.1, 0.1, 0.1) }, { easing: 'quadOut' })
|
||||
.call(() => {
|
||||
this.mainNode.active = false;
|
||||
this.node.getChildByName('grayBg').active = false;
|
||||
this.chooseDiffSkeleton.setAnimation(0, 'animation', false);
|
||||
this.chooseDiffSkeleton.setCompleteListener(() => {
|
||||
this.chooseDiffSkeleton.setAnimation(0, null, false);
|
||||
this.chooseDiffSkeleton.setCompleteListener(null);
|
||||
NodePoolManager.instance.putNodeToPool('ChooseDiff', this.node);
|
||||
if (this.confirmCb) this.confirmCb();
|
||||
})
|
||||
})
|
||||
.start();
|
||||
}
|
||||
|
||||
onBtnLow() {
|
||||
if (this.currentDiff == 1 || !this.canClickBtn) return;
|
||||
this.currentDiff = 1;
|
||||
this.canClickBtn = false;
|
||||
|
||||
tween(this.chooseDiffBgNode)
|
||||
.to(0.2, { position: this.lowBgPos }, { easing: 'quadOut' })
|
||||
.call(() => { this.canClickBtn = true; })
|
||||
.start();
|
||||
}
|
||||
|
||||
onBtnMedium() {
|
||||
if (this.currentDiff == 2 || !this.canClickBtn) return;
|
||||
this.currentDiff = 2;
|
||||
this.canClickBtn = false;
|
||||
|
||||
tween(this.chooseDiffBgNode)
|
||||
.to(0.2, { position: this.mediumBgPos }, { easing: 'quadOut' })
|
||||
.call(() => { this.canClickBtn = true; })
|
||||
.start();
|
||||
}
|
||||
|
||||
onBtnHigh() {
|
||||
if (this.currentDiff == 3 || !this.canClickBtn) return;
|
||||
this.currentDiff = 3;
|
||||
this.canClickBtn = false;
|
||||
|
||||
tween(this.chooseDiffBgNode)
|
||||
.to(0.2, { position: this.highBgPos }, { easing: 'quadOut' })
|
||||
.call(() => { this.canClickBtn = true; })
|
||||
.start();
|
||||
}
|
||||
}
|
||||
|
||||
9
assets/Game/Scripts/ChooseDiff.ts.meta
Normal file
9
assets/Game/Scripts/ChooseDiff.ts.meta
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "b73b4512-b5d1-4bd1-9d7a-0254c183313c",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@ -43,12 +43,15 @@ export interface IParsedGameData {
|
||||
PanData: number[];
|
||||
RemoveData: number[];
|
||||
NewIconTop: number[][];
|
||||
HasScatterExpect: boolean;
|
||||
ScatterPos: number[];
|
||||
BombPos: number[];
|
||||
MulInfo: any[];
|
||||
hasSmallGame: boolean;
|
||||
hasFreeSpinAgain: boolean;
|
||||
FreeMulMap: { [pos: number]: number };
|
||||
RoundScore: number;
|
||||
MulValue: number;
|
||||
UnmultiedScore: number;
|
||||
MultiedScore: number;
|
||||
}
|
||||
|
||||
export let ICON_SERVER_MAP = {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { _decorator, Component, director, find, Node, ProgressBarComponent, sp, Sprite, SpriteFrame, tween, Tween, UITransform, v3 } from 'cc';
|
||||
import { _decorator, Component, director, find, Label, Node, ProgressBarComponent, sp, Sprite, SpriteFrame, tween, Tween, UITransform, v3 } from 'cc';
|
||||
import { DEV, EDITOR } from 'cc/env';
|
||||
import { NodePoolManager } from '../../Main/Scripts/managers/NodePoolManager';
|
||||
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||
@ -25,6 +25,12 @@ export class Icon extends Component {
|
||||
@property(Node)
|
||||
spineNode: Node = null;
|
||||
|
||||
@property(Node)
|
||||
multiNode: Node = null;
|
||||
|
||||
@property(Node)
|
||||
bombNode: Node = null;
|
||||
|
||||
@property([SpriteFrame])
|
||||
multiSpriteFrames: SpriteFrame[] = [];
|
||||
@property([SpriteFrame])
|
||||
@ -37,9 +43,8 @@ export class Icon extends Component {
|
||||
private isFastMode: boolean = false;
|
||||
private isWild: boolean = false;
|
||||
private isScatter: boolean = false;
|
||||
private isMulti: boolean = false;
|
||||
|
||||
set index(id: number) { this.iconId = id; this.isWild = id === 0; this.isScatter = id === 1; this.isMulti = id === 12 }
|
||||
set index(id: number) { this.iconId = id; this.isWild = false; this.isScatter = id === 0; }
|
||||
get index(): number { return this.iconId }
|
||||
|
||||
get isWildOrScatter(): boolean {
|
||||
@ -58,6 +63,8 @@ export class Icon extends Component {
|
||||
this.normalNode.active = true;
|
||||
this.showFastIcon(false);
|
||||
this.spineNode.active = false;
|
||||
if (this.multiNode) this.multiNode.active = false;
|
||||
if (this.bombNode) this.bombNode.active = false;
|
||||
|
||||
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||
if (spine) {
|
||||
@ -140,9 +147,19 @@ export class Icon extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
playScatterIdleSpine(bol: boolean) {
|
||||
// let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||
// if (spine && this.checkHasAnimation(spine, 'chixu')) {
|
||||
// if (bol) {
|
||||
// this.normalNode.active = false;
|
||||
// this.spineNode.active = true;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
playScatterWaitSpine(bol: boolean) {
|
||||
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
|
||||
if (this.iconId == 1) {
|
||||
if (this.iconId == 0) {
|
||||
if (spine && this.checkHasAnimation(spine, 'dengdai')) {
|
||||
if (bol) {
|
||||
// this.normalNode.active = false;
|
||||
@ -171,18 +188,33 @@ export class Icon extends Component {
|
||||
|
||||
}
|
||||
|
||||
playAppearAnimation() {
|
||||
this.scheduleOnce(() => {
|
||||
tween(this.node)
|
||||
.set({ scale: v3(0.1, 0.1, 0.1) })
|
||||
.to(0.2, { scale: v3(1.15, 1.15, 1.15) })
|
||||
.to(0.1, { scale: v3(0.95, 0.95, 0.95) })
|
||||
.to(0.03, { scale: v3(1, 1, 1) })
|
||||
.call(() => {
|
||||
this.playIdleSpine(true);
|
||||
})
|
||||
.start();
|
||||
}, 0)
|
||||
setMulti(multi: number) {
|
||||
if (!this.multiNode) return;
|
||||
let lab = this.multiNode.getChildByName('Label').getComponent(Label);
|
||||
lab.string = multi.toString() + 'x';
|
||||
|
||||
this.normalNode.getChildByName('sprite').getComponent(Sprite).spriteFrame = this.getMultiBgFrames(multi)[0]
|
||||
this.fastNode.getChildByName('sprite').getComponent(Sprite).spriteFrame = this.getMultiBgFrames(multi)[1]
|
||||
}
|
||||
|
||||
getMulti(): number {
|
||||
if (!this.multiNode) return 1;
|
||||
return Number(this.multiNode.children.find(child => child.active).name);
|
||||
}
|
||||
|
||||
getMultiBgFrames(multi: number) {
|
||||
switch (true) {
|
||||
case multi <= 8:
|
||||
return [this.multiSpriteFrames[0], this.blurMultiSpriteFrames[0]]
|
||||
case multi <= 25:
|
||||
return [this.multiSpriteFrames[1], this.blurMultiSpriteFrames[1]]
|
||||
case multi <= 50:
|
||||
return [this.multiSpriteFrames[2], this.blurMultiSpriteFrames[2]]
|
||||
case multi <= 100:
|
||||
return [this.multiSpriteFrames[3], this.blurMultiSpriteFrames[3]]
|
||||
case multi <= 1000:
|
||||
return [this.multiSpriteFrames[4], this.blurMultiSpriteFrames[4]]
|
||||
}
|
||||
}
|
||||
|
||||
getHeight(): number {
|
||||
@ -198,7 +230,7 @@ export class Icon extends Component {
|
||||
}
|
||||
|
||||
async onClickIconNode() {
|
||||
if (GameDataManager.instance.canClickIconMsg && this.index != 10) {
|
||||
if (GameDataManager.instance.canClickIconMsg) {
|
||||
AudioManager.instance.playSFX('Click_Icon');
|
||||
let iconMsg = await NodePoolManager.instance.getNodeFromPoolDynamic('IconMsg', 'Prefab/Others/IconMsg', 'Game');
|
||||
let gameNode = find('Canvas/main/game');
|
||||
|
||||
@ -52,6 +52,7 @@ export class Roller extends Component {
|
||||
protected _info: Info = new Info();
|
||||
protected _panData: number[] = [];
|
||||
private grid: (Node | null)[] = [];
|
||||
private _freeMulMap: { [relPos: number]: number } = {};
|
||||
|
||||
/** 正在退场(向上飞出)的图标,用于急停时强制回收 */
|
||||
private _exitingIcons: Node[] = [];
|
||||
@ -157,21 +158,35 @@ export class Roller extends Component {
|
||||
}
|
||||
|
||||
for (let i = 0; i < this.row; i++) {
|
||||
this.createNormalIcon(i, data[i]);
|
||||
this.createNormalIcon(i, data[i], 1);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
createNormalIcon(pos: number, iconIndex: number): Node {
|
||||
createNormalIcon(pos: number, iconIndex: number, test: number = 0): Node {
|
||||
let iconNode = this.iconFactory.icfactoryCreateIcon(iconIndex);
|
||||
iconNode.getComponent(Icon).initIcon(iconIndex, 1, this._rollerId);
|
||||
let icon = iconNode.getComponent(Icon);
|
||||
icon.initIcon(iconIndex, 1, this._rollerId);
|
||||
if (iconIndex === 10 && this._freeMulMap[pos] != null) {
|
||||
icon.setMulti(this._freeMulMap[pos]);
|
||||
icon.multiNode.active = true;
|
||||
}
|
||||
let position = this.getIconPosition(pos, 1);
|
||||
this.node.addChild(iconNode);
|
||||
iconNode.setPosition(position);
|
||||
iconNode.getComponent(Icon).playIdleSpine(true);
|
||||
if (iconIndex === 0) {
|
||||
icon.playScatterIdleSpine(true);
|
||||
} else {
|
||||
icon.playIdleSpine(false);
|
||||
}
|
||||
this.grid[pos] = iconNode;
|
||||
return iconNode;
|
||||
}
|
||||
|
||||
setFreeMulMap(map: { [relPos: number]: number }) {
|
||||
this._freeMulMap = map || {};
|
||||
}
|
||||
|
||||
setRollerIconRule(rollerIconRule: number[]) {
|
||||
this._info.iconRule = rollerIconRule;
|
||||
}
|
||||
@ -289,7 +304,12 @@ export class Roller extends Component {
|
||||
}
|
||||
|
||||
let iconNode = this.iconFactory.icfactoryCreateIcon(panValue);
|
||||
iconNode.getComponent(Icon).initIcon(panValue, 1, this._rollerId);
|
||||
let iconComp = iconNode.getComponent(Icon);
|
||||
iconComp.initIcon(panValue, 1, this._rollerId);
|
||||
if (panValue === 10 && this._freeMulMap[i] != null) {
|
||||
iconComp.setMulti(this._freeMulMap[i]);
|
||||
iconComp.multiNode.active = true;
|
||||
}
|
||||
|
||||
// 起始位置:可见区顶部上方
|
||||
let startY = topY + (i + 2) * this.iconHeight; // 底行最高,顶行最低
|
||||
@ -308,7 +328,14 @@ export class Roller extends Component {
|
||||
tween(iconRef)
|
||||
.delay(rowDelay)
|
||||
.to(fallTime, { position: targetPos }, { easing: 'quadIn' })
|
||||
.call(() => { iconRef.getComponent(Icon)?.playBounceSpine(); })
|
||||
.call(() => {
|
||||
let iconCompRef = iconRef.getComponent(Icon);
|
||||
if (iconCompRef?.index === 0) {
|
||||
iconCompRef.playScatterIdleSpine(true);
|
||||
} else {
|
||||
iconCompRef?.playIdleSpine(false);
|
||||
}
|
||||
})
|
||||
.start();
|
||||
maxTime = Math.max(maxTime, rowDelay + fallTime);
|
||||
} else {
|
||||
@ -320,7 +347,14 @@ export class Roller extends Component {
|
||||
tween(iconRef)
|
||||
.delay(rowDelay)
|
||||
.to(fallTime, { position: targetPos }, { easing: 'quadIn' })
|
||||
.call(() => { iconRef.getComponent(Icon)?.playBounceSpine(); })
|
||||
.call(() => {
|
||||
let iconCompRef = iconRef.getComponent(Icon);
|
||||
if (iconCompRef?.index === 0) {
|
||||
iconCompRef.playScatterIdleSpine(true);
|
||||
} else {
|
||||
iconCompRef?.playIdleSpine(false);
|
||||
}
|
||||
})
|
||||
.to(bounceUp, { position: bouncePos }, { easing: 'quadOut' })
|
||||
.to(bounceDown, { position: targetPos }, { easing: 'quadIn' })
|
||||
.start();
|
||||
@ -406,7 +440,12 @@ export class Roller extends Component {
|
||||
|
||||
curHeight = allHeight - startPos;
|
||||
let icon = this.iconFactory.icfactoryCreateIcon(iconIndex);
|
||||
icon.getComponent(Icon).initIcon(iconIndex, lHeight, this._rollerId);
|
||||
let iconComp2 = icon.getComponent(Icon);
|
||||
iconComp2.initIcon(iconIndex, lHeight, this._rollerId);
|
||||
if (iconIndex === 10 && this._freeMulMap[i] != null) {
|
||||
iconComp2.setMulti(this._freeMulMap[i]);
|
||||
iconComp2.multiNode.active = true;
|
||||
}
|
||||
let bornY = topY + curHeight * this.iconHeight - (lHeight - 1) * this.iconHeight / 2;
|
||||
icon.setPosition(0, bornY, 0);
|
||||
this._newCreateIconNode.push(icon);
|
||||
@ -415,7 +454,7 @@ export class Roller extends Component {
|
||||
this.node.emit(ROLLER_EVENT.ICON_CREATE, this._rollerId);
|
||||
}
|
||||
|
||||
iconFallDown(hasExpect: boolean) {
|
||||
iconFallDown() {
|
||||
let allIcons = [];
|
||||
let seen = new Set<Node>();
|
||||
for (let i = 0; i < this.row; i++) {
|
||||
@ -460,10 +499,12 @@ export class Roller extends Component {
|
||||
.delay(startDelay)
|
||||
.to(fallTime, { position: targetPosition }, { easing: 'quadIn' })
|
||||
.call(() => {
|
||||
if (iconNode.getComponent(Icon).iconId == 1 && hasExpect) {
|
||||
// AudioManager.instance.playSFX('Elimiante_Has_Scatter');
|
||||
let iconCompRef = iconNode.getComponent(Icon);
|
||||
if (iconCompRef?.index === 0) {
|
||||
iconCompRef.playScatterIdleSpine(true);
|
||||
} else {
|
||||
iconCompRef?.playIdleSpine(false);
|
||||
}
|
||||
iconNode.getComponent(Icon).playBounceSpine();
|
||||
})
|
||||
.to(bounceTime1Up, { position: bouncePos2 }, { easing: 'quadOut' })
|
||||
.to(bounceTime1Down, { position: targetPosition }, { easing: 'quadIn' })
|
||||
|
||||
@ -215,18 +215,6 @@ export class RollerManager extends Component {
|
||||
hasEmitScatterTween: boolean = false;
|
||||
onRollerStop(rollerId: number) {
|
||||
this.node.emit(ROLLER_COMBINE_EVENT.ONE_ROLLER_STOP, rollerId);
|
||||
if (this._parsedData.HasScatterExpect) {
|
||||
this.upLayer.playScatterSpine(true);
|
||||
let nextRollerId = rollerId + 1 >= this.allRollers.length ? null : rollerId + 1;
|
||||
if (nextRollerId >= this._scatterStartRollerId && nextRollerId !== null) {
|
||||
if (!this.hasEmitScatterTween) {
|
||||
this.node.emit(ROLLER_COMBINE_EVENT.START_GAME_SCALE_TWEEN);
|
||||
this.hasEmitScatterTween = true;
|
||||
}
|
||||
this.stopChainRoller(nextRollerId);
|
||||
this.upLayer.playReadyHandAni(nextRollerId);
|
||||
}
|
||||
}
|
||||
|
||||
let allRollerStop = true;
|
||||
for (let i = 0; i < this.allRollers.length; i++) {
|
||||
@ -309,6 +297,20 @@ export class RollerManager extends Component {
|
||||
return false;
|
||||
}
|
||||
|
||||
distributeFreeMulMap(freeMulMap: { [pos: number]: number }) {
|
||||
for (let r = 0; r < this.allRollers.length; r++) {
|
||||
let relMap: { [relPos: number]: number } = {};
|
||||
let base = r * 5;
|
||||
for (let relPos = 0; relPos < 5; relPos++) {
|
||||
let absPos = base + relPos;
|
||||
if (freeMulMap[absPos] != null) {
|
||||
relMap[relPos] = freeMulMap[absPos];
|
||||
}
|
||||
}
|
||||
this.allRollers[r].setFreeMulMap(relMap);
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化滚轮数据
|
||||
initRollerWithIcon(data: IParsedGameData) {
|
||||
this._parsedData = data;
|
||||
@ -317,6 +319,7 @@ export class RollerManager extends Component {
|
||||
|
||||
// 分割数据
|
||||
this._resultStopData = this.splitArray(panData, [5, 5, 5, 5, 5, 5]);
|
||||
this.distributeFreeMulMap(data.FreeMulMap);
|
||||
// 处理n*1符号
|
||||
for (let i = 0; i < this.allRollers.length; i++) {
|
||||
let roller = this.allRollers[i];
|
||||
@ -440,11 +443,7 @@ export class RollerManager extends Component {
|
||||
let panData = data.PanData;
|
||||
|
||||
this._resultStopData = this.splitArray(panData, [5, 5, 5, 5, 5, 5]);
|
||||
|
||||
// 记录 scatter 起始列(onRollerStop 链式逻辑仍需此值)
|
||||
if (data.HasScatterExpect) {
|
||||
this._scatterStartRollerId = this.getScatterStartRollerId();
|
||||
}
|
||||
this.distributeFreeMulMap(data.FreeMulMap);
|
||||
|
||||
if (this._isFastSpin) {
|
||||
// 快速模式:所有列同时掉落
|
||||
@ -511,7 +510,7 @@ export class RollerManager extends Component {
|
||||
|
||||
iconFallDown() {
|
||||
this.allRollers.forEach(roller => {
|
||||
roller.iconFallDown(this._parsedData.HasScatterExpect);
|
||||
roller.iconFallDown();
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -124,7 +124,7 @@ export class SlotBar extends Component {
|
||||
this.setBtnEnable(this.getBtnButton(Btn_Key.MenuBtn), false);
|
||||
}
|
||||
|
||||
updatePlayerMsg(spinData: any, callBack: () => void, isFreeSpin: boolean = false) {
|
||||
updatePlayerMsg(spinData: any, callBack: () => void) {
|
||||
|
||||
if (spinData.AllScore == 0) {
|
||||
this.setWin(spinData.AllScore);
|
||||
@ -133,17 +133,13 @@ export class SlotBar extends Component {
|
||||
return;
|
||||
}
|
||||
|
||||
this.updateWinMsg(spinData.AllScore, isFreeSpin);
|
||||
this.updateWinMsg(spinData.AllScore);
|
||||
this.updateBalanceMsg(spinData.Balance, callBack);
|
||||
}
|
||||
|
||||
updateWinMsg(winCount: number, isFreeSpin: boolean = false) {
|
||||
let startScore = 0;
|
||||
if (isFreeSpin) {
|
||||
this.curFreeSpinScore += winCount;
|
||||
startScore = this.curFreeSpinScore;
|
||||
}
|
||||
let tw = UIManager.instance.tweenScorelinear(startScore, winCount, 0.2);
|
||||
updateWinMsg(winCount: number) {
|
||||
let startScore = this.curWin;
|
||||
let tw = UIManager.instance.tweenScorelinear(startScore, winCount, 1);
|
||||
if (tw !== null) {
|
||||
tw.onUpdate((v) => this.setWin(v))
|
||||
.onComplete(() => this.setWin(winCount))
|
||||
@ -152,11 +148,7 @@ export class SlotBar extends Component {
|
||||
}
|
||||
|
||||
updateBalanceMsg(balance: number, callBack: () => void) {
|
||||
let tw = UIManager.instance.tweenScorelinear(
|
||||
this.getBalance(),
|
||||
balance,
|
||||
0.2
|
||||
);
|
||||
let tw = UIManager.instance.tweenScorelinear(this.getBalance(), balance, 1);
|
||||
if (tw !== null) {
|
||||
tw.onUpdate((v) => this.setBalance(v))
|
||||
.onComplete(() => {
|
||||
@ -259,6 +251,10 @@ export class SlotBar extends Component {
|
||||
this.freeSpinWinLabel.string = gold2cash(win);
|
||||
}
|
||||
|
||||
getWin(): number {
|
||||
return this.curWin;
|
||||
}
|
||||
|
||||
onClickAddChips() {
|
||||
AudioManager.instance.playSFX("Click_Menu");
|
||||
this.betIndex += 1;
|
||||
|
||||
@ -2,6 +2,7 @@ import { _decorator, Button, Component, Label, Layout, Node, Prefab, sp, Sprite,
|
||||
import { RollerManager } from './RollerManager';
|
||||
import { DELETE_TIME, ICON_SERVER_MAP, IParsedGameData, ISpecialIcon, ROLLER_COMBINE_EVENT, SLOT_GAME_EVENT } from './Define';
|
||||
import { UpLayer } from './UpLayer';
|
||||
import { Icon } from './Icon';
|
||||
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||
import { GameDataManager } from '../../Main/Scripts/managers/GameDataManager';
|
||||
import { gold2cash } from '../../Main/Scripts/main/comm';
|
||||
@ -33,11 +34,6 @@ export class SlotGame extends Component {
|
||||
parsedData: IParsedGameData = null;
|
||||
spinData: any = null;
|
||||
_lastRemoveData: number[] = []; // ← 清除
|
||||
|
||||
// normalWaysLayout: Node = null;
|
||||
// normalWaysLabelCount: Node = null;
|
||||
// freeWaysLayout: Node = null;
|
||||
// freeWaysLabelCount: Node = null;
|
||||
featureBuyActive: boolean = false;
|
||||
doubleWinIsOn: boolean = false;
|
||||
rollersMsg: number[] = [3, 4, 5, 5, 4, 3];
|
||||
@ -45,11 +41,6 @@ export class SlotGame extends Component {
|
||||
waysNum = 3 * 4 * 5 * 5 * 4 * 3;
|
||||
|
||||
protected onLoad(): void {
|
||||
// this.normalWaysLayout = this.node.getChildByName('NormalGameBg').getChildByName('ways').getChildByName('layout');
|
||||
// this.normalWaysLabelCount = this.node.getChildByName('NormalGameBg').getChildByName('ways').getChildByName('layout').getChildByName('Label');
|
||||
// this.freeWaysLayout = this.node.getChildByName('FreeGameBg').getChildByName('ways').getChildByName('layout');
|
||||
// this.freeWaysLabelCount = this.node.getChildByName('FreeGameBg').getChildByName('ways').getChildByName('layout').getChildByName('Label');
|
||||
|
||||
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ONE_ROLLER_STOP, this.onOneRollerStopped, this);
|
||||
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ROLLER_BOUNCE, this.onRollerBounce, this);
|
||||
this.rollerManager.node.on(ROLLER_COMBINE_EVENT.ALL_ROLLER_STOP, this.onAllRollerStopped, this);
|
||||
@ -384,6 +375,7 @@ export class SlotGame extends Component {
|
||||
this.spinData = spinData;
|
||||
this.parsedData = this.parseGameData(spinData, this._lastRemoveData);
|
||||
this._lastRemoveData = this.parsedData.RemoveData.slice(); // ← 更新为本轮
|
||||
this.rollerManager.distributeFreeMulMap(this.parsedData.FreeMulMap);
|
||||
this.rollerManager.createNewIconTop(this.parsedData.NewIconTop);
|
||||
}
|
||||
|
||||
@ -396,6 +388,28 @@ export class SlotGame extends Component {
|
||||
this.rollerManager.iconFallDown();
|
||||
}
|
||||
|
||||
getCurrentBombSettleInfos(): { pos: number, mul: number, iconNode: Node, multiNode: Node }[] {
|
||||
let result: { pos: number, mul: number, iconNode: Node, multiNode: Node }[] = [];
|
||||
if (!this.parsedData || !this.parsedData.BombPos || !this.parsedData.FreeMulMap) return result;
|
||||
|
||||
for (let i = 0; i < this.parsedData.BombPos.length; i++) {
|
||||
let absPos = this.parsedData.BombPos[i];
|
||||
let mul = this.parsedData.FreeMulMap[absPos];
|
||||
if (mul == null) continue;
|
||||
let iconNode = this.rollerManager.getIconNode(absPos);
|
||||
if (!iconNode || !iconNode.isValid) continue;
|
||||
let iconComp = iconNode.getComponent(Icon);
|
||||
if (!iconComp || !iconComp.multiNode || !iconComp.multiNode.isValid) continue;
|
||||
result.push({
|
||||
pos: absPos,
|
||||
mul: mul,
|
||||
iconNode,
|
||||
multiNode: iconComp.multiNode,
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
onAllRollerIconsFallen() {
|
||||
this.upLayer.resetAndSyncAllSpecials(this.rollerManager);
|
||||
let delay = this.parsedData.hasSmallGame ? 2 : 0;
|
||||
@ -447,6 +461,13 @@ export class SlotGame extends Component {
|
||||
parseGameData(spinData: any, lastRemoveData: number[]): IParsedGameData {
|
||||
let { Symbol, WinInfo, Free } = spinData || {};
|
||||
let serverPanData: number[] = Symbol.Middle;
|
||||
let freeMulMiddlesArr: any[] = Symbol?.FreeMulMiddles || [];
|
||||
let mulDesc = WinInfo?.MulDesc || null;
|
||||
|
||||
let freeMulMap: { [pos: number]: number } = {};
|
||||
for (let item of freeMulMiddlesArr) {
|
||||
freeMulMap[item.NumPos] = item.Mul;
|
||||
}
|
||||
|
||||
let removeData: number[] = [];
|
||||
if (WinInfo != null && WinInfo.Desc != null) {
|
||||
@ -495,29 +516,22 @@ export class SlotGame extends Component {
|
||||
if (iconId == 10) bombPos.push(i);
|
||||
}
|
||||
|
||||
let hasScatterExpect = scatterPos.length >= 2;
|
||||
if (hasScatterExpect && scatterPos.length == 2) {
|
||||
if (this.rollerManager.getLx(scatterPos[1]) == 5) {
|
||||
hasScatterExpect = false;
|
||||
}
|
||||
}
|
||||
let freeIsSame = Free == null ? false : Free.LeftCount !== Free.MaxCount;
|
||||
console.log(newIconTop, 'newIconTop');
|
||||
|
||||
return {
|
||||
Multi: 0,
|
||||
PanData: panData,
|
||||
RemoveData: removeData,
|
||||
NewIconTop: newIconTop,
|
||||
HasScatterExpect: hasScatterExpect,
|
||||
ScatterPos: scatterPos,
|
||||
BombPos: bombPos,
|
||||
MulInfo: [{
|
||||
"Pos": 7,
|
||||
"Mul": 2
|
||||
}
|
||||
],
|
||||
hasSmallGame: scatterPos.length >= 4,
|
||||
hasFreeSpinAgain: scatterPos.length >= 3 && freeIsSame,
|
||||
FreeMulMap: freeMulMap,
|
||||
RoundScore: WinInfo?.Score,
|
||||
MulValue: mulDesc?.Mul,
|
||||
UnmultiedScore: mulDesc?.UnMultied,
|
||||
MultiedScore: mulDesc?.Multied,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ import { I18nManager } from '../../Main/Scripts/managers/I18nManager';
|
||||
import { getLanguage, gold2cash } from '../../Main/Scripts/main/comm';
|
||||
import { UIManager } from '../../Main/Scripts/managers/UIManager';
|
||||
import { AudioManager } from '../../Main/Scripts/managers/AudioManager';
|
||||
import { Icon } from './Icon';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('SlotMsg')
|
||||
@ -133,7 +134,7 @@ export class SlotMsg extends Component {
|
||||
.start();
|
||||
}
|
||||
|
||||
showWinMsg(endScore: number) {
|
||||
showRoundWinMsg(endScore: number) {
|
||||
if (endScore === 0) return;
|
||||
this.smallMsgSpine.node.active = false;
|
||||
this.middleMsgSpine.node.active = true;
|
||||
@ -172,6 +173,13 @@ export class SlotMsg extends Component {
|
||||
this.largeMsgSpine.node.active = false;
|
||||
}
|
||||
|
||||
showMultiWinAnimation(spinData, callBack: () => void) {
|
||||
this.scheduleOnce(() => {
|
||||
this.showTotalWinMsg(spinData.WinInfo.MulDesc.Multied);
|
||||
callBack();
|
||||
}, 1)
|
||||
}
|
||||
|
||||
showTipSmall(tips: string, Type: string = "") {
|
||||
Tween.stopAllByTarget(this.grayMsgNode);
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@ import { FreeSpinAgain } from "./FreeSpinAgain";
|
||||
import { SysGift } from "./SysGift";
|
||||
import { ErrorManager } from "../../Main/Scripts/managers/ErrorManager";
|
||||
import { SlotRanking } from "../SlotRanking/scripts/SlotRanking";
|
||||
import { ChooseDiff } from "./ChooseDiff";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass("SlotScene")
|
||||
@ -144,7 +145,7 @@ export class SlotScene extends Component {
|
||||
if (this.hasEliminate) {
|
||||
this.slotBar.manualStop(this.hasEliminate);
|
||||
this.slotGame.playIconWinAni(this.spinData);
|
||||
this.slotMsg.showWinMsg(this.spinData.AllScore);
|
||||
this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score);
|
||||
if (this.isDebug) {
|
||||
this.nextSpinInfo = GAME_DATA;
|
||||
} else {
|
||||
@ -175,17 +176,9 @@ export class SlotScene extends Component {
|
||||
this.slotMsg.hideWinSpine();
|
||||
if (!this.isFreeSpin) { this.slotBar.setWin(0); }
|
||||
|
||||
let msg = !this.isFeatureBuySpin && buyType == 0
|
||||
? {
|
||||
Bet: this.slotBar.getBet(),
|
||||
IsDouble: this.isDoubleWin,
|
||||
}
|
||||
: {
|
||||
Bet: this.slotBar.getBet(),
|
||||
IsBuy: true,
|
||||
BuyType: buyType,
|
||||
IsDouble: this.isDoubleWin,
|
||||
};
|
||||
let msg = !this.isFeatureBuySpin && buyType == 0 ?
|
||||
{ Bet: this.slotBar.getBet(), IsDouble: this.isDoubleWin, }
|
||||
: { Bet: this.slotBar.getBet(), IsBuy: true, BuyType: buyType, IsDouble: this.isDoubleWin, };
|
||||
try {
|
||||
this.spinInfo = !this.isDebug ? await this.spinWithRetryMsg(msg) : GAME_DATA;
|
||||
this.subBalacne();
|
||||
@ -357,7 +350,7 @@ export class SlotScene extends Component {
|
||||
// 如果本次有消除,则进行删除工作。
|
||||
if (this.hasEliminate) {
|
||||
this.slotGame.playIconWinAni(this.spinData);
|
||||
this.slotMsg.showWinMsg(this.spinData.AllScore);
|
||||
this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score);
|
||||
if (this.isDebug) {
|
||||
this.nextSpinInfo = GAME_DATA;
|
||||
} else {
|
||||
@ -411,7 +404,7 @@ export class SlotScene extends Component {
|
||||
async onAllRollerIconsFallen() {
|
||||
if (this.hasEliminate) {
|
||||
this.slotGame.playIconWinAni(this.spinData);
|
||||
this.slotMsg.showWinMsg(this.spinData.AllScore);
|
||||
this.slotMsg.showRoundWinMsg(this.spinData.WinInfo.Score);
|
||||
if (this.isDebug) {
|
||||
this.nextSpinInfo = GAME_DATA;
|
||||
} else {
|
||||
@ -450,6 +443,11 @@ export class SlotScene extends Component {
|
||||
handleRoundEnd(isReconnect: boolean = false) {
|
||||
if (this.isFreeSpin) {
|
||||
if (this.isFirstFreeSpin) {
|
||||
// 进入免费前,先给 2 秒展示 scatter 动画并更新信息栏
|
||||
this.slotBar.updatePlayerMsg(this.spinData, null);
|
||||
this.slotGame.upLayer.playScatterWaitSpine(true);
|
||||
this.scheduleOnce(() => {
|
||||
this.slotGame.upLayer.playScatterSpine(false);
|
||||
this.updateBg(true);
|
||||
this.slotBar.updateIsFreeSpin(true);
|
||||
this.slotBar.setLeftCount(this.spinData.Free.MaxCount);
|
||||
@ -464,8 +462,10 @@ export class SlotScene extends Component {
|
||||
}, 1);
|
||||
});
|
||||
});
|
||||
}, 2);
|
||||
} else {
|
||||
if (!isReconnect) {
|
||||
this.handleFreeSpinRoundWinMsg(() => {
|
||||
this.handleBigWin(() => {
|
||||
this.handleFreeSpinAgain(() => {
|
||||
this.slotBar.setLeftCount(this.spinData.Free.LeftCount);
|
||||
@ -486,10 +486,9 @@ export class SlotScene extends Component {
|
||||
}
|
||||
if (this.spinData.Free.LeftCount == 0 && this.spinData.RoundInfo.Current == this.spinData.RoundInfo.Total) {
|
||||
this.isFreeSpin = false;
|
||||
|
||||
this.slotBar.updatePlayerMsg(this.spinData, null, true);
|
||||
let startScore = 0;
|
||||
this.scheduleOnce(() => {
|
||||
this.slotMsg.showTotalWinAnimaiton(this.spinData.AllScore, this.spinData.AllScore, () => {
|
||||
this.slotMsg.showTotalWinAnimaiton(startScore, this.spinData.AllScore, () => {
|
||||
NodePoolManager.instance.getNodeFromPoolDynamic("TotalWinSpine", "Prefab/TotalWinSpine", "Game").then((prefab: Node) => {
|
||||
AudioManager.instance.playBGM("Total_Win_Bgm");
|
||||
this.node.addChild(prefab);
|
||||
@ -504,17 +503,18 @@ export class SlotScene extends Component {
|
||||
NodePoolManager.instance.putNodeToPool("TotalWinSpine", prefab);
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
}, 1);
|
||||
} else {
|
||||
this.slotBar.updateWinMsg(this.spinData.AllScore, true);
|
||||
this.scheduleOnce(() => {
|
||||
this.handleNextFreeSpin(this.spinData.Free.LeftCount - 1);
|
||||
}, 1);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
})
|
||||
|
||||
} else {
|
||||
if (this.spinData.Free.LeftCount == 0 && this.spinData.RoundInfo.Current == this.spinData.RoundInfo.Total) {
|
||||
this.isFreeSpin = false;
|
||||
@ -576,26 +576,32 @@ export class SlotScene extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
handleFreeSpinRoundWinMsg(callBack: () => void) {
|
||||
if (this.spinData.WinInfo == null) {
|
||||
callBack();
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.spinData.WinInfo.MulDesc == null) {
|
||||
this.slotMsg.showTotalWinMsg(this.spinData.RoundInfo.Score);
|
||||
callBack();
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.spinData.WinInfo.MulDesc !== null) {
|
||||
this.slotMsg.showTotalWinMsg(this.spinData.WinInfo.MulDesc.UnMultied);
|
||||
this.slotMsg.showMultiWinAnimation(this.spinData, callBack)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
handleBigWin(callBack: () => void) {
|
||||
let score = this.isFreeSpin
|
||||
? this.spinData.SpinScore
|
||||
: this.spinData.AllScore;
|
||||
// score = 7000000000;
|
||||
let score = this.isFreeSpin ? this.spinData.SpinScore : this.spinData.AllScore;
|
||||
let winType = score ? this.checkWinType(score) : WIN_TYPE.NONE;
|
||||
if (winType >= WIN_TYPE.BIG_WIN) {
|
||||
NodePoolManager.instance
|
||||
.getNodeFromPoolDynamic("BigWin", "Prefab/BigWin", "Game")
|
||||
.then((prefab: Node) => {
|
||||
NodePoolManager.instance.getNodeFromPoolDynamic("BigWin", "Prefab/BigWin", "Game").then((prefab: Node) => {
|
||||
this.node.addChild(prefab);
|
||||
prefab
|
||||
.getComponent(BigWin)
|
||||
.open(
|
||||
winType,
|
||||
score,
|
||||
this.slotBar.getBet(),
|
||||
callBack,
|
||||
this.isFreeSpin
|
||||
);
|
||||
prefab.getComponent(BigWin).open(winType, score, this.slotBar.getBet(), callBack, this.isFreeSpin);
|
||||
});
|
||||
} else {
|
||||
callBack();
|
||||
@ -640,8 +646,8 @@ export class SlotScene extends Component {
|
||||
this.slotBar.node.getChildByName("stopBtn").active = true;
|
||||
}
|
||||
|
||||
/** 扣除金币 */
|
||||
subBalacne() {
|
||||
/** 扣除金币,如果是购买需要控制buyType */
|
||||
subBalacne(buyType: number = 0) {
|
||||
let frb = GameDataManager.instance.frb;
|
||||
if (this.spinInfo.Frb && this.spinInfo.Frb.Ongoing != null) {
|
||||
if (!this.isFreeSpin) {
|
||||
@ -666,28 +672,25 @@ export class SlotScene extends Component {
|
||||
? this.slotBar.getBet() * 1.25
|
||||
: this.slotBar.getBet();
|
||||
|
||||
this.slotBar.setBalance(
|
||||
this.slotBar.getBalance() - spinCost
|
||||
);
|
||||
this.slotBar.setBalance(this.slotBar.getBalance() - spinCost);
|
||||
} else {
|
||||
this.slotBar.setBalance(
|
||||
this.slotBar.getBalance() -
|
||||
this.slotBar.getBet() * this.gameInfo.BuyMul
|
||||
);
|
||||
if (buyType === 1) {
|
||||
this.slotBar.setBalance(this.slotBar.getBalance() - this.slotBar.getBet() * this.gameInfo.BuyMul)
|
||||
} else {
|
||||
this.slotBar.setBalance(this.slotBar.getBalance() - this.slotBar.getBet() * 500)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
testBtn() {
|
||||
NodePoolManager.instance
|
||||
.getNodeFromPoolDynamic("FreeSpinEnter", "Prefab/FreeSpinEnter", "Game")
|
||||
.then((prefab: Node) => {
|
||||
onBtnChooseDiff() {
|
||||
NodePoolManager.instance.getNodeFromPoolDynamic("ChooseDiff", "Prefab/ChooseDiff", "Game").then((prefab: Node) => {
|
||||
this.node.addChild(prefab);
|
||||
let freeCount = 10; //this.spinData.FreeSpin.MaxCount;
|
||||
freeCount = 10;
|
||||
prefab.getComponent(FreeSpinEnterSpine).showEnterAni(freeCount, () => {
|
||||
NodePoolManager.instance.putNodeToPool("FreeSpinEnter", prefab);
|
||||
prefab.getComponent(ChooseDiff).open(GameDataManager.instance.chooseDiff, () => {
|
||||
this.node.getChildByName("Choose").children.forEach((child: Node, index: number) => {
|
||||
child.active = index == GameDataManager.instance.chooseDiff - 1;
|
||||
})
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -205,6 +205,10 @@ export class UpLayer extends Component {
|
||||
}
|
||||
|
||||
playScatterSpine(bol: boolean) {
|
||||
this.scatterLayer.children.forEach(child => child.getComponent(Icon).playScatterIdleSpine(bol));
|
||||
}
|
||||
|
||||
playScatterWaitSpine(bol: boolean) {
|
||||
this.scatterLayer.children.forEach(child => child.getComponent(Icon).playScatterWaitSpine(bol));
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,22 +29,25 @@
|
||||
},
|
||||
{
|
||||
"__id__": 1192
|
||||
},
|
||||
{
|
||||
"__id__": 1207
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 1207
|
||||
"__id__": 1232
|
||||
},
|
||||
{
|
||||
"__id__": 1209
|
||||
"__id__": 1234
|
||||
},
|
||||
{
|
||||
"__id__": 1211
|
||||
"__id__": 1236
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 1213
|
||||
"__id__": 1238
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
@ -2605,7 +2608,7 @@
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
{
|
||||
"__uuid__": "5e3c6a81-0213-4db7-8682-237dab87b17b",
|
||||
"__uuid__": "e0928cff-6e84-4aa5-a100-826094cfbce6",
|
||||
"__expectedType__": "cc.Prefab"
|
||||
},
|
||||
{
|
||||
@ -22803,8 +22806,8 @@
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"g": 199,
|
||||
"b": 47,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
@ -23079,8 +23082,8 @@
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"g": 199,
|
||||
"b": 47,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
@ -23355,8 +23358,8 @@
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"g": 199,
|
||||
"b": 47,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
@ -23687,8 +23690,8 @@
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"g": 199,
|
||||
"b": 47,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "Balance",
|
||||
@ -23871,8 +23874,8 @@
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"g": 199,
|
||||
"b": 47,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "Bet",
|
||||
@ -24055,8 +24058,8 @@
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"g": 199,
|
||||
"b": 47,
|
||||
"a": 255
|
||||
},
|
||||
"_string": "Win",
|
||||
@ -25540,6 +25543,585 @@
|
||||
"f4aQq7idZPdbNdUF+cqOcU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "choose",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1
|
||||
},
|
||||
"_children": [
|
||||
{
|
||||
"__id__": 1208
|
||||
},
|
||||
{
|
||||
"__id__": 1214
|
||||
},
|
||||
{
|
||||
"__id__": 1220
|
||||
}
|
||||
],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 1226
|
||||
},
|
||||
{
|
||||
"__id__": 1228
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 1231
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": -483.434,
|
||||
"y": -801.351,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1073741824,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "IconDifficulty1",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1207
|
||||
},
|
||||
"_children": [],
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 1209
|
||||
},
|
||||
{
|
||||
"__id__": 1211
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 1213
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1073741824,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1208
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1210
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 70,
|
||||
"height": 47
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "5aQJc5hQtPH5wegpCoFjsg"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1208
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1212
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "31a15ac8-4248-4724-b78f-b1fcff0617c1@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 1,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "54ZVjHcF1D27HMcJyO7box"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "5cdbK/en1N/o124vPvpM0F",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "IconDifficulty2",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1207
|
||||
},
|
||||
"_children": [],
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 1215
|
||||
},
|
||||
{
|
||||
"__id__": 1217
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 1219
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1073741824,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1214
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1216
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 70,
|
||||
"height": 47
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "ccBW9AQfVNuJEFnTCeou35"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1214
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1218
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "84253048-0179-445c-9ef4-8324a9b6a17c@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 1,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "04tMK9ZxFBSp1Ty8qBrZPi"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "52tUBtdIxMD7sq8rRmJ/lD",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Node",
|
||||
"_name": "IconDifficulty3",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"_parent": {
|
||||
"__id__": 1207
|
||||
},
|
||||
"_children": [],
|
||||
"_active": false,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 1221
|
||||
},
|
||||
{
|
||||
"__id__": 1223
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 1225
|
||||
},
|
||||
"_lpos": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_lrot": {
|
||||
"__type__": "cc.Quat",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0,
|
||||
"w": 1
|
||||
},
|
||||
"_lscale": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 1,
|
||||
"y": 1,
|
||||
"z": 1
|
||||
},
|
||||
"_mobility": 0,
|
||||
"_layer": 1073741824,
|
||||
"_euler": {
|
||||
"__type__": "cc.Vec3",
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1220
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1222
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 70,
|
||||
"height": 47
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "e4CRhqZGBGzqxJBQdlvSBZ"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Sprite",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1220
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1224
|
||||
},
|
||||
"_customMaterial": null,
|
||||
"_srcBlendFactor": 2,
|
||||
"_dstBlendFactor": 4,
|
||||
"_color": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 246,
|
||||
"b": 187,
|
||||
"a": 255
|
||||
},
|
||||
"_spriteFrame": {
|
||||
"__uuid__": "5b575db7-d48c-4cec-8683-66b2ee63a4d1@f9941",
|
||||
"__expectedType__": "cc.SpriteFrame"
|
||||
},
|
||||
"_type": 0,
|
||||
"_fillType": 0,
|
||||
"_sizeMode": 1,
|
||||
"_fillCenter": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"_fillStart": 0,
|
||||
"_fillRange": 0,
|
||||
"_isTrimmedMode": true,
|
||||
"_useGrayscale": false,
|
||||
"_atlas": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "f0YOFatehPe7A8joqARDyk"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "b679yHgt9NmqngSzPF83dd",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1207
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1227
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
"width": 100,
|
||||
"height": 100
|
||||
},
|
||||
"_anchorPoint": {
|
||||
"__type__": "cc.Vec2",
|
||||
"x": 0.5,
|
||||
"y": 0.5
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "bdPfNDN5JBFrtUnWyngEXm"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.Button",
|
||||
"_name": "",
|
||||
"_objFlags": 0,
|
||||
"__editorExtras__": {},
|
||||
"node": {
|
||||
"__id__": 1207
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1229
|
||||
},
|
||||
"clickEvents": [
|
||||
{
|
||||
"__id__": 1230
|
||||
}
|
||||
],
|
||||
"_interactable": true,
|
||||
"_transition": 0,
|
||||
"_normalColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_hoverColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 211,
|
||||
"g": 211,
|
||||
"b": 211,
|
||||
"a": 255
|
||||
},
|
||||
"_pressedColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
"g": 255,
|
||||
"b": 255,
|
||||
"a": 255
|
||||
},
|
||||
"_disabledColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 124,
|
||||
"g": 124,
|
||||
"b": 124,
|
||||
"a": 255
|
||||
},
|
||||
"_normalSprite": null,
|
||||
"_hoverSprite": null,
|
||||
"_pressedSprite": null,
|
||||
"_disabledSprite": null,
|
||||
"_duration": 0.1,
|
||||
"_zoomScale": 1.2,
|
||||
"_target": null,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.CompPrefabInfo",
|
||||
"fileId": "falhGwuUBMGJIwvQNYUNbE"
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ClickEvent",
|
||||
"target": {
|
||||
"__id__": 1
|
||||
},
|
||||
"component": "",
|
||||
"_componentId": "869a6c2dfpJV5PioVAJJ/Lk",
|
||||
"handler": "",
|
||||
"customEventData": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
"__id__": 1
|
||||
},
|
||||
"asset": {
|
||||
"__id__": 0
|
||||
},
|
||||
"fileId": "f0yNlvPFFLHp47TReWwjc+",
|
||||
"instance": null,
|
||||
"targetOverrides": null,
|
||||
"nestedPrefabInstanceRoots": null
|
||||
},
|
||||
{
|
||||
"__type__": "cc.UITransform",
|
||||
"_name": "",
|
||||
@ -25550,7 +26132,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1208
|
||||
"__id__": 1233
|
||||
},
|
||||
"_contentSize": {
|
||||
"__type__": "cc.Size",
|
||||
@ -25578,7 +26160,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1210
|
||||
"__id__": 1235
|
||||
},
|
||||
"_alignFlags": 45,
|
||||
"_target": null,
|
||||
@ -25614,7 +26196,7 @@
|
||||
},
|
||||
"_enabled": true,
|
||||
"__prefab": {
|
||||
"__id__": 1212
|
||||
"__id__": 1237
|
||||
},
|
||||
"slotGame": {
|
||||
"__id__": 675
|
||||
@ -25645,13 +26227,13 @@
|
||||
"instance": null,
|
||||
"targetOverrides": [
|
||||
{
|
||||
"__id__": 1214
|
||||
"__id__": 1239
|
||||
},
|
||||
{
|
||||
"__id__": 1216
|
||||
"__id__": 1241
|
||||
},
|
||||
{
|
||||
"__id__": 1218
|
||||
"__id__": 1243
|
||||
}
|
||||
],
|
||||
"nestedPrefabInstanceRoots": [
|
||||
@ -25770,7 +26352,7 @@
|
||||
"__id__": 1175
|
||||
},
|
||||
"targetInfo": {
|
||||
"__id__": 1215
|
||||
"__id__": 1240
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -25782,7 +26364,7 @@
|
||||
{
|
||||
"__type__": "cc.TargetOverrideInfo",
|
||||
"source": {
|
||||
"__id__": 1211
|
||||
"__id__": 1236
|
||||
},
|
||||
"sourceInfo": null,
|
||||
"propertyPath": [
|
||||
@ -25792,7 +26374,7 @@
|
||||
"__id__": 1175
|
||||
},
|
||||
"targetInfo": {
|
||||
"__id__": 1217
|
||||
"__id__": 1242
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -25804,7 +26386,7 @@
|
||||
{
|
||||
"__type__": "cc.TargetOverrideInfo",
|
||||
"source": {
|
||||
"__id__": 1211
|
||||
"__id__": 1236
|
||||
},
|
||||
"sourceInfo": null,
|
||||
"propertyPath": [
|
||||
@ -25814,7 +26396,7 @@
|
||||
"__id__": 1192
|
||||
},
|
||||
"targetInfo": {
|
||||
"__id__": 1219
|
||||
"__id__": 1244
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
9
assets/Game/阿拉丁神灯-资源/ChooseDiff.meta
Normal file
9
assets/Game/阿拉丁神灯-资源/ChooseDiff.meta
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "1.2.0",
|
||||
"importer": "directory",
|
||||
"imported": true,
|
||||
"uuid": "0541d894-54e1-40bb-82ad-dee9e9515a11",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
505
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.plist
Normal file
505
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.plist
Normal file
@ -0,0 +1,505 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>frames</key>
|
||||
<dict>
|
||||
<key>choose</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{360,500}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{360,500}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{0,0},{360,500}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_Large_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{715,101}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{715,101}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{361,0},{715,101}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>toast </key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{532,132}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{532,132}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{463,0},{532,132}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Frame_Tip_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{220,220}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{220,220}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{0,501},{220,220}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_Spin_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{214,213}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{214,213}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{463,533},{214,213}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Frame_Title_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{360,108}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{360,108}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{596,0},{360,108}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Frame_Title_02</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{360,108}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{360,108}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{0,722},{360,108}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Frame_Assets_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{356,109}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{356,109}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{361,748},{356,109}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>high_img</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{240,160}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{240,160}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{0,831},{240,160}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>low_img</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{240,160}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{240,160}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{241,858},{240,160}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Medium_img</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{240,160}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{240,160}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{482,858},{240,160}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Frame_Auto_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{180,181}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{180,181}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{677,361},{180,181}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_Cancel_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{287,87}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{287,87}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{718,543},{287,87}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Btn_Confirm_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{287,87}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{287,87}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{705,0},{287,87}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>BarB_Frame_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{616,36}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{616,36}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{858,0},{616,36}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Frame_Number_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{199,111}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{199,111}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{221,501},{199,111}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>BarB_Fill_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{601,21}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{601,21}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{895,0},{601,21}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Icon_Minus_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{92,92}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{92,92}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{723,831},{92,92}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Icon_Plus_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{92,92}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{92,92}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{723,924},{92,92}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>BarB_Handle_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{85,85}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{85,85}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{806,617},{85,85}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_SoundOFF_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{86,78}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{596,361},{86,78}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Btn_SoundON_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{-1,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{83,78}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{596,448},{83,78}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Btn_Rule_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{88,71}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{705,288},{88,71}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_Close_02</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{78,78}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{806,703},{78,78}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_Quit_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,1}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{78,77}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{816,782},{78,77}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_History_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{1,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{77,77}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{816,860},{77,77}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Btn_Paytable_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{76,76}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{94,94}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{816,938},{76,76}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Divider_02</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{717,5}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{717,5}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{0,1019},{717,5}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Icon_Menu_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{56,49}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{56,49}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{806,543},{56,49}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Btn_Close_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{52,52}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{52,52}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{793,0},{52,52}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>toast _Turbooff</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{34,42}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{42,42}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{677,543},{34,42}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>toast _Turboon</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{32,42}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{42,42}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{677,586},{32,42}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Divider_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{281,4}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{281,4}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{846,0},{281,4}}</string>
|
||||
<key>textureRotated</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>Icon_Win_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{31,31}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{31,31}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{885,703},{31,31}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Icon_Balance_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{27,27}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{27,27}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{885,735},{27,27}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Icon_Bet_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{24,28}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{24,28}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{892,617},{24,28}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
<key>Square_01</key>
|
||||
<dict>
|
||||
<key>spriteOffset</key>
|
||||
<string>{0,0}</string>
|
||||
<key>spriteSize</key>
|
||||
<string>{10,10}</string>
|
||||
<key>spriteSourceSize</key>
|
||||
<string>{10,10}</string>
|
||||
<key>textureRect</key>
|
||||
<string>{{895,602},{10,10}}</string>
|
||||
<key>textureRotated</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>metadata</key>
|
||||
<dict>
|
||||
<key>format</key>
|
||||
<integer>3</integer>
|
||||
<key>pixelFormat</key>
|
||||
<string>RGBA8888</string>
|
||||
<key>premultiplyAlpha</key>
|
||||
<false/>
|
||||
<key>realTextureFileName</key>
|
||||
<string>CommonUI_01.png</string>
|
||||
<key>textureFileName</key>
|
||||
<string>CommonUI_01.png</string>
|
||||
<key>size</key>
|
||||
<string>{916,1024}</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
1719
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.plist.meta
Normal file
1719
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.plist.meta
Normal file
File diff suppressed because it is too large
Load Diff
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.png
Normal file
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 208 KiB |
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.png.meta
Normal file
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/CommonUI_01.png.meta
Normal file
@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "b1b99b4c-feb9-4332-862c-dc1eda23fd4c",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "b1b99b4c-feb9-4332-862c-dc1eda23fd4c@6c48a",
|
||||
"displayName": "CommonUI_01",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "b1b99b4c-feb9-4332-862c-dc1eda23fd4c",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "b1b99b4c-feb9-4332-862c-dc1eda23fd4c@f9941",
|
||||
"displayName": "CommonUI_01",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 916,
|
||||
"height": 1024,
|
||||
"rawWidth": 916,
|
||||
"rawHeight": 1024,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-458,
|
||||
-512,
|
||||
0,
|
||||
458,
|
||||
-512,
|
||||
0,
|
||||
-458,
|
||||
512,
|
||||
0,
|
||||
458,
|
||||
512,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
1024,
|
||||
916,
|
||||
1024,
|
||||
0,
|
||||
0,
|
||||
916,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-458,
|
||||
-512,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
458,
|
||||
512,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "b1b99b4c-feb9-4332-862c-dc1eda23fd4c@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "b1b99b4c-feb9-4332-862c-dc1eda23fd4c@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty1.png
Normal file
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty1.png.meta
Normal file
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty1.png.meta
Normal file
@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "31a15ac8-4248-4724-b78f-b1fcff0617c1",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "31a15ac8-4248-4724-b78f-b1fcff0617c1@6c48a",
|
||||
"displayName": "IconDifficulty1",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "31a15ac8-4248-4724-b78f-b1fcff0617c1",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "31a15ac8-4248-4724-b78f-b1fcff0617c1@f9941",
|
||||
"displayName": "IconDifficulty1",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 70,
|
||||
"height": 47,
|
||||
"rawWidth": 70,
|
||||
"rawHeight": 47,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-35,
|
||||
-23.5,
|
||||
0,
|
||||
35,
|
||||
-23.5,
|
||||
0,
|
||||
-35,
|
||||
23.5,
|
||||
0,
|
||||
35,
|
||||
23.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
47,
|
||||
70,
|
||||
47,
|
||||
0,
|
||||
0,
|
||||
70,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-35,
|
||||
-23.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
35,
|
||||
23.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "31a15ac8-4248-4724-b78f-b1fcff0617c1@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "31a15ac8-4248-4724-b78f-b1fcff0617c1@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty2.png
Normal file
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty2.png.meta
Normal file
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty2.png.meta
Normal file
@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "84253048-0179-445c-9ef4-8324a9b6a17c",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "84253048-0179-445c-9ef4-8324a9b6a17c@6c48a",
|
||||
"displayName": "IconDifficulty2",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "84253048-0179-445c-9ef4-8324a9b6a17c",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "84253048-0179-445c-9ef4-8324a9b6a17c@f9941",
|
||||
"displayName": "IconDifficulty2",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 70,
|
||||
"height": 47,
|
||||
"rawWidth": 70,
|
||||
"rawHeight": 47,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-35,
|
||||
-23.5,
|
||||
0,
|
||||
35,
|
||||
-23.5,
|
||||
0,
|
||||
-35,
|
||||
23.5,
|
||||
0,
|
||||
35,
|
||||
23.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
47,
|
||||
70,
|
||||
47,
|
||||
0,
|
||||
0,
|
||||
70,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-35,
|
||||
-23.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
35,
|
||||
23.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "84253048-0179-445c-9ef4-8324a9b6a17c@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "84253048-0179-445c-9ef4-8324a9b6a17c@6c48a"
|
||||
}
|
||||
}
|
||||
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty3.png
Normal file
BIN
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty3.png.meta
Normal file
134
assets/Game/阿拉丁神灯-资源/ChooseDiff/IconDifficulty3.png.meta
Normal file
@ -0,0 +1,134 @@
|
||||
{
|
||||
"ver": "1.0.27",
|
||||
"importer": "image",
|
||||
"imported": true,
|
||||
"uuid": "5b575db7-d48c-4cec-8683-66b2ee63a4d1",
|
||||
"files": [
|
||||
".json",
|
||||
".png"
|
||||
],
|
||||
"subMetas": {
|
||||
"6c48a": {
|
||||
"importer": "texture",
|
||||
"uuid": "5b575db7-d48c-4cec-8683-66b2ee63a4d1@6c48a",
|
||||
"displayName": "IconDifficulty3",
|
||||
"id": "6c48a",
|
||||
"name": "texture",
|
||||
"userData": {
|
||||
"wrapModeS": "clamp-to-edge",
|
||||
"wrapModeT": "clamp-to-edge",
|
||||
"imageUuidOrDatabaseUri": "5b575db7-d48c-4cec-8683-66b2ee63a4d1",
|
||||
"isUuid": true,
|
||||
"visible": false,
|
||||
"minfilter": "linear",
|
||||
"magfilter": "linear",
|
||||
"mipfilter": "none",
|
||||
"anisotropy": 0
|
||||
},
|
||||
"ver": "1.0.22",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
},
|
||||
"f9941": {
|
||||
"importer": "sprite-frame",
|
||||
"uuid": "5b575db7-d48c-4cec-8683-66b2ee63a4d1@f9941",
|
||||
"displayName": "IconDifficulty3",
|
||||
"id": "f9941",
|
||||
"name": "spriteFrame",
|
||||
"userData": {
|
||||
"trimType": "auto",
|
||||
"trimThreshold": 1,
|
||||
"rotated": false,
|
||||
"offsetX": 0,
|
||||
"offsetY": 0,
|
||||
"trimX": 0,
|
||||
"trimY": 0,
|
||||
"width": 70,
|
||||
"height": 47,
|
||||
"rawWidth": 70,
|
||||
"rawHeight": 47,
|
||||
"borderTop": 0,
|
||||
"borderBottom": 0,
|
||||
"borderLeft": 0,
|
||||
"borderRight": 0,
|
||||
"packable": true,
|
||||
"pixelsToUnit": 100,
|
||||
"pivotX": 0.5,
|
||||
"pivotY": 0.5,
|
||||
"meshType": 0,
|
||||
"vertices": {
|
||||
"rawPosition": [
|
||||
-35,
|
||||
-23.5,
|
||||
0,
|
||||
35,
|
||||
-23.5,
|
||||
0,
|
||||
-35,
|
||||
23.5,
|
||||
0,
|
||||
35,
|
||||
23.5,
|
||||
0
|
||||
],
|
||||
"indexes": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"uv": [
|
||||
0,
|
||||
47,
|
||||
70,
|
||||
47,
|
||||
0,
|
||||
0,
|
||||
70,
|
||||
0
|
||||
],
|
||||
"nuv": [
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"minPos": [
|
||||
-35,
|
||||
-23.5,
|
||||
0
|
||||
],
|
||||
"maxPos": [
|
||||
35,
|
||||
23.5,
|
||||
0
|
||||
]
|
||||
},
|
||||
"isUuid": true,
|
||||
"imageUuidOrDatabaseUri": "5b575db7-d48c-4cec-8683-66b2ee63a4d1@6c48a",
|
||||
"atlasUuid": ""
|
||||
},
|
||||
"ver": "1.0.12",
|
||||
"imported": true,
|
||||
"files": [
|
||||
".json"
|
||||
],
|
||||
"subMetas": {}
|
||||
}
|
||||
},
|
||||
"userData": {
|
||||
"type": "sprite-frame",
|
||||
"hasAlpha": true,
|
||||
"fixAlphaTransparencyArtifacts": false,
|
||||
"redirect": "5b575db7-d48c-4cec-8683-66b2ee63a4d1@6c48a"
|
||||
}
|
||||
}
|
||||
@ -40,6 +40,14 @@ export class GameDataManager {
|
||||
set canClickIconMsg(bol: boolean) { this._canClickIconMsg = bol; }
|
||||
get canClickIconMsg(): boolean { return this._canClickIconMsg; }
|
||||
|
||||
private _gamePending: string = null;
|
||||
set gamePending(pending: string) { this._gamePending = pending; }
|
||||
get gamePending(): string { return this._gamePending; }
|
||||
|
||||
private _chooseDiff: number = 1;
|
||||
set chooseDiff(diff: number) { this._chooseDiff = diff; }
|
||||
get chooseDiff(): number { return this._chooseDiff; }
|
||||
|
||||
|
||||
// rankList de 结构
|
||||
// {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user