// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. using System; using Flax.Build; using Flax.Build.NativeCpp; /// /// Physics module. /// public class Physics : EngineModule { /// /// Enables using collisions cooking. /// public static bool WithCooking = true; /// /// Physics system extension event to override for custom physics backend plugin. /// public static Action SetupPhysicsBackend = SetupPhysicsBackendPhysX; /// public override void Setup(BuildOptions options) { base.Setup(options); SetupPhysicsBackend(this, options); if (WithCooking) { options.PublicDefinitions.Add("COMPILE_WITH_PHYSICS_COOKING"); } } private static void SetupPhysicsBackendPhysX(Physics physics, BuildOptions options) { options.PrivateDependencies.Add("PhysX"); } }