Example #1
0
        public CreatorCommands()
        {
            RaceCommandCollection cc = RaceClient.Instance.CommandCollection;

            RaceCommandDefinition cmdCreatorStart = cc.Create()
                                                    .AddCommandName("creator", "start")
                                                    .AddSuccessCallback(new Action <string>(OnCreatorStart))
                                                    .AddFailedCallback(new Action <string>(OnCreatorStartFailed))
                                                    .AddParam <string>("track_name", new RaceCommandCheckArgs {
                Min = 3, Max = 32
            });

            cc.Register(cmdCreatorStart);
        }
Example #2
0
        public RaceClient()
        {
            Instance = this;

            CommandCollection = new RaceCommandCollection(
                (name, callback, restricted) => { RegisterCommand(name, callback, restricted); }
                );

            new CreatorCommands();

            EventCollection = new RaceEventCollection(
                EventHandlers.Add, TriggerEvent, TriggerServerEvent
                );

            new NotificationEvents();
            new RaceEvents();
        }
Example #3
0
        public RaceClient()
        {
            Debug.WriteLine($"[{GetHashCode()}] Race Client has started");
            Instance = this;

            Logger = new Logger(
                (message) => Debug.WriteLine(message),
                ChatHelper.SendMessage
                );

            States = new RaceStateCollection();
            States.SetState(new CommonState());
            States.SetState(new CreatorState());
            States.SetState(new DevToolboxState());

            Commands = new RaceCommandCollection(Logger,
                                                 (name, callback, restricted) => { RegisterCommand(name, callback, restricted); }
                                                 );

            new CreatorCommands();
            new DevToolboxCommands();

            Events = new RaceEventCollection(
                EventHandlers.Add, TriggerEvent, TriggerServerEvent
                );

            new NotificationEvents();
            new RaceEvents();

            Workers             = new RaceWorkerCollection(
                (task) => Tick += task,
                (time) => Delay(time)
                );

            Workers.PushWorker(new CommonWorker());
            Workers.PushWorker(new DevToolboxWorker());
            Workers.PushWorker(new CreatorWorker());
        }