import PlayerMgr from "../object/PlayerMgr"; import SKDataUtil from "../gear/SKDataUtil"; import {MsgCode} from "../role/EEnum"; import * as schedule from "node-schedule"; import GameUtil from "../core/GameUtil"; import DB from "../utils/DB"; /** * 在线奖励 */ export default class OnlineRewards { static shared = new OnlineRewards(); // 类型:0 仙玉 1 绑定仙玉 type: number; // 奖励最小仙玉 minJade: number; // 奖励最大仙玉 maxJade: number; // 大于等于当前仙玉 进行系统播报 middleJade: number; // 活动状态(1 开启 0 关闭) state: number; // 定时器 schedule_ac: any; constructor() { this.type = 1; this.state = 0; this.minJade = 13000; this.maxJade = 30000; this.middleJade = 25000; this.schedule_ac = null; } init() { DB.selectConfiguration("online_rewards",(code: any, info: any) => { if (MsgCode.SUCCESS == code) { let data = SKDataUtil.jsonBy(info.value_data); this.type = data.type; this.state = data.state; this.minJade = data.minJade; this.maxJade = data.maxJade; this.middleJade = data.middleJade; if (this.type == 1){ this.open(); } } }); } /** * 开启在线奖励 */ open() { // this.schedule_ac = schedule.scheduleJob("0 0/10 * * * ?", () => { // let roleList = PlayerMgr.shared.player_role_list; // for (let key in roleList) { // let roleId = SKDataUtil.numberBy(key); // let player = PlayerMgr.shared.getPlayerByRoleId(roleId); // if (!player.isRobot()) { // if (player){ // let jade: number = SKDataUtil.random(this.minJade, this.maxJade); // if (this.type == 0) { // player.addMoney(GameUtil.goldKind.Jade, jade, "获得在线奖励仙玉:" + jade) // } else { // player.addMoney(GameUtil.goldKind.BindJade, jade, "获得在线奖励绑定仙玉:" + jade) // } // } // // if (jade >= this.middleJade){ // // let strRichText = `恭喜玩家${player.name}获得在线奖励:${jade}`; // // PlayerMgr.shared.broadcast('s2c_game_chat', { // // msg: strRichText, // // scale: 3 // // }); // // } // } // } // }) } /** * 关闭在线奖励 */ close(){ if (this.schedule_ac != undefined && this.schedule_ac != null) { this.schedule_ac.cancel(); } } }