abstract public Task ExecuteEvent(GameEvent E);
/// <summary> /// Process any server event /// </summary> /// <param name="E">Event</param> /// <returns>True on sucess</returns> abstract protected Task ProcessEvent(GameEvent E);
/// <summary> /// Executes the command /// </summary> /// <param name="gameEvent"></param> /// <returns></returns> abstract public Task ExecuteAsync(GameEvent gameEvent);
/// <summary> /// Process requested command correlating to an event /// </summary> /// <param name="E">Event parameter</param> /// <param name="C">Command requested from the event</param> /// <returns></returns> abstract public Task <Command> ValidateCommand(GameEvent E);
/// <summary> /// Process any server event /// </summary> /// <param name="E">Event</param> /// <returns>True on sucess</returns> protected abstract Task <bool> ProcessEvent(GameEvent E);