Commit d449fb88 authored by haiyoucuv's avatar haiyoucuv

init

parent c74f59ed
This diff is collapsed.
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "a24bae72-cd44-4348-8911-01bab1ebf50e",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "NoPrizePanel"
}
}
This diff is collapsed.
import { _decorator, Button, Label, Node, Sprite, SpriteFrame } from 'cc';
import { AudioClipName, AudioMgr } from "db://assets/core/base/AudioMgr";
import Panel from "db://assets/core/Module/Panel";
import { changeScene } from "db://assets/core/Module/UIFast";
import { HomeScene } from "db://assets/Scripts/Scenes/HomeScene";
const { ccclass, property } = _decorator;
@ccclass('NoPrizePanel')
export class NoPrizePanel extends Panel {
static skin: string = "NoPrizePanel";
static bundle: string = "GamePanel";
@property(Node) okBtn: Node = null;
@property(Node) closeBtn: Node = null;
@property(Label) tip: Label = null;
@property(Label) tip2: Label = null;
onLoad() {
super.onLoad();
this.okBtn.on(Button.EventType.CLICK, this.ok, this);
this.closeBtn.on(Button.EventType.CLICK, this.cancel, this);
}
start(): void {
}
cancel = () => {
AudioMgr.ins.playOneShot(AudioClipName.button_ok);
this.hidePanel();
}
ok = () => {
AudioMgr.ins.playOneShot(AudioClipName.button_ok);
this.hidePanel();
changeScene(HomeScene);
}
}
{"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"c7e02c3f-4c04-4a65-9e9c-698ee23e653b","files":[],"subMetas":{},"userData":{}}
import { _decorator, Button, Label, Node, Sprite, SpriteFrame } from 'cc';
import { AudioClipName, AudioMgr } from "db://assets/core/base/AudioMgr";
import Panel from "db://assets/core/Module/Panel";
import { changeScene } from "db://assets/core/Module/UIFast";
import { HomeScene } from "db://assets/Scripts/Scenes/HomeScene";
const { ccclass, property } = _decorator;
@ccclass('PrizePanel')
export class PrizePanel extends Panel {
static skin: string = "PrizePanel";
static bundle: string = "GamePanel";
@property(Node) okBtn: Node = null;
@property(Node) closeBtn: Node = null;
@property(Label) levelNum: Label = null;
@property(Label) boxNum: Label = null;
onLoad() {
super.onLoad();
this.okBtn.on(Button.EventType.CLICK, this.ok, this);
this.closeBtn.on(Button.EventType.CLICK, this.cancel, this);
}
start(): void {
}
cancel = () => {
AudioMgr.ins.playOneShot(AudioClipName.button_ok);
this.hidePanel();
}
ok = () => {
AudioMgr.ins.playOneShot(AudioClipName.button_ok);
this.hidePanel();
changeScene(HomeScene);
}
}
{"ver":"4.0.24","importer":"typescript","imported":true,"uuid":"8be1d565-3d12-4c16-a6ac-e5092994e62b","files":[],"subMetas":{},"userData":{}}
import { _decorator, assetManager, Button, Label, loadWasmModuleBullet, Node } from "cc"; import {
_decorator,
Button,
instantiate,
Label,
loadWasmModuleBullet,
Node,
Prefab,
ProgressBar,
Sprite,
SpriteFrame
} from "cc";
import Scene from "db://assets/core/Module/Scene"; import Scene from "db://assets/core/Module/Scene";
import { changeScene, hideWaiting, showPanel, showWaiting } from "db://assets/core/Module/UIFast"; import { changeScene, showPanel } from "db://assets/core/Module/UIFast";
import store from "../store/store"; import store from "../store/store";
import { observer, render } from "../store/decorators"; import { observer, render } from "../store/decorators";
import { _asyncThrottle } from "../Utils/Utils"; import { _asyncThrottle } from "../Utils/Utils";
import { MainGame } from "./MainGame/MainGame"; import { MainGame } from "./MainGame/MainGame";
import { sendWebNet, WebNetName } from "db://assets/Scripts/Utils/WebNet/WebNet";
import { BoxPanel } from "db://assets/Scripts/Panels/BoxPanel";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
...@@ -20,30 +33,75 @@ export class HomeScene extends Scene { ...@@ -20,30 +33,75 @@ export class HomeScene extends Scene {
@property(Node) startBtn: Node = null; @property(Node) startBtn: Node = null;
@property(Label) timesLabel: Label = null; @property(Label) timesLabel: Label = null;
@property(ProgressBar) progress: ProgressBar = null;
@property(Node) boxRoot: Node = null;
@property(Prefab) boxItemPrefab: Prefab = null;
@property(SpriteFrame) boxStatus1: SpriteFrame = null;
@property(SpriteFrame) boxStatus2: SpriteFrame = null;
@property(SpriteFrame) boxStatus3: SpriteFrame = null;
onLoad() { onLoad() {
this.startBtn.on(Button.EventType.CLICK, this.clickStart, this); this.startBtn.on(Button.EventType.CLICK, this.clickStart, this);
} }
async start() { async start() {
showWaiting(); if (this.data.from != "Loading") {
await store.updateIndex(); await store.updateIndex();
hideWaiting() }
const {
firstEntryFlag,
} = store.homeInfo || {};
} }
@render @render
render() { render() {
const { const {
nickname = "", freeTimes = 0,
boxConfigs = [],
} = store.homeInfo || {}; } = store.homeInfo || {};
} if (+freeTimes) {
this.timesLabel.string = `免费次数:${freeTimes}`;
} else {
this.timesLabel.string = `20积分/次`;
}
this.boxRoot.removeAllChildren();
const len = boxConfigs.length;
let maxIndex = 0;
for (let i = 0; i < boxConfigs.length; i++) {
const { id, status, targetLevel } = boxConfigs[i];
const item = instantiate(this.boxItemPrefab);
const sp = item.getComponent(Sprite);
const txt = item.getComponentInChildren(Label);
txt.string = `通过${targetLevel}关`;
if (+status === 2 || +status === 3) {
sp.spriteFrame = this[`boxStatus${status}`];
maxIndex = Math.max(maxIndex, i + 1);
} else {
sp.spriteFrame = this.boxStatus1;
}
this.boxRoot.addChild(item);
item.setPosition(-500 / 2 + (i + 1) / len * 500, 0);
item.on(Button.EventType.CLICK, this.openBox.bind(this, boxConfigs[i]), this);
}
this.progress.progress = maxIndex / len;
}
openBox = _asyncThrottle(async function (item) {
const { id, status, targetLevel } = item;
if (+status != 2) return;
const { success, data } = await sendWebNet(WebNetName.openBox, { id });
if (!success) return;
await showPanel(BoxPanel, data);
}, 500)
clickStart = _asyncThrottle(async () => { clickStart = _asyncThrottle(async () => {
await loadWasmModuleBullet(); await loadWasmModuleBullet();
......
...@@ -10,136 +10,20 @@ const { makeAutoObservable } = mobx; ...@@ -10,136 +10,20 @@ const { makeAutoObservable } = mobx;
export interface IHomeInfo { export interface IHomeInfo {
creditsNum: number;
signPopFlag: boolean;
continueSignDays: number;
nickname: string;
avatar: string;
newGetSpId: string;
newGetSpName: string;
newGetSpImage: string;
luckBenefitDesc: string;
benefitDesc: string;
firstEntryFlag: boolean;
rankInfos: {
index: number;
nickname: string;
avatar: string;
}[];
rankPopList: {
rankType: 1 | 2;
openDate: string;
index: number;
prizeId: string;
prizeName: string;
prizeImage: string;
count: number;
}[];
actStartTime: number; actStartTime: number;
actEndTime: number; actEndTime: number;
currentTime: number;
normalNum: number; ruleImage: string;
goldNum: number; freeTimes: number;
boolRankChange: boolean; creditsNum: number;
gameCreditsEach: number;
currentPoolGoldNum: number; boxConfigs: {
currentPoolNormalNum: number; id: string;
targetLevel: string;
remainCredits: number; status: "1" | "2" | "3";
}[]
boolJoinRank: boolean;
eachLuckCredits: number;
poolConfig: {
normalNum: number;
goldNum: number;
};
userId: string;
currentMultiple: {
doubleStartTime: number;
doubleEndTime: number;
rate: number;
awardNormalNum: number;
awardGoldNum: number;
};
// 当前体力配置
currentEnergy: {
initEnergy: number;
energyLimit: number;
eachEnergyTime: number;
fullEnergyTime: number;
exchangeEnergyConfigs: {
creditNum: number;
awardNum: number;
id: number;
}
};
taskCompletePops?: {
taskCode: string;
awardSpId: string;
awardNum: number;
times: number;
}[];
// 结算弹窗
settlementPop?: {
boolShowPop: boolean;
oldRankMultiply: number;
newRankMultiply: number;
oldRankLevel: number;
newRankLevel: number;
rankList: {
nickName: string;
avatar: string;
rankScore: number;
boolMe: boolean;
rankOrder:number;
}[];
obtainScoreNum: number;
};
// 瓜分弹窗
dividePop?: {
boolShowPop: boolean;
creditsNum: number;
rankOrder: number;
rankMultiply: number;
obtainScoreNum: number;
};
actRuleImage: string;
lastPeriodSettlementTime: number;
gradeValue: number,
minJoinGrade: number,
} }
export interface IRankPopInfo{
// 结算弹窗
settlementPop?: {
boolShowPop: boolean;
oldRankMultiply: number;
newRankMultiply: number;
oldRankLevel: number;
newRankLevel: number;
rankList: {
nickName: string;
avatar: string;
rankScore: number;
boolMe: boolean;
rankOrder:number;
}[];
obtainScoreNum: number;
};
}
class Store { class Store {
frontVariable: { [key in string]: any } = {}; frontVariable: { [key in string]: any } = {};
...@@ -152,73 +36,15 @@ class Store { ...@@ -152,73 +36,15 @@ class Store {
this.frontVariable = data; this.frontVariable = data;
} }
homeInfo: IHomeInfo = { homeInfo: IHomeInfo = null;
actEndTime: 0,
actStartTime: 0,
avatar: "",
benefitDesc: "",
boolJoinRank: false,
lastPeriodSettlementTime: 0,
continueSignDays: 0,
creditsNum: 0,
currentEnergy: {
eachEnergyTime: 0,
energyLimit: 0,
exchangeEnergyConfigs: { awardNum: 0, creditNum: 0, id: 0 },
fullEnergyTime: 0,
initEnergy: 0
},
currentMultiple: { awardGoldNum: 0, awardNormalNum: 0, doubleEndTime: 0, doubleStartTime: 0, rate: 0 },
currentPoolGoldNum: 0,
currentPoolNormalNum: 0,
eachLuckCredits: 0,
firstEntryFlag: false,
goldNum: 0,
luckBenefitDesc: "",
newGetSpId: "",
newGetSpImage: "",
newGetSpName: "",
nickname: "",
normalNum: 0,
poolConfig: { goldNum: 0, normalNum: 0 },
rankInfos: [],
rankPopList: [],
remainCredits: 0,
signPopFlag: false,
boolRankChange: false,
userId: "",
actRuleImage:"",
gradeValue: 1,
minJoinGrade: 0,
};
updateId = 0;
rankPopInfo:IRankPopInfo={
settlementPop: {
boolShowPop: false,
oldRankMultiply: 0,
newRankMultiply: 0,
oldRankLevel: 0,
newRankLevel: 0,
rankList: [{
nickName: "",
avatar: "",
rankScore: 0,
boolMe: false,
rankOrder:0,
}],
obtainScoreNum: 0,
},
}
async updateIndex() { async updateIndex() {
const { success, data, timeStamp } = await sendWebNet(WebNetName.index); const { success, data, timeStamp } = await sendWebNet(WebNetName.index);
if (!success) { if (!success) {
return; return;
} }
NetTime.ins.setTime(timeStamp); NetTime.ins.setTime(timeStamp);
this.homeInfo = data; this.homeInfo = data;
this.updateId++;
} }
...@@ -231,18 +57,6 @@ class Store { ...@@ -231,18 +57,6 @@ class Store {
this.ruleInfo = data; this.ruleInfo = data;
} }
async updateEnergy() {
const { success, data, timeStamp } = await sendWebNet(WebNetName.energyDetail);
NetTime.ins.setTime(timeStamp);
if (!success) {
return;
}
this.homeInfo.currentEnergy = data.currentEnergy;
this.homeInfo.remainCredits = data.remainCredits;
this.updateId++;
}
checkActTime = (isAllow = false) => { checkActTime = (isAllow = false) => {
const { actStartTime, actEndTime } = this.homeInfo || {}; const { actStartTime, actEndTime } = this.homeInfo || {};
...@@ -275,11 +89,6 @@ class Store { ...@@ -275,11 +89,6 @@ class Store {
showToast(data.extra); showToast(data.extra);
} }
setRankPopInfo(rankInfo){
this.rankPopInfo.settlementPop = rankInfo;
// console.log("setRankPopInfo",this.rankPopInfo);
}
} }
......
...@@ -12,8 +12,6 @@ import { HomeScene } from "db://assets/Scripts/Scenes/HomeScene"; ...@@ -12,8 +12,6 @@ import { HomeScene } from "db://assets/Scripts/Scenes/HomeScene";
const { ccclass, property } = _decorator; const { ccclass, property } = _decorator;
const _FPS = 61;
@ccclass("Start") @ccclass("Start")
export class Start extends Component{ export class Start extends Component{
......
...@@ -5,8 +5,7 @@ ...@@ -5,8 +5,7 @@
"actEndTime": 1748510841196, "actEndTime": 1748510841196,
"currentTime": 1748500846900, "currentTime": 1748500846900,
"ruleImage": "//yun.dui88.com/images/201907/tua0um9jjp.jpg", "ruleImage": "//yun.dui88.com/images/201907/tua0um9jjp.jpg",
"guideFlag": true, "freeTimes": 6,
"freeTimes": 10,
"creditsNum": 100, "creditsNum": 100,
"gameCreditsEach": 100, "gameCreditsEach": 100,
"boxConfigs": [ "boxConfigs": [
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
"code": null, "code": null,
"data": { "data": {
"startId": "startId", "startId": "startId",
"guideFlag": true
}, },
"message": null, "message": null,
"success": true, "success": true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment