Exemple #1
0
        public Simulation Create(PhysicsProcessor sceneProcessor, PhysicsEngineFlags flags = PhysicsEngineFlags.None)
        {
            var scene = new PhysicsScene(sceneProcessor, new Simulation(sceneProcessor, BufferPool, ThreadDispatcher));

            lock (this)
            {
                scenes.Add(scene);
            }

            return(scene.Simulation);
        }
        public Simulation Create(PhysicsProcessor sceneProcessor, PhysicsEngineFlags flags = PhysicsEngineFlags.None)
        {
            var scene = new PhysicsScene {
                Processor = sceneProcessor, Simulation = new Simulation(sceneProcessor, physicsConfiguration)
            };

            lock (this)
            {
                scenes.Add(scene);
            }
            return(scene.Simulation);
        }
 public void Release(PhysicsProcessor processor)
 {
     lock (this)
     {
         var scene = scenes.SingleOrDefault(x => x.Processor == processor);
         if (scene == null)
         {
             return;
         }
         scenes.Remove(scene);
         scene.Simulation.Dispose();
     }
 }
Exemple #4
0
 public PhysicsScene(PhysicsProcessor processor, Simulation simulation)
 {
     Processor  = processor;
     Simulation = simulation;
 }