public Task EnableRealtimeReportAsync(TimeSpan interval) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_REALTIMEPOS_INTERVAL); writer.Write((UInt16)interval.TotalMilliseconds); return(SendAsync(writer)); }
public Task GetSessionInfoAsync(Int16 sessionIndex = -1 /* current index */) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_GET_SESSION_INFO); writer.Write(sessionIndex); return(SendAsync(writer)); }
public Task GetCarInfoAsync(byte carId) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_GET_CAR_INFO); writer.Write(carId); return(SendAsync(writer)); }
public Task KickAsync(byte userId) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_KICK_USER); writer.Write(userId); return(SendAsync(writer)); }
// 여러 줄로 된 메시지는 줄 단위로 쪼개서 보낸다 public async Task SendChatAsync(byte carId, string message) { var lines = SplitMessage(message, 62); foreach (var line in lines) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_SEND_CHAT); writer.Write(carId); writer.WriteStringW(line); await SendAsync(writer); } }
public Task SendAdminMessageAsync(string message) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_ADMIN_COMMAND); writer.WriteStringW(message); return(SendAsync(writer)); }
public async Task BroadcastChatAsync(string message) { var lines = SplitMessage(message, 62); foreach (var line in lines) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_BROADCAST_CHAT); writer.WriteStringW(line); await SendAsync(writer); } }
public Task SetSessionInfoAsync(byte sessionIndex, string sessionName, byte type, uint laps, TimeSpan time, TimeSpan waitTime) { var writer = new ACSProtocolWriter(); writer.Write(ACSProtocol.ACSP_SET_SESSION_INFO); writer.Write(sessionIndex); writer.WriteStringW(sessionName); writer.Write(type); writer.Write(laps); writer.Write((uint)time.TotalSeconds); writer.Write((uint)waitTime.TotalSeconds); return(SendAsync(writer)); }