Compare commits

...

6 Commits

Author SHA1 Message Date
TJH
dfc34caa37 1
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m11s
2025-12-16 09:49:41 +08:00
TJH
50afec8afb 音效 2025-12-15 17:28:13 +08:00
TJH
bb84af7753 倍率瓶子的相关动画显示 2025-12-15 15:30:44 +08:00
TJH
940414a9ab 历史记录服务器数据获取逻辑修改 2025-12-15 14:53:39 +08:00
TJH
dce8428efd 1 2025-12-10 15:24:07 +08:00
TJH
3484c23c93 历史记录修改 2025-12-10 11:55:27 +08:00
79 changed files with 9123 additions and 7451 deletions

View File

@ -2387,7 +2387,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 81.058,
"x": 91.875,
"y": 0,
"z": 0
},
@ -2545,7 +2545,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 81.058,
"x": 87.819,
"y": 0,
"z": 0
},
@ -5127,7 +5127,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -81.058,
"x": -90.217,
"y": 0,
"z": 0
},
@ -5285,7 +5285,7 @@
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -81.058,
"x": -90.217,
"y": 0,
"z": 0
},

View File

@ -15457,11 +15457,11 @@
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "9c1122fd-f575-462a-abfb-b5accf539a1e@f9941",
"__uuid__": "0f50a895-d708-4b4f-9730-14bce4f22988@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "0f50a895-d708-4b4f-9730-14bce4f22988@f9941",
"__uuid__": "9c1122fd-f575-462a-abfb-b5accf539a1e@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
@ -15469,6 +15469,16 @@
"__expectedType__": "cc.SpriteFrame"
}
],
"multiLabelFont": [
{
"__uuid__": "de8836c9-9686-4097-9caa-cf0b6749fd1d",
"__expectedType__": "cc.BitmapFont"
},
{
"__uuid__": "4c85edc1-086f-4072-99cb-fed19017dbf6",
"__expectedType__": "cc.BitmapFont"
}
],
"_id": ""
},
{

File diff suppressed because it is too large Load Diff

View File

@ -1066,7 +1066,7 @@
"__prefab": {
"__id__": 44
},
"spriteName": "29N",
"spriteName": "29",
"_id": ""
},
{

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "e276268c-f1d7-484c-b751-e41887092b96",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@ -0,0 +1,169 @@
[
{
"__type__": "cc.Prefab",
"_name": "multi",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "multi",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [],
"_active": true,
"_components": [
{
"__id__": 2
},
{
"__id__": 4
},
{
"__id__": 6
}
],
"_prefab": {
"__id__": 8
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 374.679,
"y": 80,
"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": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 3
},
"_contentSize": {
"__type__": "cc.Size",
"width": 90,
"height": 135
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "0749j4YzhNJY5KwFvvBokn"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 5
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_spriteFrame": {
"__uuid__": "0f50a895-d708-4b4f-9730-14bce4f22988@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": "d0e3jQ8uhFz4UPbgDb0EwR"
},
{
"__type__": "cc.UIOpacity",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 7
},
"_opacity": 255,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "a6F1uXFJpIUqWqVFuLG6t1"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "48Zq1lpd1IW6Q3NeV8sWJR",
"instance": null,
"targetOverrides": null
}
]

View File

@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "0f44e55e-42b6-4b42-b52a-12896e0562b5",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "multi"
}
}

View File

@ -0,0 +1,173 @@
[
{
"__type__": "cc.Prefab",
"_name": "multiLabel",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "multiLabel",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [],
"_active": true,
"_components": [
{
"__id__": 2
},
{
"__id__": 4
}
],
"_prefab": {
"__id__": 6
},
"_lpos": {
"__type__": "cc.Vec3",
"x": -280,
"y": 35,
"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": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 3
},
"_contentSize": {
"__type__": "cc.Size",
"width": 69.38,
"height": 40
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "a6xKpK1QxLh6taFFOnFezc"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 5
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "x2",
"_horizontalAlign": 1,
"_verticalAlign": 0,
"_actualFontSize": 30,
"_fontSize": 30,
"_fontFamily": "Arial",
"_lineHeight": 40,
"_overflow": 0,
"_enableWrapText": true,
"_font": {
"__uuid__": "de8836c9-9686-4097-9caa-cf0b6749fd1d",
"__expectedType__": "cc.BitmapFont"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
"_isItalic": false,
"_isBold": false,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_enableOutline": false,
"_outlineColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_outlineWidth": 2,
"_enableShadow": false,
"_shadowColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_shadowOffset": {
"__type__": "cc.Vec2",
"x": 2,
"y": 2
},
"_shadowBlur": 2,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "47Ut397l5AHZ2GrfWD4dUR"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "7fx1PkJxFN1Y8sG6vnwciH",
"instance": null,
"targetOverrides": null
}
]

View File

@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "d2fd678d-817b-4730-8c14-a832d34ec3db",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "multiLabel"
}
}

