| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import { saveProp, saveRoot } from "db://assets/scripts/uitl/baseData/saveCompent/MySave";
- import { IncrementData } from "db://assets/scripts/uitl/baseData/Timer/Timer";
- import { rootMgr } from "../../scene/RootMgr";
- import { Stage } from "../stage/Stage";
- export enum RankType {
- // 地区排行榜
- province = "province",
- stage = "stage",
- jf = "jf"
- }
- @saveRoot('player')
- export class Player {
- @saveProp(() => chsdk.date.now())
- private _creat_date: number = 0;//创建时间
- @saveProp(0)
- private _version: number;
- @saveProp(0)
- public collectTimes: number;
- @saveProp(() => new IncrementData())
- private _life: IncrementData
- get life() {
- this._life.addLastTime(chsdk.date.now())
- return this._life.value
- }
- set life(value) {
- this._life.addLastTime(chsdk.date.now())
- this._life.value = value
- rootMgr.game.evt.emit('save')
- }
- init() {
- this._life.init(60 * 1000 * 5, 5, 5)
- }
- getLifeControl() {
- return this._life
- }
- public get uid(): number {
- return chsdk.get_uid();
- }
- public get opid(): string {
- return chsdk.get_openid();
- }
- public get nickName(): string {
- return chsdk.get_player_info().nickName;
- }
- public get avatarUrl(): string {
- return chsdk.get_player_info().avatarUrl;
- }
- public get province(): string {
- return chsdk.get_player_info().province;
- }
- public get hid(): number {
- return chsdk.get_player_info().hid;
- }
- public get creat_date(): number {
- return this._creat_date;
- }
- public getNickName(data: any): string {
- return data.nickName ? data.nickName : "游客" + data.userId;
- }
- /**获取排行排*/
- public async get_rank_list(rankField: RankType, update: chsdk.updateType, callback?: (s: any[], me?: any) => void, target?: any) {
- const ret = await chsdk.loadRankData(rankField, update, 100, true);
- if (ret.code == chsdk.code.success) {
- callback?.call(target, ret.data.list ?? [], ret.data.own);
- } else {
- callback?.call(target, [], null);
- }
- }
- /**获取地区总排行*/
- public async get_rank_province(callback?: (s: any[], me?: any) => void, target?: any) {
- const ret = await chsdk.loadProvinceRankData(this.hid, RankType.province, chsdk.updateType.none, 100, true);
- if (ret.code == chsdk.code.success) {
- let f = ret.data ?? {};
- callback?.call(target, f.list ?? [], f.own);
- } else {
- callback?.call(target, [], null);
- }
- }
- // /**上传排行榜分数*/
- public upload_score() {
- let stage = rootMgr.dataControl.getCompent(Stage)
- chsdk.saveRankData(RankType.stage, stage.index, chsdk.updateType.none);
- chsdk.saveProvinceRankData(RankType.province, stage.index, chsdk.updateType.none);
- }
- }
|