Show / Hide Table of Contents

Class OvermindBrain

The base overmind brain.

Inheritance
object
UrgeBase<OvermindState, OvermindBot, OvermindAction>
UrgeList<OvermindState, OvermindBot, OvermindAction>
BotBrain<OvermindState, OvermindBot, OvermindAction>
OvermindBrain
TestOvermindBrain
Implements
IBotBrain<OvermindState, OvermindBot, OvermindAction>
IUrgeList<OvermindState, OvermindBot, OvermindAction>
IUrge<OvermindState, OvermindBot, OvermindAction>
IBotBrain
IBasedOn<IBotBrain>
IBasedOn
IEquatable<IBotBrain>
IUrgeList
IUrge
IEquatable<IUrge>
IHasParameters
Inherited Members
BotBrain<OvermindState, OvermindBot, OvermindAction>.OnBotPaused
BotBrain<OvermindState, OvermindBot, OvermindAction>.OnBotStopped
BotBrain<OvermindState, OvermindBot, OvermindAction>.Bots
BotBrain<OvermindState, OvermindBot, OvermindAction>.Considerations
BotBrain<OvermindState, OvermindBot, OvermindAction>.Parameters
BotBrain<OvermindState, OvermindBot, OvermindAction>.BasedOn
BotBrain<OvermindState, OvermindBot, OvermindAction>.BasedOnObject
BotBrain<OvermindState, OvermindBot, OvermindAction>.Equals(IBotBrain)
BotBrain<OvermindState, OvermindBot, OvermindAction>.AddConsideration(IConsideration)
BotBrain<OvermindState, OvermindBot, OvermindAction>.RemoveConsideration(IConsideration)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Start(OvermindBot, CancellationToken, params OvermindState[])
BotBrain<OvermindState, OvermindBot, OvermindAction>.Stop(OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Run(OvermindState, OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Update(object, IReadOnlyCollection<IAutomatedBot>)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Update(OvermindState, IReadOnlyCollection<OvermindBot>)
BotBrain<OvermindState, OvermindBot, OvermindAction>.GetBotData(OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Start(OvermindBot, IReadOnlyCollection<OvermindState>, CancellationToken)
BotBrain<OvermindState, OvermindBot, OvermindAction>.TryUpdate(OvermindState, OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.AreEqual(OvermindAction, OvermindAction)
BotBrain<OvermindState, OvermindBot, OvermindAction>.ApplyAction(OvermindBot, OvermindAction)
BotBrain<OvermindState, OvermindBot, OvermindAction>.ExecuteUpdate(OvermindState, OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Choose(OvermindState, OvermindBot, IReadOnlyList<BotBrainUrgeResult<OvermindState, OvermindBot, OvermindAction>>)
BotBrain<OvermindState, OvermindBot, OvermindAction>.CreateBotData(OvermindBot, IReadOnlyCollection<OvermindState>, CancellationToken)
BotBrain<OvermindState, OvermindBot, OvermindAction>.CreateBotData(OvermindBot, BrainBotData<OvermindState, OvermindBot, OvermindAction>)
BotBrain<OvermindState, OvermindBot, OvermindAction>.PreUpdateBot(OvermindState, OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.PostUpdateBot(OvermindState, OvermindBot, OvermindAction, OvermindAction)
BotBrain<OvermindState, OvermindBot, OvermindAction>.PauseBot(OvermindBot)
BotBrain<OvermindState, OvermindBot, OvermindAction>.ExclusiveUrgesFor(OvermindBot, OvermindState)
BotBrain<OvermindState, OvermindBot, OvermindAction>.ParallelUrgesFor(OvermindBot, OvermindState)
BotBrain<OvermindState, OvermindBot, OvermindAction>.Rank(OvermindState, OvermindBot, IReadOnlyCollection<UrgeResult<OvermindState, OvermindBot, OvermindAction>>)
BotBrain<OvermindState, OvermindBot, OvermindAction>.HandleConsiderationException(IConsideration<OvermindState, OvermindBot, OvermindAction>, OvermindBot, Exception)
UrgeList<OvermindState, OvermindBot, OvermindAction>.Urges
UrgeList<OvermindState, OvermindBot, OvermindAction>.ExclusiveUrges
UrgeList<OvermindState, OvermindBot, OvermindAction>.ParallelUrges
UrgeList<OvermindState, OvermindBot, OvermindAction>.Equals(IUrge)
UrgeList<OvermindState, OvermindBot, OvermindAction>.AddUrge(IUrge)
UrgeList<OvermindState, OvermindBot, OvermindAction>.RemoveUrge(IUrge)
UrgeList<OvermindState, OvermindBot, OvermindAction>.RunUrges(OvermindState, OvermindBot)
UrgeList<OvermindState, OvermindBot, OvermindAction>.RunUrge(OvermindState, OvermindBot, IUrge<OvermindState, OvermindBot, OvermindAction>)
UrgeList<OvermindState, OvermindBot, OvermindAction>.HandleUrgeException(IUrge<OvermindState, OvermindBot, OvermindAction>, OvermindBot, Exception)
UrgeBase<OvermindState, OvermindBot, OvermindAction>.NoUrgeName
UrgeBase<OvermindState, OvermindBot, OvermindAction>.Logger
UrgeBase<OvermindState, OvermindBot, OvermindAction>.Name
UrgeBase<OvermindState, OvermindBot, OvermindAction>.Type
UrgeBase<OvermindState, OvermindBot, OvermindAction>.IsExclusive
UrgeBase<OvermindState, OvermindBot, OvermindAction>.ToString()
UrgeBase<OvermindState, OvermindBot, OvermindAction>.Equals(object)
UrgeBase<OvermindState, OvermindBot, OvermindAction>.GetHashCode()
UrgeBase<OvermindState, OvermindBot, OvermindAction>.GetParameter<T>(OvermindBot, string)
UrgeBase<OvermindState, OvermindBot, OvermindAction>.GetParameter<T>(OvermindBot, IEnumerable<string>)
UrgeBase<OvermindState, OvermindBot, OvermindAction>.TryGetParameter<T>(OvermindBot, IEnumerable<string>, out T)
UrgeBase<OvermindState, OvermindBot, OvermindAction>.TryGetParameter<T>(OvermindBot, string, out T)
UrgeBase<OvermindState, OvermindBot, OvermindAction>.GetParameterNames(string)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Microsoft.XboxStudios.BotBrain.Overmind
Assembly: BotBrain.Overmind.dll
Syntax
public class OvermindBrain : BotBrain<OvermindState, OvermindBot, OvermindAction>, IBotBrain<OvermindState, OvermindBot, OvermindAction>, IUrgeList<OvermindState, OvermindBot, OvermindAction>, IUrge<OvermindState, OvermindBot, OvermindAction>, IBotBrain, IBasedOn<IBotBrain>, IBasedOn, IEquatable<IBotBrain?>, IUrgeList, IUrge, IEquatable<IUrge?>, IHasParameters
Remarks

Initializes a new instance of the OvermindBrain class.

Constructors

View Source

OvermindBrain(ILogger<OvermindBrain>)

The base overmind brain.

Declaration
public OvermindBrain(ILogger<OvermindBrain> logger)
Parameters
Type Name Description
ILogger<OvermindBrain> logger

The logger to use.

Remarks

Initializes a new instance of the OvermindBrain class.

Methods

View Source

Choose(OvermindState, OvermindBot, IReadOnlyList<BotBrainUrgeResult<OvermindState, OvermindBot, OvermindAction>>)

Chooses the best among a weighted set of urge results.

Declaration
protected override UrgeResult<OvermindState, OvermindBot, OvermindAction>? Choose(OvermindState state, OvermindBot bot, IReadOnlyList<BotBrainUrgeResult<OvermindState, OvermindBot, OvermindAction>> recommendations)
Parameters
Type Name Description
OvermindState state

The game state.

OvermindBot bot

The bot.

IReadOnlyList<BotBrainUrgeResult<OvermindState, OvermindBot, OvermindAction>> recommendations

The recommendations to choose between.

Returns
Type Description
UrgeResult<OvermindState, OvermindBot, OvermindAction>?

The selected urge result.

Overrides
BotBrain<OvermindState, OvermindBot, OvermindAction>.Choose(OvermindState, OvermindBot, IReadOnlyList<BotBrainUrgeResult<OvermindState, OvermindBot, OvermindAction>>)
View Source

ExecuteUpdate(OvermindState, OvermindBot)

Updates the state and current action of the given bot.

Declaration
protected override Task<bool> ExecuteUpdate(OvermindState state, OvermindBot bot)
Parameters
Type Name Description
OvermindState state

The game state.

OvermindBot bot

The bot to update.

Returns
Type Description
Task<bool>

A task that returns true if the bot action changed.

Overrides
BotBrain<OvermindState, OvermindBot, OvermindAction>.ExecuteUpdate(OvermindState, OvermindBot)
View Source

PreUpdateState(OvermindState, OvermindBot)

Called before the overmind runs its urges, in order to update scenarios and other state.

Declaration
protected virtual Task PreUpdateState(OvermindState state, OvermindBot bot)
Parameters
Type Name Description
OvermindState state

The overmind state.

OvermindBot bot

The overmind bot.

Returns
Type Description
Task

A Task representing the asynchronous operation.

View Source

RunUrges(OvermindState, OvermindBot)

Gets the urge results for the given bot and state.

Declaration
protected override Task<IEnumerable<UrgeResult<OvermindState, OvermindBot, OvermindAction>>> RunUrges(OvermindState state, OvermindBot bot)
Parameters
Type Name Description
OvermindState state

The game state.

OvermindBot bot

The bot to control.

Returns
Type Description
Task<IEnumerable<UrgeResult<OvermindState, OvermindBot, OvermindAction>>>

A task returning an enumerable of urge results.

Overrides
UrgeList<OvermindState, OvermindBot, OvermindAction>.RunUrges(OvermindState, OvermindBot)
View Source

UpdateScenarios(OvermindState, OvermindBot)

Updates the active scenarios.

Declaration
protected virtual void UpdateScenarios(OvermindState state, OvermindBot bot)
Parameters
Type Name Description
OvermindState state

The overmind state.

OvermindBot bot

The overmind bot.

Implements

IBotBrain<TState, TBot, TAction>
IUrgeList<TState, TBot, TAction>
IUrge<TState, TBot, TAction>
IBotBrain
IBasedOn<T>
IBasedOn
IEquatable<T>
IUrgeList
IUrge
IEquatable<T>
IHasParameters
  • View Source
In this article
Back to top Generated by DocFX