View File

@ -646,7 +646,6 @@ export class SlotBar extends Component {
//111
SPIN_ACTIVE = true;
MSG_ACTIVE = true;
BTNS1_ACTIVE = true;
BTNS2_ACTIVE = false;
BTNS3_ACTIVE = false;
@ -657,13 +656,12 @@ export class SlotBar extends Component {
this.BTNS2_ACTIVE = this.btns2.active;
this.BTNS3_ACTIVE = this.btns3.active;
this.SPIN_ACTIVE = this.spinNode.active;
this.MSG_ACTIVE = this.msg.active;
this.btns1.active = false;
this.btns2.active = false;
this.btns3.active = false;
this.spinNode.active = false;
this.msg.active = false;
this.msg.setPosition(0, -900, 0)
this.showLeftCount(leftCount);
}
@ -689,7 +687,7 @@ export class SlotBar extends Component {
this.btns2.active = this.BTNS2_ACTIVE;
this.btns3.active = this.BTNS3_ACTIVE;
this.spinNode.active = this.SPIN_ACTIVE;
this.msg.active = this.MSG_ACTIVE;
this.msg.setPosition(0, -680, 0)
}
// 设置按钮可以点击并且置灰的函数

View File

@ -1,4 +1,4 @@
import { _decorator, Animation, Button, Component, Label, Layout, Node, ParticleSystem, Prefab, RichText, Size, sp, Sprite, SpriteFrame, tween, UITransform, v3, Vec3 } from 'cc';
import { _decorator, Animation, Button, Component, instantiate, Label, Layout, Node, ParticleSystem, Prefab, RichText, Size, sp, Sprite, SpriteFrame, tween, UIOpacity, UITransform, v3, Vec3 } from 'cc';
import { RollerManager } from './game/RollerManager';
import { GameInfo, ICON_RATE, ROLLER_COMBINE_EVENT, SLOT_GAME_EVENT, WIN_TYPE } from './game/Define';
import { Icon, IconEventBus } from './game/Icon';
@ -9,6 +9,16 @@ import { I18nManager } from '../../Loading/scripts/manager/I18nManager';
import { AudioManager } from '../../Loading/scripts/manager/AudioManager';
let { ccclass, property } = _decorator;
//倍率瓶子的所在位置
const multiPositionArr: Vec3[] = [
new Vec3(-280, 35, 0),
new Vec3(-110, 35, 0),
new Vec3(60, 35, 0),
new Vec3(230, 35, 0),
new Vec3(380, 80, 0),
]
@ccclass('SlotGame')
export class SlotGame extends Component {
@ -19,6 +29,12 @@ export class SlotGame extends Component {
@property(Prefab)
iconMsgPre: Prefab = null;
@property(Prefab)
multiPre: Prefab = null;
@property(Prefab)
multiLabelPre: Prefab = null;
@property([SpriteFrame])
multiFrame = new Array<SpriteFrame>;
@ -222,8 +238,8 @@ export class SlotGame extends Component {
AudioManager.instance.playSFX('Spin_Button_Click');
this.setWaysCount('...');
if (!isFree) {
this.setMultiLabel([2, 2, 2, 2], false);
this.setMultiLabel([2, 2, 2, 2], true);
this.setMultiLabel([2, 2, 2, 2], null, 0, 0, false);
this.setMultiLabel([2, 2, 2, 2], null, 0, 0, true);
}
this.showWinScore(false, false, false, false, false);
this.rollerManager.resetInfo();
@ -243,31 +259,189 @@ export class SlotGame extends Component {
this.rollerManager.stopScroll(this.spinData);
}
setMultiLabel(multiArr: Array<number>, isfree: boolean) {
setMultiLabel(multiArr, multiPos, winMulti: any, Score: number, isfree: boolean) {
let multNode = isfree ? this.freeMulti : this.multi
let labelNode = isfree ? this.freeMulti.parent.getChildByName('label') : this.multi.parent.getChildByName('label')
let posArr = []
multiArr.push(multiArr[3] + 2)
for (let key in multiPos) {
let idx = Number.parseInt(key)
posArr.push(idx)
}
for (let i = 0; i < multiArr.length; i++) {
multNode.children[i].getChildByName('Label').getComponent(Label).string = 'x' + multiArr[i]
switch (true) {
case multiArr[i] <= 4:
multNode.children[i].getComponent(Sprite).spriteFrame = this.multiFrame[0]
break
case multiArr[i] <= 8 && multiArr[i] > 4:
multNode.children[i].getComponent(Sprite).spriteFrame = this.multiFrame[1]
break
case multiArr[i] <= 16 && multiArr[i] > 8:
multNode.children[i].getComponent(Sprite).spriteFrame = this.multiFrame[2]
break
case multiArr[i] > 16:
multNode.children[i].getComponent(Sprite).spriteFrame = this.multiFrame[3]
break
//有倍率中奖
if (multiPos) {
if (multiArr[4]) {
multiArr[4] = multiArr[3] + 2
} else {
multiArr.push(multiArr[3] + 2)
}
for (let i = 0; i < multiArr.length; i++) {
labelNode.children[i].getComponent(Label).string = 'x' + multiArr[i]
multNode.children[i].getComponent(Sprite).spriteFrame = multiArr[i] >= 4 ? this.multiFrame[1] : this.multiFrame[0]
}
for (let key in multiPos) {
//总时长1.5秒
let idx = Number.parseInt(key)
multNode.children[idx].getComponent(Sprite).spriteFrame = multiPos[key] >= 4 ? this.multiFrame[3] : this.multiFrame[2]
tween(multNode.children[idx])
.to(0.5, { scale: new Vec3(1.3, 1.3, 1) })
.start()
tween(multNode.children[idx].getComponent(UIOpacity))
.delay(0.5)
.to(0.5, { opacity: 0 })
.start()
tween(labelNode.children[idx])
.to(0.3, {
scale: new Vec3(1.3, 1.3, 1),
position: new Vec3(labelNode.children[idx].getPosition().x, 150, 0)
})
.to(0.7, {
position: new Vec3((labelNode.children[posArr[0]].getPosition().x + labelNode.children[posArr[posArr.length - 1]].getPosition().x) / 2, 150, 0)
})
.call(() => {
labelNode.children[idx].active = false
if (idx == posArr[posArr.length - 1]) {
//数字合并然后飞到信息栏
AudioManager.instance.playSFX("multi_total_Sound")
let totalMulti = multNode.parent.getChildByName('totalMulti')
totalMulti.active = true
totalMulti.setPosition(new Vec3((labelNode.children[posArr[0]].getPosition().x + labelNode.children[posArr[posArr.length - 1]].getPosition().x) / 2 + 115, -65, 0))
totalMulti.getComponent(Label).string = "x" + winMulti.toString()
tween(totalMulti)
.to(0.5, { position: new Vec3(0, isfree ? -395 : -500, 0) })
.call(() => {
totalMulti.active = false
AudioManager.instance.playSFX('Appear__multi__Win_Sound');
this.showWinScore(
true,
false,
false,
false,
false,
true,
Score
);
})
.start()
}
})
.start()
}
} else {
if (multiArr[4]) {
multiArr[4] = multiArr[3] + 2
} else {
multiArr.push(multiArr[3] + 2)
}
for (let i = 0; i < multiArr.length; i++) {
labelNode.children[i].getComponent(Label).string = 'x' + multiArr[i]
multNode.children[i].getComponent(Sprite).spriteFrame = multiArr[i] >= 4 ? this.multiFrame[1] : this.multiFrame[0]
}
}
}
getNewMulti(isfree: boolean, multiPos: any) {
let multiNode = isfree ? this.freeMulti : this.multi
let labelNode = isfree ? this.freeMulti.parent.getChildByName('label') : this.multi.parent.getChildByName('label')
let deleteNum = 0
for (let key in multiPos) {
let idx = Number.parseInt(key)
multiNode.children[idx - deleteNum].removeFromParent()
labelNode.children[idx - deleteNum].removeFromParent()
deleteNum++
}
//生成新的multi节点
for (let key in multiPos) {
let newMultiNode = instantiate(this.multiPre)
let newMultiLabelNode = instantiate(this.multiLabelPre)
newMultiLabelNode.getComponent(Label).string = 'x' + (Number.parseFloat(labelNode.children[labelNode.children.length - 1].getComponent(Label).string.slice(1)) + 2).toString()
multiNode.addChild(newMultiNode)
labelNode.addChild(newMultiLabelNode)
newMultiNode.setPosition(900, 80, 0)
newMultiLabelNode.setPosition(900, 80, 0)
}
/**
* ratio: 曲线已完成的比例
*
* controlPos: 曲线拐弯点
*
* tempVec: 当前位置
*/
const quadraticCurve = (ratio: number, startPos: Vec3, controlPos: Vec3, endPos: Vec3, tempVec: Vec3) => {
tempVec.x = (1 - ratio) * (1 - ratio) * startPos.x + 2 * ratio * (1 - ratio) * controlPos.x + ratio * ratio * endPos.x;
tempVec.y = (1 - ratio) * (1 - ratio) * startPos.y + 2 * ratio * (1 - ratio) * controlPos.y + ratio * ratio * endPos.y;
tempVec.z = (1 - ratio) * (1 - ratio) * startPos.z + 2 * ratio * (1 - ratio) * controlPos.z + ratio * ratio * endPos.z;
}
const tempVec3 = v3();
let delay = 0
multiNode.children.forEach((child, idx) => {
if (child.getPosition().y == 35) {
tween(child)
.to(0.5, { position: multiPositionArr[idx] })
.start()
tween(labelNode.children[idx])
.to(0.5, { position: multiPositionArr[idx] })
.start()
} else {
if (idx != 4) {
tween(child)
.delay(delay)
.to(0.2, { position: multiPositionArr[4] })
.to(0.2, { position: multiPositionArr[3] }, {
onUpdate: (target, ratio) => {
quadraticCurve(ratio, multiPositionArr[4], v3(280, 140, 0), multiPositionArr[3], tempVec3);
child.setPosition(tempVec3);
}
})
.to(0.3, { position: multiPositionArr[idx] })
.start()
tween(labelNode.children[idx])
.delay(delay)
.to(0.2, { position: multiPositionArr[4] })
.to(0.2, { position: multiPositionArr[3] }, {
onUpdate: (target, ratio) => {
quadraticCurve(ratio, multiPositionArr[4], v3(280, 140, 0), multiPositionArr[3], tempVec3);
labelNode.children[idx].setPosition(tempVec3);
}
})
.to(0.3, { position: multiPositionArr[idx] })
.start()
} else {
tween(child)
.delay(delay)
.to(0.2, { position: multiPositionArr[4] })
.start()
tween(labelNode.children[idx])
.delay(delay)
.to(0.2, { position: multiPositionArr[4] })
.start()
}
delay += 0.3
}
})
}
setWaysCount(ways: any) {
@ -383,8 +557,18 @@ export class SlotGame extends Component {
// icon掉落的逻辑
iconFallDown() {
this.setWaysCount(this.spinData.Symbol.WaysNum);
this.rollerManager.iconFallDown(this.spinData);
//消除掉落时已有三个scatter触发延时一会儿以及心跳声
if (this.rollerManager.checkNextRollerExpect(6, 3)) {
AudioManager.instance.playSFX('Appear_Scatter_Sound_elimin', 1, true)
this.scheduleOnce(() => {
AudioManager.instance.stopAllSFX()
this.setWaysCount(this.spinData.WaysNum);
this.rollerManager.iconFallDown(this.spinData);
}, 2)
} else {
this.setWaysCount(this.spinData.WaysNum);
this.rollerManager.iconFallDown(this.spinData);
}
}
@ -438,7 +622,7 @@ export class SlotGame extends Component {
}
showWinScore(bol: boolean, isFirstWin: boolean, isBigWin: boolean, isReconnect: boolean, isNormalTotalWin: boolean, score?: number) {
showWinScore(bol: boolean, isFirstWin: boolean, isBigWin: boolean, isReconnect: boolean, isNormalTotalWin: boolean, isShowWinLabel?: boolean, score?: number) {
// 隐藏
if (!bol) {
this.normalWin.active = false;
@ -463,6 +647,7 @@ export class SlotGame extends Component {
} else {
if (isNormalTotalWin) {
if (!isReconnect) {
AudioManager.instance.playSFX('Appear_Small_Total_Win_Sound');
}
this.normalWinSprite.active = false;
@ -471,7 +656,7 @@ export class SlotGame extends Component {
if (!isReconnect) {
// AudioManager.instance.playSFX('Appear_Normal_Win_Sound');
}
this.normalWinSprite.active = true;
this.normalWinSprite.active = isShowWinLabel;
this.normalTotalWinSprite.active = false;
}
this.normalWinLabel.string = gold2cash(score);
@ -597,7 +782,7 @@ export class SlotGame extends Component {
this.readyHand.setPosition(posX, 270, 0);
this.grayNode.active = true;
this.grayNode.children.forEach((child, index) => {
if (index <= rollerId) {
if (index < rollerId) {
child.active = true;
} else {
child.active = false;

View File

@ -215,7 +215,7 @@ export class SlotScene extends Component {
AudioManager.instance.playBGM("Normal_Mode_BGM");
}
this.slotGame.setWaysCount(this.spinData.Symbol.WaysNum);
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, this.gameState.isInFreeSpin);
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, this.spinData.WinInfo ? this.spinData.WinInfo.MultPos : null, this.spinData.WinInfo ? this.spinData.WinInfo.Score : null, this.spinData.Symbol.WinMulti, this.gameState.isInFreeSpin);
this.slotGame.setRollerIconRule(rollerIconRule);
let frb = GameDataManager.instance.frb;
@ -235,6 +235,8 @@ export class SlotScene extends Component {
// 当前盘面有分数,有消除,则播放消除动画
if (this.spinData.AllScore != 0 && this.spinData.WinInfo != null) {
this.slotGame.deleteIconNode();
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, this.spinData.WinInfo.MultPos, this.spinData.Symbol.WinMulti, this.spinData.WinInfo.Score, this.gameState.isInFreeSpin);
this.playElemWinAnimation();
} else {
this.gameState.isInFreeSpin
@ -353,7 +355,7 @@ export class SlotScene extends Component {
let errCode = parseInt(error.message.split("#")[0]);
if (isNaN(errCode)) {
this.showErrorTip(4);
ErrorManager.instance.reportError("onSpinBtnClick: " + error.message);
// ErrorManager.instance.reportError("onSpinBtnClick: " + error.message);
} else {
this.showErrorTip(errCode);
}
@ -503,7 +505,10 @@ export class SlotScene extends Component {
// return;
if (this.checkHasEliminate()) {
this.slotGame.deleteIconNode();
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, this.spinData.WinInfo.MultPos, this.spinData.Symbol.WinMulti, this.spinData.WinInfo.Score, this.gameState.isInFreeSpin);
this.playElemWinAnimation(true);
} else {
if (this.gameState.isInFreeSpin) {
if (this.gameState.isFirstFreeSpin) {
@ -573,6 +578,9 @@ export class SlotScene extends Component {
this.lastSpinInfo = this.spinInfo;
this.isReceiveMsg = true;
this.slotGame.getNewMulti(this.gameState.isInFreeSpin, this.spinData.WinInfo.MultPos)
// 处理数据
this.spinData = this.spinInfo.Data;
// 改变图标框和图标
@ -582,14 +590,13 @@ export class SlotScene extends Component {
} else {
this.slotGame.playNormalMultiAni(true);
}
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, this.gameState.isInFreeSpin);
// 创建新图标
this.slotGame.createNewIconTop(this.spinData);
} catch (error) {
this.isErr = true
let errCode = parseInt(error.message.split("#")[0]);
if (isNaN(errCode)) {
ErrorManager.instance.reportError("onIconsDeleted: " + error.message);
// ErrorManager.instance.reportError("onIconsDeleted: " + error.message);
this.showErrorTip(5, () => {
this.deletedRetryCount++;
if (this.deletedRetryCount < 5) {
@ -607,13 +614,19 @@ export class SlotScene extends Component {
}
onIconsCreated() {
this.slotGame.iconFallDown();
// let delay = (this.spinData.WinInfo && this.spinData.WinInfo.MultPos) ? 1 : 0
this.scheduleOnce(() => {
this.slotGame.iconFallDown();
}, 0.5)
}
onIconsFallen() {
this.checkHasGame();
if (this.checkHasEliminate()) {
this.slotGame.deleteIconNode();
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, this.spinData.WinInfo.MultPos, this.spinData.Symbol.WinMulti, this.spinData.WinInfo.Score, this.gameState.isInFreeSpin);
this.playElemWinAnimation();
} else {
if (this.gameState.isInFreeSpin) {
@ -676,7 +689,8 @@ export class SlotScene extends Component {
false,
false,
false,
this.spinData.Score
this.spinData.Symbol.WinMulti == 0,
this.spinData.WinInfo.Score / (this.spinData.Symbol.WinMulti != 0 ? this.spinData.Symbol.WinMulti : 1)
);
this.slotBar.setWin(this.spinData.AllScore);
}
@ -780,10 +794,12 @@ export class SlotScene extends Component {
true,
isReconnect,
false,
true,
this.spinData.AllScore
);
this.slotBar.setWin(this.spinData.AllScore);
this.slotGame.changeBg(false);
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, null, null, 0, false)
this.checkAutoSpin(true, isReconnect);
AudioManager.instance.playBGM("Normal_Mode_BGM");
return
@ -797,10 +813,12 @@ export class SlotScene extends Component {
true,
isReconnect,
false,
true,
this.spinData.AllScore
);
this.slotBar.setWin(this.spinData.AllScore);
this.slotGame.changeBg(false);
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, null, null, 0, false)
this.checkAutoSpin(true, isReconnect);
AudioManager.instance.playBGM("Normal_Mode_BGM");
});
@ -811,17 +829,20 @@ export class SlotScene extends Component {
true,
isReconnect,
false,
true,
this.spinData.AllScore
);
this.slotBar.setWin(this.spinData.AllScore);
this.slotBar.setBalance(this.spinData.Balance);
this.slotGame.changeBg(false);
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, null, null, 0, false)
this.checkAutoSpin(true, isReconnect);
AudioManager.instance.playBGM("Normal_Mode_BGM");
}
} else {
this.checkAutoSpin(true, isReconnect);
this.slotGame.changeBg(false);
this.slotGame.setMultiLabel(this.spinData.Symbol.MultiValue, null, null, 0, false)
}
}
@ -853,23 +874,29 @@ export class SlotScene extends Component {
}
// 3,4,5
let delay = 0.5
// if (this.spinData.Symbol.WinMulti != 0) {
// delay = 1.2
// }
this.scheduleOnce(() => {
let score = isFreeSpin
? this.spinData.RoundInfo.Score
: this.spinData.AllScore;
if (winType >= WIN_TYPE.BIG_WIN) {
this.BigWinUI.setCloseCallBack(() => {
this.slotGame.showWinScore(true, false, true, false, false, score);
this.slotGame.showWinScore(true, false, true, false, false, true, score);
this.slotBar.setWin(this.spinData.AllScore);
callback?.();
});
this.BigWinUI.show(score, winType, this.slotBar.getBet());
} else {
this.slotGame.showWinScore(true, false, false, false, true, score);
this.slotGame.showWinScore(true, false, false, false, true, true, score);
this.slotBar.setWin(this.spinData.AllScore);
callback?.();
}
}, 0.5);
}, delay);
}
// 错误码提示

View File

@ -133,6 +133,8 @@ export class History extends Component {
}
async getHistoryList(startTime, endTime, lastID) {
let res = await getHistory({
@ -402,7 +404,7 @@ export class History extends Component {
this.node_detail.addChild(history_detail)
const comp = history_detail.getComponent("HistoryDetail") as any
comp.setDetailData(this.DataArr[roundId], getLanguage())
comp.setDetailData(this.DataArr[roundId], getLanguage(),)
const self = this
history_detail.position = new Vec3(1080, 0)

View File

@ -1,6 +1,7 @@
import { _decorator, assetManager, AssetManager, Button, Color, Component, instantiate, JsonAsset, Label, Layout, Node, resources, ScrollView, sp, Sprite, SpriteAtlas, SpriteFrame, tween, UITransform, Vec3 } from 'cc';
import { _decorator, assetManager, AssetManager, Button, Color, Component, Font, instantiate, JsonAsset, Label, Layout, Node, resources, ScrollView, sp, Sprite, SpriteAtlas, SpriteFrame, tween, UITransform, Vec3 } from 'cc';
import { ScrollControl } from './ScrollControl';
import { fixNum, getTimezoneOffsetString, getTranslate, hideAllChildren, isBrahmic, updateLang, waitNextFrame } from './Tools';
import { getHistoryDetails } from 'db://assets/Loading/scripts/comm';
const { ccclass, property } = _decorator;
@ccclass('HistoryDetail')
@ -44,8 +45,12 @@ export class HistoryDetail extends Component {
@property([SpriteFrame])
multiFrame = new Array<SpriteFrame>;
@property([Font])
multiLabelFont = new Array<Font>;
dict = null
data: any = null
roundId: any = null
protected onLoad(): void {
this.node.on("show_history_formula_detail", this.showFormulaDetail, this)
@ -75,8 +80,8 @@ export class HistoryDetail extends Component {
setDetailData(data, lang: string) {
this.data = null
this.data = JSON.parse(JSON.stringify(data));
this.roundId = data.roundId
this.dict = this.langJson.json[lang] ?? this.langJson.json["en"];
updateLang(this.node, this.dict, lang)
@ -398,26 +403,16 @@ export class HistoryDetail extends Component {
multiValue.push(multiValue[3] + 2)
for (let i = 0; i < multiValue.length; i++) {
showMultiNode.getChildByName('bg').children[i].getChildByName('multi').getComponent(Label).string = 'x' + multiValue[i]
showMultiNode.getChildByName('bg').children[i].getChildByName('multi').getComponent(Label).font = this.multiLabelFont[0]
showMultiNode.getChildByName('bg').children[i].getChildByName('multi').setPosition(0, 0, 0)
switch (true) {
case multiValue[i] <= 4:
showMultiNode.getChildByName('bg').children[i].getComponent(Sprite).spriteFrame = this.multiFrame[0]
break
case multiValue[i] <= 8 && multiValue[i] > 4:
showMultiNode.getChildByName('bg').children[i].getComponent(Sprite).spriteFrame = this.multiFrame[1]
break
case multiValue[i] <= 16 && multiValue[i] > 8:
showMultiNode.getChildByName('bg').children[i].getComponent(Sprite).spriteFrame = this.multiFrame[2]
break
case multiValue[i] > 16:
showMultiNode.getChildByName('bg').children[i].getComponent(Sprite).spriteFrame = this.multiFrame[3]
break
}
showMultiNode.getChildByName('bg').children[i].getComponent(Sprite).spriteFrame = multiValue[i] >= 4 ? this.multiFrame[1] : this.multiFrame[0]
}
if (pan.WinInfo && pan.WinInfo.MultPos) {
for (let key in pan.WinInfo.MultPos) {
showMultiNode.getChildByName('bg').children[key].getChildByName('multi').setPosition(0, 110, 0)
showMultiNode.getChildByName('bg').children[key].getChildByName('multi').getComponent(Label).font = this.multiLabelFont[1]
showMultiNode.getChildByName('bg').children[key].getComponent(Sprite).spriteFrame = pan.WinInfo.MultPos[key] >= 4 ? this.multiFrame[4] : this.multiFrame[3]
}
}
@ -533,8 +528,11 @@ export class HistoryDetail extends Component {
const currencySymbol = this.data.currencySymbol
const currency = this.data.currency
const scoreInfos = this.data.panDetails[0].ScoreInfos
let historyDetails = await getHistoryDetails({
GameId: "rp_11001",
Id: this.roundId
})
const scoreInfos = historyDetails.panDetails[0].ScoreInfos
const btn_winning_list = this.pnl_title.getChildByName("txt_spin").getChildByName("btn_winning_list").getComponent(Button)
const sp = this.pnl_title.getChildByName("txt_spin").getChildByName("sp")
if (scoreInfos) {
@ -547,12 +545,12 @@ export class HistoryDetail extends Component {
}
this.data.panDetails.forEach(async (pan, idx) => {
historyDetails.panDetails.forEach(async (pan, idx) => {
const item = instantiate(this.item_detail);
item.active = true
this.loadOne(item, pan, idx)
if (idx == this.data.panDetails.length - 1) {
if (idx == historyDetails.panDetails.length - 1) {
// console.log("已全部生成完")
this.hideLoading()
this.scrollControl.jumpToPage(0)

View File

@ -1,4 +1,4 @@
import { _decorator, Component, Mask, Node, Sprite, SpriteFrame, UITransform, UITransformComponent, v3, Vec3 } from 'cc';
import { _decorator, Component, Mask, Node, Sprite, SpriteFrame, UITransform, v3, Vec3 } from 'cc';
import { IconFactory } from './IconFactory';
import { Roller } from './Roller';
import { GameData, ICON_HEIGHT, ICON_WIDTH, ROLLER_COMBINE_EVENT, ROLLER_EVENT } from './Define';
@ -111,10 +111,10 @@ export class RollerManager extends Component {
maskNode.name = name;
let comp = maskNode.addComponent(Mask);
let UITransform = maskNode.addComponent(UITransformComponent);
let UIComponent = maskNode.addComponent(UITransform);
comp.type = Mask.Type.GRAPHICS_RECT;
UITransform.setContentSize(1040, 840)
UIComponent.setContentSize(1040, 840)
// let spriteCom = maskNode.getComponent(Sprite);
// spriteCom.spriteFrame = spriteFrame;
// spriteCom.sizeMode = Sprite.SizeMode.CUSTOM;
@ -719,9 +719,9 @@ export class RollerManager extends Component {
// 11. 添加清理函数,根据需要在适当时机调用
this.scheduleOnce(() => {
AudioManager.instance.playSFX('Win_Eliminate_Sound');
if (rollerAniPos.size > 0) {
AudioManager.instance.playSFX('Symbol_Change_Sound');
}
// if (rollerAniPos.size > 0) {
// AudioManager.instance.playSFX('Symbol_Change_Sound');
// }
this.returnIconsFromWinLayer(winLayerRef, positionsCopy);
}, 1.1); // 在动画结束前稍早将图标移回
}

View File

@ -7,7 +7,7 @@ import { PREVIEW } from "cc/env"
const gameId = "rp_11001";
// let apiaddr = "https://rpgames-api.rpfafafahkdev.com";
let apiaddr = "";
let token = "eyJQIjoxMDA5NDksIkUiOjE3NjUyODkzMTIsIlMiOjk5NywiRCI6InJwXzExMDAxIn0.Km1fhP5KOjl2oHB3yh83tyMGIjI91N4Wa--asEXGhOE";
let token = "eyJQIjoxMDA5NDksIkUiOjE3NjU4OTI5MzIsIlMiOjEwMDUsIkQiOiJycF8xMTAwMSJ9.4h45W6VsrJa6qasjgMRCCpoANwLSkxkyvI_pOl_gK8Q";
let language = "en"
@ -199,6 +199,37 @@ export async function getHistory(argsObj: any) {
return obj
}
export async function getHistoryDetails(argsObj: any) {
// https://rpgames-api.rpfafafahkdev.com/gameapi/rp_11001/gameinfo
// https://rpgames-api.rpfafafahkdev.com/gameapi/history
// const resp = await callGameApi("history", argsObj)
// callGameApi 会多拼一截gameId , history单独写
const url = apiaddr + path.join("/gameapi/", "historyDetails")
const payload = JSON.stringify(argsObj)
const res = await fetch(url, {
signal: AbortSignal.timeout(10000),
headers: {
"Content-Type": "application/json",
"X-Rp-Token": token,
},
method: "POST",
body: payload,
mode: 'cors',
})
if (res.status != 200) {
const errstr = await res.text()
throw new Error(errstr || res.statusText)
}
const obj = await res.json()
return obj
}
// 取消逗号,转换为数字
export function cash2gold(v: string): number {
v = v.replace(/,/g, '');

View File

@ -173,7 +173,6 @@ export class LoadingUI extends Component {
private onLoadComplete() {
// 开始游戏
// AudioManager.instance.playBGM('Normal_Mode_BGM');
this.scheduleOnce(() => {
this.loadingTipLabel.string = '';
this.retryTipLabel.string = '';

View File

@ -43,7 +43,7 @@ export class AudioManager {
}
private loadAudioClips() {
resources.loadDir("audio", AudioClip, (err, clips) => {
resources.loadDir("audio2", AudioClip, (err, clips) => {
if (err) {
console.error("加载音频资源失败:", err);
return;
@ -70,9 +70,8 @@ export class AudioManager {
this._isPaused = false;
}
playSFX(name: string, volume: number = 1.0) {
playSFX(name: string, volume: number = 1.0, loop: boolean = false) {
if (this._isMuted) return;
let clip = this._audioClips.get(name);
if (!clip) {
console.warn(`音效 ${name} 不存在`);
@ -84,8 +83,13 @@ export class AudioManager {
if (availableSource) {
// 确保音量正确
availableSource.volume = volume;
availableSource.clip = clip;
// 播放新音效
availableSource.playOneShot(clip, volume);
availableSource.loop = loop;
availableSource.play()
} else {
// 如果没有空闲的AudioSource创建一个新的
let sfxNode = new Node(`SFX_${this._sfxAudioSources.length}`);
@ -93,8 +97,11 @@ export class AudioManager {
let newSource = sfxNode.addComponent(AudioSource);
newSource.playOnAwake = false;
newSource.volume = volume;
newSource.clip = clip;
this._sfxAudioSources.push(newSource);
newSource.playOneShot(clip, volume);
newSource.loop = loop;
newSource.play()
}
}

View File

@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "f15d1198-94a9-4756-bbca-0b7abf3b3a51",
"files": [],
"subMetas": {},
"userData": {}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "a2685682-cefe-455d-af00-883496c87f1f",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "cab4655f-8052-49ca-9f46-00fdbc63c3eb",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "ac184e98-ced6-4ad5-ac36-4ca4dc336050",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "261dad0a-d37f-4a2c-a324-db2d323a2795",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "dd9e914f-d83b-43b2-80fc-79152cd174b0",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "f7ced586-0b0b-4459-8ed7-e6a7c5ef733a",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "4c46d093-4904-4085-84d7-23c3ee2874b7",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "ccce47e8-3a7b-4852-b224-6ceede956e2f",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "9290e764-5657-47ce-86b0-ee607a2baaab",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "b928ff3c-3915-436a-8140-5954647bdf1f",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "e6bf13f5-950e-49b1-917e-c9e0e724f04f",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "522847bb-b3d1-4b32-890a-eb44ca481772",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "604456ab-785c-4048-a290-bf87d7ab3e8a",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "9f5c6305-4015-4cb0-bb74-e5f3e1aef96e",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "81b227e1-0eac-47d5-98e8-77daaf1012e1",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "08c8fc55-a85e-48bf-a9e2-d3528bdd39c6",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "4d1a8317-3ad9-4209-a379-c821a6ebb47c",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "035638e3-b027-4824-8ad3-85b6f2e8c1ca",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1 @@
{"ver":"1.0.0","importer":"audio-clip","imported":true,"uuid":"9bf711c3-55a3-4191-ab51-a9a3c4049978","files":[".json",".mp3"],"subMetas":{},"userData":{"downloadMode":0}}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "ef1e4434-8357-40ee-827f-edf546830c63",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "40d10e3a-172b-4608-8110-3f5c1fe5812c",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "dda2038a-4479-49cc-b40a-727e21bc7cce",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "8e58f4b8-0096-47ae-a83d-c408b0a71443",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "e26f65ca-ab93-483c-83ad-65d5e7d87246",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "fdfa79bd-6f7a-4e22-82ab-ab9c4ca1e07e",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "9e5b40bc-a666-43db-a0f2-55d4bb0d71e9",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "4eacd8be-7a8c-49cd-a8cc-42d031a02182",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "601333a6-5432-4707-a93b-2196ce184a9c",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "9680e07c-99e1-4aad-b4b5-f63cd34e25d7",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}

Binary file not shown.

View File

@ -0,0 +1,14 @@
{
"ver": "1.0.0",
"importer": "audio-clip",
"imported": true,
"uuid": "868cc5ce-8698-44fa-bdfe-0bdadcacb25a",
"files": [
".json",
".mp3"
],
"subMetas": {},
"userData": {
"downloadMode": 0
}
}