Namespace Microsoft.XboxStudios.BotBrain
Classes
BasedOnContractResolver
Used to serialize objects, while only including changed properties from the templates they're based on.
BotActionEventArgs
The arguments for bot action events.
BotActionFailedEventArgs
The event where an action fails to run.
BotActionFinishedEventArgs
Represents an event for when the bot finishes the given action.
BotActionStartedEventArgs
Represents an event for when the bot starts the given action.
BotBrainUrgeResult<TState, TBot, TAction>
Represents a weighted urge result and the considerations involved in calculating its urgency.
BotBrain<TState, TBot, TAction>
A basic bot brain.
BotDataEventArgs
The event arguments for bot events.
BotEventArgs
The event arguments for bot events.
BotWithEvents<TAction>
A simple implementation of a bot with events.
BrainBotData<TState, TBot, TAction>
A storage class for bot-related information.
BrainContractResolver
Used to serialize bot brains, while only including changed properties from the template if it exists.
BrainManager<TState, TBot, TAction>
A helper class for updating a set of bot brains on a regular interval.
ConcurrentSet<T>
A concurrent, simplified HashSet.
EqualityHelper
A helper class used to determine equality.
IBotWithEventsExtensions
Extension methods for IBotWithEvents.
IDictionaryExtensions
Contains extension methods for IDictionary<TKey, TValue>.
IEnumerableExtensions
Extension methods for IEnumerable<T>.
IListExtensions
Extension methods for IListExtensions.
ILoggerExtensions
Extension methods for ILogger.
IParameterManagerExtensions
Contains extension methods for IParameterManager.
IServiceCollectionBotBrainExtension
Bot brain extension methods for IServiceCollection.
IServiceCollectionDerivedTypesExtension
Derived type extension methods for IServiceCollection.
LogEventArgs
The arguments for a log event.
MemberInfoExtensions
Extension methods for MemberInfo
MetadataContainer
A container for parameter metadata.
ModifyBrainAction
Contains helper methods to modify the brain for a specific bot.
ParameterManager
A class implementing a parameter manager.
ParameterMetadata
Contains metadata for a parameter.
ParameterRange
A class containing the range of allowed parameter values.
ParameterSerialization
Contains metadata for a parameter.
RecommendedAction<T>
Represents an action that has a weight (an urgency) corresponding to it.
ReflectionParameterManager
A parameter manager implemented using reflection.
TemplateChangesValueProvider
Provides a method to get a value from an object, excluding any items from its parent template.
TypeDictionary<T>
A dictionary used to map types to specific object instances of the type.
TypeExtensions
Extension methods for Type.
UrgeBase<TState, TBot, TAction>
A base class for an urge.
UrgeEventArgs
The arguments for the urge event.
UrgeList<TState, TBot, TAction>
A wrapper class for a list of urges, which can be used as a single urge.
UrgeResult
A helper class used to construct instances of UrgeResult<TState, TBot, TAction>.
UsesParameterAttribute
An attribute for annotating the parameters used by a brain or urge class.
Structs
ConcurrentSet<T>.KeyEnumerator
The key enumerator.
UrgeResult<TState, TBot, TAction>
Represents an urge and one of its recommended actions.
Interfaces
IAutomatedBot
The interface for an automated bot.
IAutomatedBot<TAction>
The interface for an automated bot.
IBasedOn
Handles deserialization of objects which may be based on templates.
IBasedOn<T>
Handles deserialization of objects which may be based on templates.
IBotBrain
The non-generic interface for a bot brain.
IBotBrainUrgeResult
Represents a weighted urge result and the considerations involved in calculating its urgency.
IBotBrain<TState, TBot, TAction>
The interface for a bot brain.
IBotWithEvents
The interface for an automated bot with events.
IBotWithEvents<TAction>
The interface for an automated bot with events.
IBotWithQueue
The interface for an automated bot with a queue of actions.
IBotWithQueue<T>
The interface for an automated bot with a queue of actions.
IBrainBotData
An interface for storing bot-related information.
IConsideration
Represents a function that gives a score to actions recommended by urges.
IConsideration<TState, TBot, TAction>
Represents a function that gives a score to actions recommended by urges.
IHasParameters
An interface for owning parameters.
IMetadataAccess
An interface used to access parameter metadata.
IModifyBrainAction<TState, TBot, TAction>
An interface for special bot actions that have access to the brain.
IObjectiveUrge<TState, TBot>
An interface for urges to support objective tracking once chosen by the brain.
IParameterManager
The parameter manager interface.
IRecommendedAction
An interface for bot actions with a weighted value.
IRecommendedAction<TAction>
An interface for bot actions with a weighted value.
IUrge
The non-generic interface for an urge.
IUrgeList
An interface for a list of urges, which can be used as a single urge.
IUrgeList<TState, TBot, TAction>
An interface for a list of urges, which can be used as a single urge.
IUrgeResult
Represents an urge and one of its recommended actions.
IUrge<TState, TBot, TAction>
An interface for urges which recommend actions to a bot based on the game state.
Enums
ModifyBrainActionType
An enumeration of action types which modify the brain.