mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-06-26 19:34:47 +00:00
68 lines
1.4 KiB
TypeScript
68 lines
1.4 KiB
TypeScript
import { app } from "../App";
|
|
import { API, ResourceOV } from "../consts/API";
|
|
import BaseData from "./BaseData";
|
|
|
|
export enum ResourceEvent{
|
|
UPDATE = "ResourceEvent_UPDATE", //刷新资源
|
|
}
|
|
|
|
//资源类型
|
|
export enum ResourceType{
|
|
Gold = 90001, //金币
|
|
}
|
|
|
|
//资源刷新类型
|
|
export enum ResourceUpdateType{
|
|
UPDATE = 0, //刷新资源数量
|
|
MINUS = 1, //减少资源数量
|
|
ADD = 2, //添加资源数量
|
|
}
|
|
|
|
//玩家资源数据
|
|
export default class ResourceData extends BaseData{
|
|
|
|
//资源数据 {资源Id:资源数量}
|
|
data:{[key:number]:number} = {};
|
|
|
|
//初始化
|
|
async onInit() {
|
|
await this.onUpdateResource();
|
|
}
|
|
|
|
//更新玩家资源
|
|
async onUpdateResource(){
|
|
|
|
//请求资源
|
|
let res = await API.GetPlayerResource();
|
|
|
|
//保存资源数量
|
|
res.forEach(data => {
|
|
this.data[data.resourceTbId] = data.resourceValue;
|
|
})
|
|
|
|
}
|
|
|
|
//获取指定资源的数量
|
|
getValue(type:ResourceType){
|
|
return this.data[type] || 0;
|
|
}
|
|
|
|
//刷新返回资源
|
|
onUpdateOV(operation:number,resource:ResourceOV){
|
|
|
|
//如果没有刷新的资源 则 返回
|
|
if(!resource) return;
|
|
|
|
if(operation == ResourceUpdateType.UPDATE){
|
|
//更新资源
|
|
this.data[resource.resourceTbId] = resource.resourceValue;
|
|
app.event.emit(ResourceEvent.UPDATE)
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|