Ejemplo n.º 1
0
        public ChannelForm(RacetimeChannel channel, string channelId, bool alwaysOnTop = true)
        {
            ChannelID                   = channelId;
            Channel                     = channel;
            Channel.ChannelJoined      += Channel_ChannelJoined;
            Channel.StateChanged       += Channel_StateChanged;
            Channel.UserListRefreshed  += Channel_UserListRefreshed;
            Channel.GoalChanged        += Channel_GoalChanged;
            Channel.MessageReceived    += Channel_ChatUpdate;
            Channel.RawMessageReceived += Channel_RawMessageReceived;
            Channel.RequestOutputReset += Channel_RequestOutputReset;
            Channel.Disconnected       += Channel_Disconnected;
            Channel.RaceChanged        += Channel_RaceChanged;
            Channel.Authorized         += Channel_Authorized;


            InitializeComponent();
            DownloadAllEmotes();
            TopMost = alwaysOnTop;
            Show();
            Text = "Connecting to " + channelId.Substring(channelId.IndexOf('/') + 1);
            SetInitialState();
            actionButton.Enabled = false;
            Channel.Connect(channelId);
            infoLabel.LinkClicked += (ss, args) => { if (urlPattern.IsMatch(infoLabel.Text))
                                                     {
                                                         Process.Start(infoLabel.Text.Substring(args.Link.Start, args.Link.Length));
                                                     }
            };
        }
Ejemplo n.º 2
0
 public void Join(ITimerModel model, string id)
 {
     var channel = new RacetimeChannel(model.CurrentState, model);
     var form    = new ChannelForm(channel, id, model.CurrentState.LayoutSettings.AlwaysOnTop);
 }