Namespace BSGameLib.Chat
Classes
- BaseChatEngine<T>
The base for a chat engine. It runs the command a message starts with, when the message starts with the command character, and raises events for the outcome. A subclass implements Handle(T, string) and decides what to do with lines that are not commands.
- ChatHistory
The lines a player has sent, for stepping back through with Up and forward with Down. What they had typed before stepping back is kept, and comes back when they step past the newest.
- CommandCompleter
Completes a command typed into a chat line, as Minecraft's chat does: the commands, then a group's commands, then each parameter's values where the game knows them, and the parts still to type shown as a hint. Words are separated by spaces and matched ignoring case.
- CommandDescription
A registered command as a game can show or complete it: what it is called and typed as, what it takes, and for a group, the commands under it. Read from the engine with DescribeCommands().
- CommandEventArgs<T>
Event data for a message that named a command: its source, keyword and text.
- CommandExecutedEventArgs<T>
Event data for a command that ran.
- CommandSpec
A command as a client completes it: what is typed for it, what it takes, and for a group, the commands under it. Plain data, unlike CommandDescription, so a server can send its players the commands each of them may use.
- CompletionResult
What can be typed at the end of a chat line, from CommandCompleter.
- MissingParameterEventArgs<T>
Event data for a required parameter that a command was given no value for.
- ParameterSpec
A command's parameter as a client completes it: plain data, sent from a server to its players.
- WrongParameterEventArgs<T>
A command was given a value one of its parameters cannot take: a word where a number goes, or a number too large.
Interfaces
- IChatEngine<T>
A chat engine for messages from sources of type
T.
- ICommand
A command: something a player can run by typing its keyword.
- ICommandContext
The context a command runs with: what was typed and the values of its parameters.
- ICommandContext<T>
A command context whose source is of type
T.
- ICommandFactoryProvider
Creates the command objects for an engine's commands.
- ICommandFactory<TCommand>
Creates the command objects for one command type.
- ICommandGroup
A command that holds sub-commands, run by the keywords the player types after its own.
- ICommandHandler<T>
Handles a command of type
T. Nothing in BSGameLib calls it.
- ICommandParameter
A parameter of a command: its name, position and type.
- ICommandParameterValue
A parameter of a command with the value the player gave, if any.
- ICommandParameterValue<T>
A parameter value of type
T.
- ICommandParameter<T>
A parameter whose value is of type
T.
- ICommandProvider
Supplies the command types an engine registers from their attributes.
- IMessageContext
A message: its source and when it was handled.
- IMessageContext<T>
A message whose source is of type
T.
- IMessageSource
The source of a chat message, such as a player. It has no members: an engine's game type holds what its commands need.