// Copyright (c) Wojciech Figat. All rights reserved. using System; using System.Collections.Generic; 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 EngineTarget.AddVersionDefines(options.ScriptingAPI.Defines); EngineTarget.AddVersionDefines(options.CompileEnv.PreprocessorDefinitions); options.ScriptingAPI.Defines.Add("FLAX"); 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"); } } }