class BuildManager

Handles building of the game executable and related files.

Public

Constructors

BuildManager

BuildManager()

Methods

GetAvailablePlatforms

const Vector<PlatformType> &GetAvailablePlatforms() const

Returns a list of available platforms the executable can be built for.

SetActivePlatform

void SetActivePlatform(PlatformType type)

Active build platform.

GetActivePlatform

PlatformType GetActivePlatform() const

GetActivePlatformInfo

SPtr<PlatformInfo> GetActivePlatformInfo() const

Gets stored build setting for the active platform.

GetPlatformInfo

SPtr<PlatformInfo> GetPlatformInfo(PlatformType type) const

Gets stored build setting for a specific platform.

GetFrameworkAssemblies

Vector<String> GetFrameworkAssemblies(PlatformType type) const

Returns a list of file names (without extension) of all .NET assemblies required for a specific platform.

GetNativeBinaries

Vector<Path> GetNativeBinaries(PlatformType type) const

Returns a list names of all native binaries required for a specific platform.

GetBuildFolder

Path GetBuildFolder(BuildFolder folder, PlatformType platform) const

Returns a path to a specific folder used in the build process.

See entries of BuildFolder enum for explanations of individual folder types.

GetMainExecutable

Path GetMainExecutable(PlatformType type) const

Returns the absolute path of the pre-built executable for the specified platform.

GetDefines

String GetDefines(PlatformType type) const

Returns a list of script defines for a specific platform.

Save

void Save(const Path &outFile)

Stores build settings for all platforms in the specified file.

Load

void Load(const Path &inFile)

Loads a previously stored list of build settings.

Clear

void Clear()

Clears currently active build settings.

InjectIcons

void InjectIcons(const Path &executableFilePath, const PlatformInfo &platformInfo)

Injects icons specified in into an executable at the specified path.

executableFilePath
Absolute path to the executable to inject icons in.
platformInfo
Object containing references to icons to inject.

PackageResources

void PackageResources(const Path &buildFolder, const PlatformInfo &platformInfo)

Finds all used resources by the build and packages them into an output folder.

buildFolder
Absolute path to the root folder of the build. This is where the packaged resource folder be placed.
platformInfo
Platform information about the current build.

CreateStartupSettings

void CreateStartupSettings(const Path &buildFolder, const PlatformInfo &platformInfo)

Creates a game settings asset that contains necessary data for starting up the game (for example initial scene).

buildFolder
Absolute path to the root folder of the build. This is where the settings assets will be output.
platformInfo
Platform information about the current build.

staticInstance

static T &Instance()

Returns a reference to the module instance.

Module has to have been started up first otherwise an exception will be thrown.

staticInstancePtr

static T *InstancePtr()

Returns a pointer to the module instance.

Module has to have been started up first otherwise an exception will be thrown.

staticShutDown

static void ShutDown()

Shuts down this module and frees any resources it is using.

staticIsStarted

static bool IsStarted()

Query if the module has been started.

Protected

Methods

~Module<T>

virtual ~Module<T>() = default

OnStartUp

virtual void OnStartUp()

Override if you want your module to be notified once it has been constructed and started.

OnShutDown

virtual void OnShutDown()

Override if you want your module to be notified just before it is deleted.

staticInstanceInternal

static T *&InstanceInternal()

Returns a singleton instance of this module.

staticIsDestroyed

static bool &IsDestroyed()

Checks has the Module been shut down.

staticIsStartedUp

static bool &IsStartedUp()

Checks has the Module been started up.

Private

Fields

mBuildData

SPtr<BuildData> mBuildData