/// <summary> /// 校正本地时间 /// </summary> /// <param name="timer">服务器以秒计算的时间</param> public static void CorrectLocalTime(long timer, long pServerTicks) { DateTime serverTime = new DateTime().AddSeconds(timer); DateTime nowTime = DateTime.Now; TimeSpan compareTime = serverTime.Subtract(nowTime); compareTimeTicks = compareTime.Ticks; serverEnterTicks = pServerTicks; clientTicks = nowTime.Ticks / 10000; SynTimer = true; if (CorrectionTime != null) { CorrectionTime.ExecuteCalls(); } }
/* * @brief: 对象删除消息事件入口点 * @param: args 该事件相应参数列表 * @return void */ public static void on_remove_object(VarList args) { string strIdent = args.GetString(0); IObject obj = FindObject(strIdent); if (obj != null) { mObjectsDic.Remove(strIdent); //mObjects2.Remove(obj.miCreateID); obj.OnRemoveObject(); //if( mTalkTaskNpc == obj ) //{ // TimerManager.Destroy("TalkTask"); // mTalkTaskNpc = null; //} ObjAddOrRemoveChange.ExecuteCalls(obj, false); } }