|
@@ -26,13 +26,18 @@ export enum data_type {
|
|
|
|
|
|
//每日数据
|
|
|
export enum day_data_type {
|
|
|
- sign_day = 'sign_day',//签到奖励
|
|
|
isFavorite = 'isFavorite',//是否收藏
|
|
|
+ pass_level = 'pass_level',//通关
|
|
|
+ combine_num = 'combine_num',//匹配成语
|
|
|
+ login_num = 'login_num',//登录奖励
|
|
|
+ use_item = 'use_item',//使用道具
|
|
|
+ watch_ad = 'watch_ad',//观看广告
|
|
|
+ task_reward_state = 'task_reward_state',//任务奖励是否领取
|
|
|
}
|
|
|
|
|
|
//每周数据
|
|
|
export enum week_data_type {
|
|
|
-
|
|
|
+ sign_day = 'sign_day',//签到奖励
|
|
|
}
|
|
|
|
|
|
//每月数据
|
|
@@ -49,12 +54,22 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
|
|
|
public static getInstance(gid: string, uid: string): PlayerData {
|
|
|
if (!this._instance) {
|
|
|
- this._instance = new PlayerData(gid, uid, "PlayerData", new Map([
|
|
|
- [data_type.max_floor, { min: 0 }],
|
|
|
- [data_type.coin, { min: 0 }]
|
|
|
- ]),
|
|
|
+ this._instance = new PlayerData(gid, uid, "PlayerData",
|
|
|
+ new Map([
|
|
|
+ [data_type.max_floor, { min: 0 }],
|
|
|
+ [data_type.coin, { min: 0 }]
|
|
|
+ ]),
|
|
|
+ new Map([
|
|
|
+ [day_data_type.isFavorite, { min: 0 }],
|
|
|
+ [day_data_type.pass_level, { min: 0, max: 5 }],
|
|
|
+ [day_data_type.combine_num, { min: 0, max: 100 }],
|
|
|
+ [day_data_type.login_num, { min: 0, max: 1 }],
|
|
|
+ [day_data_type.use_item, { min: 0, max: 3 }],
|
|
|
+ [day_data_type.watch_ad, { min: 0, max: 8 }],
|
|
|
+ ]),
|
|
|
+
|
|
|
new Map([
|
|
|
- [day_data_type.sign_day, { min: 0, max: 7 }],
|
|
|
+ [week_data_type.sign_day, { min: 0, max: 7 }],
|
|
|
]));
|
|
|
}
|
|
|
return this._instance;
|
|
@@ -66,6 +81,7 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
this.items.addItem({ type: 1, count: 1 });
|
|
|
this.items.addItem({ type: 2, count: 1 });
|
|
|
this.items.addItem({ type: 3, count: 1 });
|
|
|
+ this.items.addItem({ type: 5, count: 1 });
|
|
|
//道具初始化
|
|
|
ch.log.log("道具初始化", this);
|
|
|
}
|
|
@@ -91,12 +107,12 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
/**使用道具*/
|
|
|
async use_item(type: number, count: number = 1) {
|
|
|
// if (GameLink.getInst().state != GameState.wait) return;
|
|
|
- const layout=gui.get(UI_Main).getLayout<Layout_Main>();
|
|
|
+ const layout = gui.get(UI_Main).getLayout<Layout_Main>();
|
|
|
let ret = this.items.useCount(type, count);
|
|
|
if (ret) {
|
|
|
let b = true;
|
|
|
if (type == 1) {
|
|
|
- layout.Container.eliminate();
|
|
|
+ layout.Container.eliminate();
|
|
|
} else if (type == 2) {
|
|
|
layout.Container.shuffle();
|
|
|
} else if (type == 3) {
|
|
@@ -105,6 +121,7 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
if (!b) {
|
|
|
this.items.addCount(type, count);
|
|
|
} else {
|
|
|
+ this.set_use_item_num(1);
|
|
|
this.event.emit(this.event.key.item_count, ret.type, ret.count);
|
|
|
this.setDirty();
|
|
|
}
|
|
@@ -130,12 +147,12 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
|
|
|
//获取签到天数
|
|
|
public get_sign(): number {
|
|
|
- return this.day_data.get(day_data_type.sign_day);
|
|
|
+ return this.week_data.get(week_data_type.sign_day);
|
|
|
}
|
|
|
|
|
|
//设置签到天数
|
|
|
public set_sign(count: number) {
|
|
|
- this.day_data.set(day_data_type.sign_day, count);
|
|
|
+ this.week_data.set(week_data_type.sign_day, count);
|
|
|
}
|
|
|
|
|
|
//获取是否当日首次通过收藏进入
|
|
@@ -170,16 +187,72 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
this.setDirty();
|
|
|
}
|
|
|
|
|
|
+ //获取今日通关数
|
|
|
+ public get_pass_level(): number {
|
|
|
+ return this.day_data.get(day_data_type.pass_level);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置今日通关数
|
|
|
+ public set_pass_level(level: number): void {
|
|
|
+ this.day_data.add(day_data_type.pass_level, level);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取匹配成语数量
|
|
|
+ public get_combine_num(): number {
|
|
|
+ return this.day_data.get(day_data_type.combine_num);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置匹配成语数量
|
|
|
+ public set_combine_num(num: number): void {
|
|
|
+ this.day_data.add(day_data_type.combine_num, num);
|
|
|
+ this.setDirty();
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取登录次数
|
|
|
+ public get_login_num(): number {
|
|
|
+ return this.day_data.get(day_data_type.login_num);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置登录次数
|
|
|
+ public set_login_num(num: number): void {
|
|
|
+ this.day_data.add(day_data_type.login_num, num);
|
|
|
+ this.setDirty();
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取今日使用道具数量
|
|
|
+ public get_use_item_num(): number {
|
|
|
+ return this.day_data.get(day_data_type.use_item);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置今日使用道具数量
|
|
|
+ public set_use_item_num(num: number): void {
|
|
|
+ this.day_data.add(day_data_type.use_item, num);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取今日广告观看数量
|
|
|
+ public get_watch_ad_num(): number {
|
|
|
+ return this.day_data.get(day_data_type.watch_ad);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置今日广告观看数量
|
|
|
+ public set_watch_ad_num(num: number): void {
|
|
|
+ this.day_data.add(day_data_type.watch_ad, num);
|
|
|
+ this.setDirty();
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取任务奖励状态
|
|
|
+ public get_task_state(): number {
|
|
|
+ return this.day_data.get_Array(day_data_type.task_reward_state);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置任务奖励状态
|
|
|
+ public set_task_state(task_state: any): void {
|
|
|
+ this.day_data.set_Array(day_data_type.task_reward_state, task_state);
|
|
|
+ }
|
|
|
+
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
protected async load_data(): Promise<{ [key: string]: any; }> {
|
|
|
- if (Start.packId == 1) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
- else {
|
|
|
- return super.load_data();
|
|
|
- }
|
|
|
+ return super.load_data();
|
|
|
}
|
|
|
|
|
|
public user_info: { uid: string, nickName: string, avatar: string, province: string };
|
|
@@ -192,42 +265,26 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
}
|
|
|
|
|
|
public async init_user_info() {
|
|
|
- if (Start.packId == 1) {
|
|
|
-
|
|
|
- } else {
|
|
|
- this.user_info = {
|
|
|
- uid: this.uid,
|
|
|
- nickName: ch.sdk.get_player_info().nickName,
|
|
|
- avatar: ch.sdk.get_player_info().avatarUrl,
|
|
|
- province: ch.sdk.get_player_info().province
|
|
|
- }
|
|
|
+ this.user_info = {
|
|
|
+ uid: this.uid,
|
|
|
+ nickName: ch.sdk.get_player_info().nickName,
|
|
|
+ avatar: ch.sdk.get_player_info().avatarUrl,
|
|
|
+ province: ch.sdk.get_player_info().province
|
|
|
}
|
|
|
}
|
|
|
|
|
|
protected async save_data(save_data: { [key: string]: any; }): Promise<boolean> {
|
|
|
- if (Start.packId == 1) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- else {
|
|
|
- return super.save_data(save_data);
|
|
|
- }
|
|
|
+ return super.save_data(save_data);
|
|
|
}
|
|
|
|
|
|
public async save_rank_floor() {
|
|
|
- if (Start.packId == 1) {
|
|
|
-
|
|
|
- } else {
|
|
|
- const floor = this.data.get(data_type.max_floor);
|
|
|
- ch.sdk.saveRankData(rand_type.floor, floor, ch.sdk.updateType.none, 0, { province: this.user_info.province });
|
|
|
- }
|
|
|
+ const floor = this.data.get(data_type.max_floor);
|
|
|
+ ch.sdk.saveRankData(rand_type.floor, floor, ch.sdk.updateType.none, 0, { province: this.user_info.province });
|
|
|
}
|
|
|
|
|
|
public async get_rank_floor(): Promise<{ list: any[], owner: any, index: number }> {
|
|
|
let index = 0;
|
|
|
- if (Start.packId == 1) {
|
|
|
-
|
|
|
- } else {
|
|
|
- const d = await ch.sdk.loadRankData(rand_type.floor, ch.sdk.updateType.none, 100, true, false);
|
|
|
+ const d = await ch.sdk.loadRankData(rand_type.floor, ch.sdk.updateType.none, 100, true, false);
|
|
|
console.log("排行榜", d);
|
|
|
if (d.data.own) {
|
|
|
for (let i = 0; i < d.data.list.length; i++) {
|
|
@@ -239,16 +296,12 @@ export default class PlayerData extends GameData<data_type, day_data_type, week_
|
|
|
index = 101;
|
|
|
}
|
|
|
return { list: d.data.list, owner: d.data.own, index: index };
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
async loadPfInfo(): Promise<boolean> {
|
|
|
return new Promise(async (resolve) => {
|
|
|
let k = await ch.sdk.getUserInfo();
|
|
|
if (k) {
|
|
|
- if (Start.packId == 1) {
|
|
|
-
|
|
|
- }
|
|
|
resolve(true);
|
|
|
} else {
|
|
|
UINotify.show("需要授权");
|