Show / Hide Table of Contents

Class OvermindSerializer<T>

The overmind serializer.

Inheritance
object
ResourceHelper
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>
BrainSerializer<OvermindState, OvermindBot, OvermindAction, T>
OvermindSerializer<T>
OvermindSerializer
Implements
IOvermindSerializer
IBrainSerializer
IMetadataAccess
ITitleResourceHelper
IResourceHelper
Inherited Members
BrainSerializer<OvermindState, OvermindBot, OvermindAction, T>.JsonConverters
BrainSerializer<OvermindState, OvermindBot, OvermindAction, T>.DeserializeBrain(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.DefaultBotBrainOutputFolder
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.Logger
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.Services
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.TitleOutputFolder
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.BotBrainFileExtension
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.BrainsFolder
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.BrainTemplatesFolderPath
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.BrainDefaultsFilePath
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.ParameterNames
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.BrainCoreAssembly
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.JsonConverters
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.BrainAssembly
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.Initialize()
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetTitleResourcePath(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.IsReservedBrainFilename(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.DeserializeBrain(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.DeserializeBrainFile(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.SerializeBrain(IBotBrain, bool)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.LoadDefaultBrainParameters()
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.LoadBrain(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetParameterMetadata(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.RegisterBrainAssemblyTypes(Assembly)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetJsonConverters<TBrain>()
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.LoadParameterMetadata()
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.WriteCoreResources()
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.WriteTitleResources()
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetBrainFilePath(string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetDefaultSerializerSettings(bool)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetSerializerSettings(bool)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetDeserializerSettings(bool)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.LoadFileItem<T>(string, Func<string, T>, string)
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.LoadTemplates<T>(string, JsonSerializerSettings, Func<string, bool>)
ResourceHelper.DefaultParametersFilename
ResourceHelper.JsonFileExtension
ResourceHelper.BaseOutputFolder
ResourceHelper.GetParameters(Assembly, string, string)
ResourceHelper.GetResourcePath(string)
ResourceHelper.WriteResourcesToDisk(Assembly, string, string, Func<string, bool>)
ResourceHelper.WriteNewResourcesToDisk(Assembly, string, string)
ResourceHelper.SafeCombinePath(string, 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 OvermindSerializer<T> : BrainSerializer<OvermindState, OvermindBot, OvermindAction, T>, IOvermindSerializer, IBrainSerializer, IMetadataAccess, ITitleResourceHelper, IResourceHelper where T : OvermindBrain
Type Parameters
Name Description
T

The overmind brain type.

Constructors

View Source

OvermindSerializer(IBrainHelper, IServiceProvider, ILogger<OvermindSerializer<T>>?, string?, Assembly?)

Initializes a new instance of the OvermindSerializer<T> class.

Declaration
public OvermindSerializer(IBrainHelper brainHelper, IServiceProvider services, ILogger<OvermindSerializer<T>>? logger = null, string? outputFolder = null, Assembly? brainAssembly = null)
Parameters
Type Name Description
IBrainHelper brainHelper

Gets the brain helper to use to run title-specific bots within overmind.

IServiceProvider services

The service provider used for construction.

ILogger<OvermindSerializer<T>> logger

The logger to use.

string outputFolder

The folder path containing brain resources.

Assembly brainAssembly

The assembly containing brain types to register and resources to extract.

Properties

View Source

JsonConverters

Gets the JSON converters for serializing and deserializing bot brains.

Declaration
protected override IEnumerable<JsonConverter> JsonConverters { get; }
Property Value
Type Description
IEnumerable<JsonConverter>
Overrides
Microsoft.XboxStudios.BotBrain.Composition.BrainSerializer<Microsoft.XboxStudios.BotBrain.Overmind.OvermindState, Microsoft.XboxStudios.BotBrain.Overmind.OvermindBot, Microsoft.XboxStudios.BotBrain.Overmind.OvermindAction, T>.JsonConverters
View Source

OvermindConverters

Gets the overmind converters.

Declaration
protected IEnumerable<JsonConverter> OvermindConverters { get; }
Property Value
Type Description
IEnumerable<JsonConverter>
View Source

RoleFileExtension

Gets the file extension for role files.

Declaration
public virtual string RoleFileExtension { get; }
Property Value
Type Description
string
View Source

RolesOutputFolder

Gets the path to the folder containing role files.

Declaration
public virtual string RolesOutputFolder { get; }
Property Value
Type Description
string
View Source

ScenarioFileExtension

Gets the file extension for scenario files.

Declaration
public virtual string ScenarioFileExtension { get; }
Property Value
Type Description
string
View Source

ScenariosOutputFolder

Gets the path to the folder containing scenario files.

Declaration
public virtual string ScenariosOutputFolder { get; }
Property Value
Type Description
string
View Source

SubBrainHelper

Gets the brain helper used to run title-specific bots within overmind.

Declaration
public IBrainHelper SubBrainHelper { get; }
Property Value
Type Description
IBrainHelper
View Source

TitleOutputFolder

Gets the output folder for title resources.

Declaration
public override string TitleOutputFolder { get; }
Property Value
Type Description
string
Overrides
Microsoft.XboxStudios.BotBrain.Composition.BrainSerializerBase<Microsoft.XboxStudios.BotBrain.Overmind.OvermindState, Microsoft.XboxStudios.BotBrain.Overmind.OvermindBot, Microsoft.XboxStudios.BotBrain.Overmind.OvermindAction>.TitleOutputFolder

Methods

View Source

DeserializeRequirement(string)

Deserializes a requirement from a string.

Declaration
public IRequirement DeserializeRequirement(string contents)
Parameters
Type Name Description
string contents

A string representation of a requirement.

Returns
Type Description
IRequirement

The requirement.

View Source

DeserializeRole(string)

Deserializes a role from a string.

Declaration
public virtual IRole DeserializeRole(string contents)
Parameters
Type Name Description
string contents

A string representation of a role.

Returns
Type Description
IRole

The role.

View Source

DeserializeRoleFile(string)

Creates a role from a file.

Declaration
public virtual IRole DeserializeRoleFile(string file)
Parameters
Type Name Description
string file

The file path.

Returns
Type Description
IRole

The role.

View Source

DeserializeScenario(string)

Deserializes a scenario from a string.

Declaration
public virtual IScenario DeserializeScenario(string contents)
Parameters
Type Name Description
string contents

A string representation of a scenario.

Returns
Type Description
IScenario

The scenario.

View Source

DeserializeScenarioFile(string)

Creates a scenario from a file.

Declaration
public virtual IScenario DeserializeScenarioFile(string file)
Parameters
Type Name Description
string file

The file path.

Returns
Type Description
IScenario

The scenario.

View Source

GetDefaultSerializerSettings(bool)

Gets the default serializer settings for the given options.

Declaration
protected override JsonSerializerSettings GetDefaultSerializerSettings(bool indented = true)
Parameters
Type Name Description
bool indented

If true, the JSON output is indented.

Returns
Type Description
JsonSerializerSettings

A settings object.

Overrides
BrainSerializerBase<OvermindState, OvermindBot, OvermindAction>.GetDefaultSerializerSettings(bool)
View Source

GetRoleFilePath(string)

Gets the output file path for a role.

Declaration
protected virtual string GetRoleFilePath(string name)
Parameters
Type Name Description
string name

The role name.

Returns
Type Description
string

The file path.

View Source

GetScenarioFilePath(string)

Gets the output file path for a scenario.

Declaration
protected virtual string GetScenarioFilePath(string name)
Parameters
Type Name Description
string name

The scenario name.

Returns
Type Description
string

The file path.

View Source

Initialize()

Initializes the brain helper.

Declaration
public override void Initialize()
Overrides
Microsoft.XboxStudios.BotBrain.Composition.BrainSerializerBase<Microsoft.XboxStudios.BotBrain.Overmind.OvermindState, Microsoft.XboxStudios.BotBrain.Overmind.OvermindBot, Microsoft.XboxStudios.BotBrain.Overmind.OvermindAction>.Initialize()
View Source

LoadBrainTemplates()

Loads built-in brain templates.

Declaration
protected virtual void LoadBrainTemplates()
View Source

LoadRole(string)

Loads the role instance.

Declaration
public virtual IRole? LoadRole(string name)
Parameters
Type Name Description
string name

The role name.

Returns
Type Description
IRole

The role.

View Source

LoadScenario(string)

Loads a scenario instance.

Declaration
public virtual IScenario? LoadScenario(string name)
Parameters
Type Name Description
string name

The scenario name.

Returns
Type Description
IScenario

The scenario.

View Source

LoadScenarioAndRoleTemplates()

Loads built-in scenario and role templates.

Declaration
protected virtual void LoadScenarioAndRoleTemplates()
View Source

LoadSettings(IParameterManager)

Loads the overmind settings.

Declaration
public virtual OvermindSettings LoadSettings(IParameterManager parameters)
Parameters
Type Name Description
IParameterManager parameters

The parameters to load.

Returns
Type Description
OvermindSettings

The overmind settings.

View Source

LoadSettings(string)

Loads the overmind settings.

Declaration
public virtual OvermindSettings LoadSettings(string parameters)
Parameters
Type Name Description
string parameters

The parameters to load.

Returns
Type Description
OvermindSettings

The overmind settings.

View Source

RegisterOvermindAssemblyTypes(Assembly)

Registers overmind-related types for deserialization.

Declaration
protected static void RegisterOvermindAssemblyTypes(Assembly a)
Parameters
Type Name Description
Assembly a

The assembly to index.

View Source

SaveSettings(OvermindSettings)

Saves the overmind settings to a string.

Declaration
public virtual string SaveSettings(OvermindSettings settings)
Parameters
Type Name Description
OvermindSettings settings

The overmind settings.

Returns
Type Description
string

The serialized settings.

View Source

SerializeRequirement(IRequirement, bool)

Serializes a requirement to a string.

Declaration
public virtual string SerializeRequirement(IRequirement requirement, bool indented = true)
Parameters
Type Name Description
IRequirement requirement

The requirement.

bool indented

If true, the output is indented.

Returns
Type Description
string

A string representation of a requirement.

View Source

SerializeRole(IRole, bool)

Serializes a role to a string.

Declaration
public virtual string SerializeRole(IRole role, bool indented = true)
Parameters
Type Name Description
IRole role

The role.

bool indented

If true, the output is indented.

Returns
Type Description
string

A string representation of a role.

View Source

SerializeScenario(IScenario, bool)

Serializes a scenario to a string.

Declaration
public virtual string SerializeScenario(IScenario scenario, bool indented = true)
Parameters
Type Name Description
IScenario scenario

The scenario.

bool indented

If true, the output is indented.

Returns
Type Description
string

A string representation of a scenario.

View Source

WriteTitleResources()

Writes the embedded bot brain title-specific resources to disk.

Declaration
protected override void WriteTitleResources()
Overrides
Microsoft.XboxStudios.BotBrain.Composition.BrainSerializerBase<Microsoft.XboxStudios.BotBrain.Overmind.OvermindState, Microsoft.XboxStudios.BotBrain.Overmind.OvermindBot, Microsoft.XboxStudios.BotBrain.Overmind.OvermindAction>.WriteTitleResources()

Implements

IOvermindSerializer
IBrainSerializer
IMetadataAccess
ITitleResourceHelper
IResourceHelper

Extension Methods

IOvermindSerializerExtensions.Clone(IOvermindSerializer, IRequirement)
IOvermindSerializerExtensions.Clone(IOvermindSerializer, IScenario)
  • View Source
In this article
Back to top Generated by DocFX