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); }); } }