Esempio n. 1
0
        public void GetReplay(Guid clientId, ServerEventHandler <ReplayData, Room> callback)
        {
            Error error = new Error(StatusCode.OK);

            if (!m_clientIdToPlayers.ContainsKey(clientId) && clientId != m_serverIdentity)
            {
                error.Code = StatusCode.NotRegistered;
                callback(error, null, null);
                return;
            }

            ReplayData replay = m_replay.Save();

            if (!m_initialized)
            {
                error.Code    = StatusCode.NotAllowed;
                error.Message = "Match was not initialized";
            }
            callback(error, replay, m_room);
        }
        public void GetReplay(Guid clientId, ServerEventHandler <ReplayData, Room> callback)
        {
            ReplayData replay = m_replay.Save();
            Error      error  = new Error(StatusCode.OK);

            if (!m_initialized)
            {
                error.Code    = StatusCode.NotAllowed;
                error.Message = "Match was not initialized";
            }
            if (m_lag == 0)
            {
                callback(error, replay, m_room);
            }
            else
            {
                m_job.Submit(() => { Thread.Sleep(m_lag); return(null); }, result =>
                {
                    callback(error, replay, m_room);
                });
            }
        }