Table of Contents

Namespace Switchboard

Classes

ApplicationEnd

Provides an event that is invoked near the very end of the application, after Application.quitting and OnDestroy() of MonoBehaviours. Any scripts that are ordered to execute later than Destructor will have OnDestroy() called after this event.

CompositionRoot

Loads the CompositionRootAsset and initializes the DependencyInjector.

CompositionRootAsset

Represents a single, root asset file that can be loaded when the application starts, in order to enable dependency injection.

DateTimeToTextConverter

Converts a DateTime value into a string of characters without allocating memory for garbage collection.

DependencyInjector

Provides a base representation for a Unity asset that can activate, provide instances of types, then deactivate.

Destructor

A MonoBehaviour that invokes a Destroyed event when OnDestroy() is called.

ExpandableAttribute

Indicates that a serialized UnityEngine.Object field should be displayed with an expandable toggle that displays the object's properties.

FileRemover

Provides methods for removing excess files from a directory.

FloatFormatInfo

Provides detailed options for formatting floating-point numbers.

FloatToTextConverter

Converts floating-point numbers into strings of characters without allocating memory for garbage collection.

FloatToTextExtensions

Adds extension methods to float and double for converting to strings of characters.

IInjectorExtensions

Provides extension methods for the IInjector interface.

ILoggerExtensions

Provides extension methods for the ILogger interface that assign the LogLevel based on the method.

InjectorLocator

A static service locator that provides an IInjector.

IntToTextConverter

Converts integral numbers into strings of characters, without allocating memory for garbage collection.

LogFileWriter

Writes log entries to log files.

LoggerRoot

Represents a logger composed of other ILogger implementations, which serve as the actual targets for log output. A LoggerRoot cannot have another LoggerRoot added as a log target. Adding and removing targets are thread safe operations, but changes may not be immediate across threads. Thread safety of logging operations are left up to the target implementations of the ILogger interface.

PathUtility

Provides utilities for working with file system paths.

PreciseClock

Provides DateTime values that have the precision of a Stopwatch.

StandardLogFormatter

Provides a standard implementation of the ILogFormatter interface.

StringMaker

Represents a string of characters that can be modified without allocating memory for garbage collection.

StringMakerILoggerExtensions

Provides extension methods for the ILogger interface to accept StringMaker messages.

StringMakerUnityExtensions

Provides extension methods for StringMaker to append common Unity types.

SwitchboardLogger

Provides a single, static LoggerRoot ILogger that can send log output to multiple targets.

SwitchboardMenuOrder

Provides Switchboard's order in the asset creation menu.

UnityLogHandler

Provides a reference to the default Unity log handler.

UnityLogHijacker

Redirects calls to Unity log methods to an ILogger implementation instead, when assigned to UnityEngine.Debug.unityLogger.logHandler.

UnityLogger

An implementation of ILogger that targets the UnityLogHandler.

Structs

StringMakerHandle

Provides a readonly ref struct facade for StringMaker.

Interfaces

IInjector

Provides a generic interface for getting an instance of a requested type.

ILogFormatter

Provides an interface for formatting log message and exceptions.

ILogger

Provides an interface for logging.

Enums

DependencyInjector.State

The various states that a DependencyInjector can have while activating and deactivating.

LogLevel

Defines the levels of significance that may be assigned to a log entry.

Delegates

StringMaker.ForEachArrayAction<TArg>

Encapsulates a method that receives a state object of type TArg, a read-only span of characters in the current array, and boolean indicating if it is the final array.