protected override void OnChatMessage(MsgChat msg)
        {
            base.OnChatMessage(msg);

            DriverInfo driver;
            if (this.PluginManager.TryGetDriverInfo(msg.CarId, out driver) && driver.IsAdmin)
            {
                if (msg.Message.StartsWith("/next_track", StringComparison.InvariantCultureIgnoreCase))
                {
                    this.NextTrackAsync(true);
                }
                else if (msg.Message.StartsWith("/change_track "))
                {
                    string track = msg.Message.Substring("/change_track ".Length).Trim();
                    string layout = string.Empty;
                    string[] parts = track.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    if (parts.Length == 2)
                    {
                        track = parts[0];
                        layout = parts[1];
                    }

                    int trackIndex = GetTrackIndex(track, layout);
                    if (trackIndex > -1)
                    {
                        ThreadPool.QueueUserWorkItem(o => this.ChangeTrack(trackIndex, true));
                    }
                    else
                    {
                        PluginManager.SendChatMessage(msg.CarId, "Specified track is not in trackcycle");
                    }
                }
            }
        }
Beispiel #2
0
 protected override void OnChatMessage(MsgChat msg)
 {
     base.OnChatMessage(msg);
     Console.WriteLine("CHAT_" + msg.CarId + ": " + msg.Message);
 }
Beispiel #3
0
 protected internal virtual void OnChatMessage(MsgChat msg)
 {
 }
Beispiel #4
0
        protected override void OnChatMessage(MsgChat msg)
        {
            if (!msg.IsCommand)
                return;

            var split = msg.Message.Split(' ');
            if (split.Length > 0)
            {
                switch (split[0].ToLower())
                {
                    case "/mr":
                    case "/minorating":
                        {
                            if (split.Length == 1) // only /mr
                                HandleClientActions(LiveDataServer.RequestDriverRating(CurrentSessionGuid, msg.CarId));
                            else
                                HandleClientActions(LiveDataServer.RequestMRCommandAdminInfo(CurrentSessionGuid, msg.CarId, PluginManager.GetDriverInfo(msg.CarId).IsAdmin, split));
                        }
                        break;
                    default:
                        break;
                }
            }
        }