|
|
@@ -23,7 +23,7 @@ export enum data_type {
|
|
|
max_floor = 'max_floor',//最高完成的层数
|
|
|
coin = 'coin',//金币
|
|
|
bx_time = 'bx_time',//宝箱倒计时
|
|
|
- lottery_index='lottery_index',//想抽奖的主题
|
|
|
+ lottery_index = 'lottery_index',//想抽奖的主题
|
|
|
}
|
|
|
/**定义每日数据*/
|
|
|
export enum day_data_type {
|
|
|
@@ -32,16 +32,24 @@ export enum day_data_type {
|
|
|
try = 'try',//每日重试次数
|
|
|
total_lv = 'total_lv',//每日通关数
|
|
|
everyday_gift = 'everyday_gift',//每日获得礼包
|
|
|
+ everyday_gift_redpoint = 'everyday_gift_redpoint',//每日获得礼包红点
|
|
|
isFavorite = "isFavorite",//是否从收藏页进入
|
|
|
+ get_free_coin = 'get_free_coin',//获得免费金币
|
|
|
+ get_free_lottery = 'get_free_lottery',//获得免费抽奖
|
|
|
+ purchase_discount= 'purchase_discount',//购买折扣
|
|
|
}
|
|
|
/**定义每周数据*/
|
|
|
export enum week_data_type {
|
|
|
floor = 'floor',//每周
|
|
|
ls = 'ls',//连胜
|
|
|
- ylq_ls='ylq_ls',//已领取的连胜奖励
|
|
|
+ ylq_ls = 'ylq_ls',//已领取的连胜奖励
|
|
|
+ lsbx_redpoint = 'lsbx_redpoint',//连胜宝箱红点
|
|
|
}
|
|
|
export default class player extends GameData<data_type, day_data_type, week_data_type, null> {
|
|
|
private static _instance: player;
|
|
|
+
|
|
|
+ public config: number[] = [3, 5, 7, 10, 12, 15, 18];
|
|
|
+
|
|
|
public static getInstance(gid: string, uid: string): player {
|
|
|
//
|
|
|
if (!this._instance) this._instance = new player(gid, uid, 'player',
|
|
|
@@ -49,19 +57,24 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
[data_type.max_floor, { min: 1 }],
|
|
|
[data_type.coin, { min: 0 }],
|
|
|
[data_type.bx_time, { min: -1, max: 300 }],
|
|
|
- [data_type.lottery_index, { min: 0, max: 3 }]
|
|
|
+ [data_type.lottery_index, { min: 0, max: 3 }],
|
|
|
]),
|
|
|
new Map([
|
|
|
[day_data_type.floor, { min: 0 }],
|
|
|
[day_data_type.lv, { min: 1, max: 10 }],
|
|
|
[day_data_type.try, { min: 0 }],
|
|
|
[day_data_type.everyday_gift, { min: 0, max: 3 }],
|
|
|
+ [day_data_type.everyday_gift_redpoint, { min: 0, max: 1 }],
|
|
|
[day_data_type.isFavorite, { min: 0, max: 1 }],
|
|
|
+ [day_data_type.get_free_coin, { min: 0, max: 1 }],
|
|
|
+ [day_data_type.get_free_lottery, { min: 0, max: 1 }],
|
|
|
+ [day_data_type.purchase_discount, { min: 0, max: 1 }],
|
|
|
]),
|
|
|
new Map([
|
|
|
[week_data_type.floor, { min: 0 }],
|
|
|
[week_data_type.ls, { min: 0 }],
|
|
|
- [week_data_type.ylq_ls, { min: 0, max: 7 }]
|
|
|
+ [week_data_type.ylq_ls, { min: 0, max: 7 }],
|
|
|
+ [week_data_type.lsbx_redpoint, { min: 0, max: 1 }],
|
|
|
]),
|
|
|
);
|
|
|
return this._instance;
|
|
|
@@ -210,8 +223,17 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
/*设置当日获取的礼物次数*/
|
|
|
public set_everyday_gift(count: number): void {
|
|
|
this.day_data.set(day_data_type.everyday_gift, count);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*获取每日礼物的红点状态*/
|
|
|
+ public get_everyday_gift_redpoint(): number {
|
|
|
+ return this.day_data.get(day_data_type.everyday_gift_redpoint);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*设置每日礼物的红点状态*/
|
|
|
+ public set_everyday_gift_redpoint(value: number): void {
|
|
|
+ this.day_data.set(day_data_type.everyday_gift_redpoint, value);
|
|
|
this.setDirty();
|
|
|
- //this.save();
|
|
|
}
|
|
|
|
|
|
/*获取宝箱倒计时*/
|
|
|
@@ -223,7 +245,6 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
public set_bx_time(time: number): void {
|
|
|
this.data.set(data_type.bx_time, time);
|
|
|
this.setDirty();
|
|
|
- // this.save();
|
|
|
}
|
|
|
|
|
|
//获取是否当日首次通过收藏进入
|
|
|
@@ -235,7 +256,7 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
public set_is_favorite(): void {
|
|
|
this.day_data.set(day_data_type.isFavorite, 1);
|
|
|
this.setDirty();
|
|
|
- //this.save();
|
|
|
+ this.save();
|
|
|
}
|
|
|
|
|
|
//获取连胜次数
|
|
|
@@ -246,7 +267,6 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
//设置连胜次数
|
|
|
public set_ls(ls: number): void {
|
|
|
this.week_data.add(week_data_type.ls, ls);
|
|
|
- this.setDirty();
|
|
|
}
|
|
|
|
|
|
//获取已领连胜奖励的下标
|
|
|
@@ -257,18 +277,27 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
//设置已领连胜奖励的下标
|
|
|
public set_ylq_ls(ylq_ls: number): void {
|
|
|
this.week_data.add(week_data_type.ylq_ls, ylq_ls);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*获取连胜宝箱的红点状态*/
|
|
|
+ public get_lsbx_redpoint(): number {
|
|
|
+ return this.week_data.get(week_data_type.lsbx_redpoint);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*设置连胜宝箱的红点状态*/
|
|
|
+ public set_lsbx_redpoint(value: number): void {
|
|
|
+ this.week_data.set(week_data_type.lsbx_redpoint, value);
|
|
|
this.setDirty();
|
|
|
- this.save();
|
|
|
}
|
|
|
|
|
|
//获取想抽的主题
|
|
|
public get_lottery_index(): number {
|
|
|
return this.data.get(data_type.lottery_index);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//设置想抽的主题
|
|
|
- public set_lottery_index(index:number): void {
|
|
|
- this.data.set(data_type.lottery_index,index);
|
|
|
+ public set_lottery_index(index: number): void {
|
|
|
+ this.data.set(data_type.lottery_index, index);
|
|
|
this.setDirty();
|
|
|
}
|
|
|
|
|
|
@@ -280,9 +309,38 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
//设置金币数量
|
|
|
public set_coin(coin: number): void {
|
|
|
this.data.set(data_type.coin, coin);
|
|
|
- this.setDirty();
|
|
|
}
|
|
|
|
|
|
+ //获得是否已领取每日免费金币状态
|
|
|
+ public get_free_coin(): number {
|
|
|
+ return this.day_data.get(day_data_type.get_free_coin);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置是否已领取每日免费金币状态
|
|
|
+ public set_free_coin(state: number): void {
|
|
|
+ this.day_data.set(day_data_type.get_free_coin, state);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获得是否已使用每日免费抽奖状态
|
|
|
+ public get_free_lottery(): number {
|
|
|
+ return this.day_data.get(day_data_type.get_free_lottery);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置是否已使用每日免费抽奖状态
|
|
|
+ public set_free_lottery(state: number): void {
|
|
|
+ this.day_data.set(day_data_type.get_free_lottery, state);
|
|
|
+ }
|
|
|
+
|
|
|
+ //获得是否购买折扣商品状态
|
|
|
+ public get_purchase_discount(): number {
|
|
|
+ return this.day_data.get(day_data_type.purchase_discount);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置是否购买折扣商品状态
|
|
|
+ public set_purchase_discount(state:number):void {
|
|
|
+ this.day_data.set(day_data_type.purchase_discount,state);
|
|
|
+ this.setDirty();
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**随机增加一个选择的愿望皮肤方块*/
|
|
|
@@ -300,7 +358,7 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
}
|
|
|
|
|
|
/*随机增加一个扭蛋机中选择的主题方块*/
|
|
|
- public lottery_random_add_skin_block(index:number): { id: number, bid: number } {
|
|
|
+ public lottery_random_add_skin_block(index: number): { id: number, bid: number } {
|
|
|
const jd_info = this.skin.get_skin_jd(index);
|
|
|
const list: number[] = [];
|
|
|
for (let i = 0; i < this.get_skin_jd_max(); i++) {
|
|
|
@@ -309,7 +367,7 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
}
|
|
|
const bid = list[ch.util.getRandomInt(0, list.length)];
|
|
|
this.add_skin_block(index, bid);
|
|
|
- console.log("获取"+index+"皮肤"+bid);
|
|
|
+ console.log("获取" + index + "皮肤" + bid);
|
|
|
return { id: index, bid: bid };
|
|
|
}
|
|
|
|
|
|
@@ -416,4 +474,17 @@ export default class player extends GameData<data_type, day_data_type, week_data
|
|
|
}
|
|
|
)
|
|
|
}
|
|
|
+
|
|
|
+ public get_ls_index():number {
|
|
|
+ let lscs = this.get_ls();
|
|
|
+ let max;
|
|
|
+ for (let i = 0; i < this.config.length; i++) {
|
|
|
+ //判断需显示的最大连胜
|
|
|
+ if (lscs < this.config[i]) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ max = i;
|
|
|
+ }
|
|
|
+ return max;
|
|
|
+ }
|
|
|
}
|