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