Exemplo n.º 1
0
        internal void Simulate(float deltaTime)
        {
            if (collisionWorld == null)
            {
                return;
            }

            var args = new SimulationArgs
            {
                DeltaTime = deltaTime
            };

            OnSimulationBegin(args);

            if (discreteDynamicsWorld != null)
            {
                discreteDynamicsWorld.StepSimulation(deltaTime, MaxSubSteps, FixedTimeStep);
            }
            else
            {
                collisionWorld.PerformDiscreteCollisionDetection();
            }

            OnSimulationEnd(args);
        }
Exemplo n.º 2
0
        internal void Simulate(float deltaTime)
        {
            if (collisionWorld == null)
            {
                return;
            }

            simulationArgs.DeltaTime = deltaTime;

            UpdatedRigidbodies = 0;

            OnSimulationBegin(simulationArgs);

            SimulationProfiler = Profiler.Begin(PhysicsProfilingKeys.SimulationProfilingKey);

            if (discreteDynamicsWorld != null)
            {
                discreteDynamicsWorld.StepSimulation(deltaTime, MaxSubSteps, FixedTimeStep);
            }
            else
            {
                collisionWorld.PerformDiscreteCollisionDetection();
            }

            SimulationProfiler.End("Alive rigidbodies: {0}", UpdatedRigidbodies);

            OnSimulationEnd(simulationArgs);
        }
Exemplo n.º 3
0
        internal void Simulate(float deltaTime)
        {
            if (collisionWorld == null)
            {
                return;
            }

            simulationArgs.DeltaTime = deltaTime;

            OnSimulationBegin(simulationArgs);

            simulationProfilingState.Begin();

            if (discreteDynamicsWorld != null)
            {
                discreteDynamicsWorld.StepSimulation(deltaTime, MaxSubSteps, FixedTimeStep);
            }
            else
            {
                collisionWorld.PerformDiscreteCollisionDetection();
            }

            simulationProfilingState.End();

            OnSimulationEnd(simulationArgs);
        }
Exemplo n.º 4
0
        internal void Update(float delta)
        {
            if (DisableSimulation)
            {
                return;
            }

            if (collisionWorld == null)
            {
                return;
            }

            if (discreteDynamicsWorld != null)
            {
                discreteDynamicsWorld.StepSimulation(delta);
            }
            else
            {
                collisionWorld.PerformDiscreteCollisionDetection();
            }
        }