军团:添加活跃宝箱
This commit is contained in:
@@ -45,6 +45,8 @@ import { dicRankRewads, dicRankMax } from './dictionary/DicPvpRankReward';
|
||||
import { dicPvpBoxs } from './dictionary/DicPvpBox';
|
||||
import { dicGuildAuth } from './dictionary/DicGuildAuth';
|
||||
import { dicCenterBase, dicEquipPriduceBase, dicBossBase, dicTrainBase, dicDonateBase, dicWishPoolBase, dicStoreBase, dicStructureConsume } from "./dictionary/DicStructure";
|
||||
import { dicGuildActiveDayReward } from './dictionary/dicGuildActiveDayReward';
|
||||
import { RewardInter } from "./interface";
|
||||
|
||||
export const gameData = {
|
||||
blurprtCompose: dicBlueprtCompose,
|
||||
@@ -113,7 +115,8 @@ export const gameData = {
|
||||
donateBase: dicDonateBase,
|
||||
wishPoolBase: dicWishPoolBase,
|
||||
storeBase: dicStoreBase,
|
||||
structureConsume: dicStructureConsume
|
||||
structureConsume: dicStructureConsume,
|
||||
guildActiveDayReward: dicGuildActiveDayReward
|
||||
};
|
||||
|
||||
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
// 每日个人可领奖励
|
||||
import { readJsonFile, parseGoodStr } from '../util'
|
||||
import { FILENAME } from '../../consts'
|
||||
import { RewardInter } from '../interface';
|
||||
|
||||
export interface DicGuildActiveDayReward {
|
||||
|
||||
// id
|
||||
readonly id: number;
|
||||
// 权限
|
||||
readonly activeDayPoint: number;
|
||||
// 奖励
|
||||
readonly reward: RewardInter[];
|
||||
|
||||
}
|
||||
|
||||
const str = readJsonFile(FILENAME.DIC_ACTIVE_DAY_REWARD);
|
||||
let arr = JSON.parse(str);
|
||||
|
||||
export const dicGuildActiveDayReward = new Map<number, DicGuildActiveDayReward>();
|
||||
|
||||
arr.forEach(o => {
|
||||
o.reward = parseGoodStr(o.reward)
|
||||
dicGuildActiveDayReward.set(o.id, o);
|
||||
});
|
||||
arr = undefined;
|
||||
@@ -38,4 +38,20 @@ export function getBeforeDayDate(day: number) {
|
||||
export function getBeforeDaySeconds(day: number) {
|
||||
let time = nowSeconds() - day * PER_DAY;
|
||||
return time;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
export function getCurWeekDate(day: number, hour: number) {
|
||||
return getWeekDate(new Date(), day, hour);
|
||||
}
|
||||
|
||||
export function getWeekDate(now: Date, day: number, hour: number){ //获得本周的开端日期
|
||||
var nowDayOfWeek = now.getDay();
|
||||
if(nowDayOfWeek == 0) nowDayOfWeek = 7;
|
||||
|
||||
let nowDay = now.getDate();
|
||||
let nowYear = now.getFullYear(); //当前年
|
||||
let nowMonth = now.getMonth(); //月
|
||||
return new Date(nowYear, nowMonth, nowDay - nowDayOfWeek + day, hour);
|
||||
};
|
||||
@@ -8,6 +8,7 @@ import { DicRandomEffectPool } from './dictionary/DicRandomEffectPool';
|
||||
import { HERO_CE_RATIO, ABI_STAGE } from '../consts';
|
||||
|
||||
import { findIndex } from 'underscore';
|
||||
import { getCurWeekDate, getWeekDate } from './timeUtil';
|
||||
const randomName = require("chinese-random-name");
|
||||
const moment = require('moment');
|
||||
|
||||
@@ -224,6 +225,27 @@ export function shouldRefresh(preTime: Date, now: Date, hour: number, deltaDay =
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算按照每 x 天 y 点刷新一次,是否应该刷新
|
||||
* @param preTime 基准时间
|
||||
* @param curTime 当前时间
|
||||
* @param day 周几刷新
|
||||
* @param hour 几点刷新
|
||||
* @param deltaDay 间隔几天刷新,默认每天刷新(deltaDay = 1)
|
||||
*/
|
||||
export function shouldRefreshWeek(preTime: Date, now: Date, day: number, hour: number, deltaWeek = 1): boolean {
|
||||
if (!preTime) return true;
|
||||
let curTime = new Date(now.getTime());
|
||||
let refreshTime = getWeekDate(now, day, hour);
|
||||
let refeshTime = refreshTime.getTime();
|
||||
|
||||
if (refeshTime - preTime.getTime() > (deltaWeek >= 1 ? deltaWeek - 1 : 0) * 7* 24 * 60 * 60 * 1000 && curTime.getTime() >= refeshTime) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取 x天后的y点
|
||||
* @param curTime 现在时间
|
||||
|
||||
Reference in New Issue
Block a user