81 lines
2.3 KiB
TypeScript
81 lines
2.3 KiB
TypeScript
import GameUtil from "../core/GameUtil";
|
|
import ShuiLuDaHui from "./ShuiLuDaHui";
|
|
import LingHou from "./LingHou";
|
|
import Zhenbukui from "./Zhenbukui";
|
|
import ActivityBase from "./ActivityBase";
|
|
|
|
export default class ActivityMgr {
|
|
static shared = new ActivityMgr();
|
|
log_time: any;
|
|
activity_list: any;
|
|
|
|
constructor() {
|
|
this.log_time = {};
|
|
this.activity_list = {}
|
|
}
|
|
|
|
init() {
|
|
let nDay = Math.floor((GameUtil.gameTime / 1000) / 86400);
|
|
let nHour = Math.floor((GameUtil.gameTime / 1000) / 3600);
|
|
|
|
this.log_time = {
|
|
curDay: nDay,
|
|
curHour: nHour,
|
|
};
|
|
|
|
let ActShuiLu = new ShuiLuDaHui();
|
|
this.addActivity(ActShuiLu);
|
|
|
|
let ActLingHou = new LingHou();
|
|
this.addActivity(ActLingHou);
|
|
|
|
let ActZhenbukui = new Zhenbukui();
|
|
this.addActivity(ActZhenbukui);
|
|
}
|
|
|
|
addActivity(activity: any) {
|
|
this.activity_list[activity.activity_id] = activity;
|
|
}
|
|
|
|
delActivity(activityid: any) {
|
|
delete this.activity_list[activityid];
|
|
}
|
|
|
|
getActivity(actid: any) {
|
|
return this.activity_list[actid];
|
|
}
|
|
|
|
checkActivity(dt?: number) {
|
|
for (let activity_id in this.activity_list) {
|
|
let activity: ActivityBase = this.activity_list[activity_id];
|
|
activity.update(dt);
|
|
}
|
|
}
|
|
|
|
close() {
|
|
for (let activity_id in this.activity_list) {
|
|
let activity: ActivityBase = this.activity_list[activity_id];
|
|
activity.close();
|
|
}
|
|
}
|
|
|
|
update(dt: number) {
|
|
if (dt % (10 * 1000) == 0) {
|
|
this.checkActivity(dt);
|
|
let nDay = Math.floor((GameUtil.gameTime / 1000) / 86400);
|
|
let nHour = Math.floor((GameUtil.gameTime / 1000) / 3600);
|
|
if (this.log_time.curDay != nDay) {
|
|
for (const activity_id in this.activity_list) {
|
|
this.activity_list[activity_id].onNewDay();
|
|
}
|
|
}
|
|
if (this.log_time.curHour != nHour) {
|
|
for (const activity_id in this.activity_list) {
|
|
this.activity_list[activity_id].onNewHour();
|
|
}
|
|
}
|
|
this.log_time.curDay = nDay;
|
|
this.log_time.curHour = nHour;
|
|
}
|
|
}
|
|
} |