Beispiel #1
0
        /// <summary>
        /// Disposes of the GangstaExample instance.
        /// </summary>
        public override void Dispose()
        {
            if (mDriver != null)
            {
                if (mWorld != null)
                {
                    mWorld.setDebugVisualMode((uint)DebugVisual.Mode.GDV_NONE);
                    if (mCallBackOgre != null)
                    {
                        mCallBackOgre.endDrag();
                    }
                    mDriver.destroyWorld(mWorld);
                }
                mWorld = null;
                mManager.unloadPhysicsDriver(mDriver);
            }
            mDriver = null;

            if (mCallBackOgre != null)
            {
                mCallBackOgre.Dispose();
            }
            mCallBackOgre = null;

            if (mManager != null)
            {
                mManager.Dispose();
            }
            mManager = null;

            //mRayHit = null;

            base.Dispose();
        }
Beispiel #2
0
        protected virtual bool CreatePhysicsWorld()
        {
            mWorld = mDriver.createWorld("sample_world");

            ParameterList pl = new ParameterList();

            mWorld.getSupportedParameters(pl);

            pl.Item("gravity").setVec3(new Vector3(0.0f, -9.80665f, 0.0f));
            pl.Item("extents").setVec3(new Vector3(1000.0f, 500.0f, 1000.0f));
            pl.Item("step").setFloat((1.0f / 60.0f));

            mWorld.initialise(pl);

            mWorld.getDefaultMaterial().setParameter("staticFriction", new Parameter(60.0f));
            mWorld.getDefaultMaterial().setParameter("softCFM", new Parameter(0.01f));

            return(true);
        }