/// <summary> /// 从库中读完数据后(做数据的补充解析)(onNewCreate后也会调用一次)(主线程) /// </summary> public override void afterReadData() { // if(!ShineSetting.isOfficial) // { // GameC.clientGm.setServerCmdSet(_d.gmCommandSet); // } if (isOnline()) { DateControl.setCurrentTime(_d.serverTime); if (CommonSetting.useOfflineGame) { GameC.offline.getExData().serverOffTime = DateControl.getOffTime(); } } else { if (CommonSetting.useOfflineGame) { DateControl.setOffTime(GameC.offline.getExData().serverOffTime); } } refreshGMType(_d.gmType); }
/// <summary> /// 设置服务器时间 /// </summary> public void serServerTime(long serveTime) { _d.serverTime = serveTime; DateControl.setCurrentTime(serveTime); me.dispatch(GameEventType.RefreshServerOffTime); }
public static void initDataBase() { //在数据库中创建表,每一周的数据保存在一个表中 string tableName = ConstYXYH.TABLE_NAME_PREFIX + DateControl.GetYearWeek(DateTime.Now); if (tableName != ConstYXYH.CurrentTable) { CreateTable(tableName); } }
public override void onNewCreate() { long time = me.getTimeMillis(); _d.loginDate = time; _d.logoutDate = time; _d.nextDailyTime = DateControl.getNextDailyTime(); _d.clientRandomSeedIndex = 0; _d.clientRandomSeeds = ObjectUtils.EmptyIntArr; }
/** 创建ActionLog信息 */ protected LogInfo createActionLogInfo(String type) { LogInfo info = new LogInfo("action"); //当前区ID info.put("areaID", GameC.main.areaID); //unix时间戳 info.put("time", DateControl.getTimeMillis()); //类型 info.put("action", "type"); return(info); }
/// <summary> /// 检查是否到了每天间隔 /// </summary> public void checkDaily() { if (me.getTimeMillis() >= _d.nextDailyTime) { long nextDailyTimeT = DateControl.getNextDailyTime(); if (_d.nextDailyTime != nextDailyTimeT) { _d.nextDailyTime = nextDailyTimeT; //每天调用 me.onDaily(); } } }
/** 每秒间隔 */ public virtual void onSecond(int delay) { if (!_d.applyDic.isEmpty()) { long tt = DateControl.getTimeMillis() - _config.applyEnableTime * 1000; foreach (PlayerApplyRoleGroupData v in _d.applyDic) { if (tt > v.time) { _d.applyDic.remove(v.data.showData.playerID); } } } }
/** 添加离线事务 */ public void addOfflineWork(ClientOfflineWorkData data) { data.workIndex = ++_currentIndex; data.workTime = DateControl.getTimeMillis(); ThreadControl.addAssistFunc(() => { _offlineWorkListData.index = data.workIndex; _offlineWorkListData.list.add(data); }); //当前在线 if (GameC.player.system.isOnline()) { SendClientOfflineWorkRequest.create(data).send(); } }