// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
using Flax.Build.NativeCpp;
namespace Flax.Build
{
///
/// The base class for game modules.
///
///
public abstract class GameModule : Module
{
///
public override void Setup(BuildOptions options)
{
base.Setup(options);
// Reference main engine modules
options.PublicDependencies.Add("Core");
options.PublicDependencies.Add("Engine");
options.PublicDependencies.Add("Level");
options.PublicDependencies.Add("Scripting");
// Setup scripting API environment
var engineVersion = EngineTarget.EngineVersion;
options.ScriptingAPI.Defines.Add("FLAX");
options.ScriptingAPI.Defines.Add(string.Format("FLAX_{0}", engineVersion.Major));
options.ScriptingAPI.Defines.Add(string.Format("FLAX_{0}_{1}", engineVersion.Major, engineVersion.Minor));
options.ScriptingAPI.Defines.Add("FLAX_ASSERTIONS");
if (options.Target.IsEditor)
{
options.ScriptingAPI.Defines.Add("FLAX_EDITOR");
}
else
{
options.ScriptingAPI.Defines.Add("FLAX_GAME");
}
}
}
///
/// The base class for game editor modules.
///
///
///
public abstract class GameEditorModule : GameModule
{
///
public override void Setup(BuildOptions options)
{
base.Setup(options);
// Reference main editor modules
options.PublicDependencies.Add("Editor");
}
}
}