Esempio n. 1
0
    /// <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();
        }
    }
Esempio n. 2
0
    /*
     *  @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);
        }
    }