Exemple #1
0
        protected override void AssembleModel()
        {
            controlNode.AddChild(modelNode.GameNode);
            modelNode.AddChild(hullGroupNode.GameNode);
            hullGroupNode.AddChild(power.GameNode);
            hullGroupNode.AddChild(hull.GameNode);

            hullGroupNode.AddChild(gunsGroupNode.GameNode);
            hullGroupNode.AddChild(weelsGroupNode.GameNode);

            weelsGroupNode.AddChild(sphere.GameNode);

            mSceneMgr.RootSceneNode.AddChild(controlNode.GameNode);

            float radius = 10;

            //     controlNode.GameNode.Position += radius * Vector3.UNIT_Y;
            //       modelNode.GameNode.Position += radius * Vector3.UNIT_Y;
            gameNode          = controlNode.GameNode;
            physObj           = new PhysObj(radius, "Player", 0.01f, 0.7f, 0.3f);
            physObj.SceneNode = controlNode.GameNode;
            physObj.Position  = controlNode.GameNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            Physics.AddPhysObj(physObj);
        }
        protected override void AssembleModel()
        {
            // Attach and assemble model
            wheelsGroupNode.AddChild(playerSphereNode.GameNode);

            hullGroupNode.AddChild(playerCellsNode.GameNode);
            hullGroupNode.AddChild(playerMainNode.GameNode);
            hullGroupNode.AddChild(wheelsGroupNode);
            hullGroupNode.AddChild(gunGroupNode);

            modelNode.AddChild(hullGroupNode);

            controlNode = mSceneMgr.CreateSceneNode();
            controlNode.AddChild(modelNode);
            mSceneMgr.RootSceneNode.AddChild(controlNode);

            float radius = 12;

            controlNode.Position += radius * Vector3.UNIT_Y;
            modelNode.Position   -= radius * Vector3.UNIT_Y;

            physObj           = new PhysObj(radius, "Player", 0.1f, 0.7f, 0.3f);
            physObj.SceneNode = controlNode;
            physObj.Position  = controlNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            //physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
            this.gameNode = controlNode;

            //base.AssembleModel();
        }
        public CollectableGun(SceneManager mSceneMgr, Gun gun, Armoury playerArmoury, Vector3 position)
        {
            // Initialize here the mSceneMgr, the gun and the playerArmoury fields to the values passed as parameters

            this.mSceneMgr     = mSceneMgr;
            this.gun           = gun;
            this.playerArmoury = playerArmoury;
            // Initialize the gameNode here, scale it by 1.5f using the Scale funtion, and add as its child the gameNode contained in the Gun object.
            // Finally attach the gameNode to the sceneGraph.
            //gunNode = new ModelElement(mSceneMgr);
            //gunNode.GameNode.Scale(new Vector3(1.5f, 1.5f, 1.5f));
            //gunNode.GameNode.AddChild(gun.GameNode);

            gameNode = mSceneMgr.CreateSceneNode();
            gameNode.AddChild(gun.modelNode);
            gameNode.Position = position;
            mSceneMgr.RootSceneNode.AddChild(gameNode);

            // Here goes the link to the physics engine
            // (ignore until week 8) ...
            physObj           = new PhysObj(10, "CollectableGun", 0.01f, 0.7f, 0.3f);
            physObj.SceneNode = gameNode;
            physObj.Position  = gameNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            Physics.AddPhysObj(physObj);
        }
Exemple #4
0
        /// <summary>
        // After defining the ModelElements they are initialized in the LoadModelElements method. The model is positioned and PhysObj attached here
        /// </summary>
        protected override void LoadModelElements()
        {
            Model = new ModelElement(mSceneMgr);

            HullGroupNode  = new ModelElement(mSceneMgr);
            WheelGroupNode = new ModelElement(mSceneMgr);
            GunGroupNode   = new ModelElement(mSceneMgr);
            PowerCells     = new ModelElement(mSceneMgr, "PowerCells.mesh");
            Hull           = new ModelElement(mSceneMgr, "Main.mesh");

            Sphere = new ModelElement(mSceneMgr, "Sphere.mesh");

            float radius = 9;

            //physics for player
            controlNode              = mSceneMgr.CreateSceneNode();
            controlNode.Position    += radius * Vector3.UNIT_Y;
            Model.GameNode.Position -= (radius * Vector3.UNIT_Y);
            Model.GameNode.Position -= new Vector3(0f, -8f, 0f);    //set model to be above the ground

            //controlNode.SetPosition(0, 140, 0);


            physObj           = new PhysObj(radius, "Player", 1f, 0.3f, 0.7f);
            physObj.SceneNode = controlNode;
            physObj.Position  = controlNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
Exemple #5
0
        /// <summary>
        // The colour material is attached to the bomb mesh. The model is repositioned again next to the player in the scene later on. The PhysObj attached here
        /// </summary>
        protected override void Load()  //In the class override the Load method
        {
            base.Load();


            //in its body initialize the gameEntity, and the gameNode for the projectile
            Model    = new ModelElement(mSceneMgr, "Sphere.mesh");
            gameNode = Model.GameNode;
            mSceneMgr.RootSceneNode.AddChild(gameNode);

            Model.GameEntity.SetMaterialName("red");

            gameNode.Scale(new Vector3(0.5f, 0.5f, 0.5f));    //scale down the size of the projectile models

            gameNode.SetPosition(200, 200, 20);

            physObj           = new PhysObj(5f, "Cannonball", 0.1f, 0.7f, 1.5f);
            physObj.SceneNode = gameNode;   //set its sceneNode property to gameNode
            physObj.Position  = gameNode.Position;
            //physObj.AddForceToList(new WeightForce(physObj.InvMass));   //add a weight force


            //physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
Exemple #6
0
        /// <summary>
        // The material is attached to the powerup mesh. The model is positioned randomly in the scene and PhysObj attached here
        /// </summary>
        protected override void LoadModel() //The class should override the LoadModel method from PowerUp
        {
            //load the geometry for the power up and the scene graph nodes
            base.LoadModel();
            lifePickUpEntity = mSceneMgr.CreateEntity("Heart.mesh");
            lifePickUpEntity.SetMaterialName("HeartHMD");


            lifePickUpNode = mSceneMgr.CreateSceneNode();
            lifePickUpNode.Scale(new Vector3(5f, 5f, 5f));
            lifePickUpNode.SetPosition(Mogre.Math.RangeRandom(-450, 450), 150, Mogre.Math.RangeRandom(-450, 450));

            lifePickUpNode.Position += 3 * Vector3.UNIT_Y;
            lifePickUpNode.Position -= new Vector3(0f, -8f, 0f);
            //Model.GameNode.Position -= (3 * Vector3.UNIT_Y);
            //Model.GameNode.Position -= new Vector3(0f, -80f, 0f);

            lifePickUpNode.AttachObject(lifePickUpEntity);


            mSceneMgr.RootSceneNode.AddChild(lifePickUpNode);



            lifePickUpEntity.GetMesh().BuildEdgeList();

            physObj           = new PhysObj(9f, "LifePickUp", 0.1f, 0.3f, 20f);
            physObj.SceneNode = lifePickUpNode;
            physObj.Position  = lifePickUpNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
        protected override void LoadModel()
        {
            base.LoadModel();
            pUEntity = mSceneMgr.CreateEntity("Sphere.mesh");
            pUNode   = mSceneMgr.CreateSceneNode();
            pUNode.Scale(0.5f, 0.5f, 0.5f);
            pUNode.AttachObject(pUEntity);



            controlNode = mSceneMgr.CreateSceneNode();
            controlNode.AddChild(pUNode);

            mSceneMgr.RootSceneNode.AddChild(controlNode);

            float radius = 0.5f;

            controlNode.Position += radius * Vector3.UNIT_Y;
            pUNode.Position      -= radius * Vector3.UNIT_Y;

            physObj           = new PhysObj(radius, "Ball", 0.1f, 0.7f, 0.3f);
            physObj.SceneNode = controlNode;
            physObj.Position  = controlNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            Physics.AddPhysObj(physObj);

            physObj.SceneNode = pUNode;

            pUEntity.GetMesh().BuildEdgeList();
        }
Exemple #8
0
        /// <summary>
        // The robot mesh is loaded. The model is positioned randomly in the scene and PhysObj attached here
        /// </summary>
        protected override void LoadModelElements()
        {
            base.LoadModelElements();
            Model = new ModelElement(mSceneMgr, "robot.mesh");

            controlNode = mSceneMgr.CreateSceneNode();

            float radius = 30;

            controlNode.Position    += radius * Vector3.UNIT_Y;
            Model.GameNode.Position -= (radius * Vector3.UNIT_Y);
            if (isBoss)
            {
                Model.GameNode.Position -= new Vector3(0f, -9f, 0f);    //set model to be above the ground
            }

            controlNode.SetPosition(Mogre.Math.RangeRandom(-450, 450), 0, Mogre.Math.RangeRandom(-450, 450));

            GameNode = controlNode;

            if (isBoss)
            {
                controlNode.Scale(new Vector3(1.7f, 1.7f, 1.7f));
            }

            physObj           = new PhysObj(30f, "Robot", 10f, 0.3f, 5f);
            physObj.SceneNode = controlNode;
            physObj.Position  = controlNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
Exemple #9
0
        /// <summary>
        /// This method loads the nodes and entities needed by the compound model
        /// </summary>
        protected override void LoadModelElements()
        {
            hullGroup  = mSceneMgr.CreateSceneNode();
            wheelGroup = mSceneMgr.CreateSceneNode();
            gunGroup   = mSceneMgr.CreateSceneNode();

            mainHull   = mSceneMgr.CreateSceneNode();
            hullEntity = mSceneMgr.CreateEntity("Main.mesh");
            hullEntity.GetMesh().BuildEdgeList();

            sphere       = mSceneMgr.CreateSceneNode();
            sphereEntity = mSceneMgr.CreateEntity("Sphere.mesh");
            sphereEntity.GetMesh().BuildEdgeList();

            powerCells       = mSceneMgr.CreateSceneNode();
            powerCellsEntity = mSceneMgr.CreateEntity("PowerCells.mesh");
            powerCellsEntity.GetMesh().BuildEdgeList();

            model = mSceneMgr.CreateSceneNode();



            float radius = 50;

            model.Position     += radius * Vector3.UNIT_Y;
            hullGroup.Position -= radius * Vector3.UNIT_Y;

            physObj           = new PhysObj(radius, "PlayerModel", 0.1f, 0.21f, 0.1f);
            physObj.SceneNode = model;
            physObj.Position  = model.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
        //public float Radius
        //{
        //    get { return radius; }
        //    set
        //    {
        //        radius = value;
        //    }
        //}
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="mSceneMgr">A reference to the scene manager</param>
        /// <param name="modelName">The name of the .mesh file which contains the geometry of the model</param>
        public ModelElement(SceneManager mSceneMgr, string modelName = "", float Im = 0, float rad = 0)
        {
            // YOUR CODE FOR INITIALIZE THE GAMENODE GOES HERE

            gameNode = mSceneMgr.CreateSceneNode();
            if (modelName != "")
            {
                //YOUR CODE FOR INITIALIZE AND ATTACH THE GAMEENTITY TO THE NODE GOES HERE
                if (modelName.Substring(0, 5) != "Phys_")
                {
                    gameEntity = mSceneMgr.CreateEntity(modelName); //load .mesh file
                    gameEntity.GetMesh().BuildEdgeList();
                    gameNode.AttachObject(gameEntity);
                }
                else
                {
                    // Add physics //

                    this.physObj      = new PhysObj(rad, (modelName), Im, 0.7f, 0.3f);
                    physObj.SceneNode = gameNode;
                    physObj.Position  = gameNode.Position;
                    // gameNode.Position += rad * Vector3.UNIT_Y;
                    //physObj.Position -= rad * Vector3.UNIT_Y;
                    //physObj.InvMass = 100f;
                    physObj.AddForceToList(new WeightForce(physObj.InvMass));
                    Physics.AddPhysObj(physObj);
                    // controlNode.AddChild(gameNode);
                    //Console.Write( modelName+" mass: " +physObj.InvMass);
                }
            }
            // mSceneMgr.RootSceneNode.AddChild(gameNode);
        }
Exemple #11
0
        /// <summary>
        // The material is attached to the powerup mesh. The model is positioned randomly in the scene and PhysObj attached here
        /// </summary>
        protected override void LoadModel() //The class should override the LoadModel method from PowerUp
        {
            //load the geometry for the power up and the scene graph nodes
            base.LoadModel();
            timePickUpEntity = mSceneMgr.CreateEntity("Watch.mesh");
            timePickUpEntity.SetMaterialName("clockPickup");


            timePickUpNode = mSceneMgr.CreateSceneNode();
            timePickUpNode.Scale(new Vector3(0.3f, 0.3f, 0.3f));
            timePickUpNode.SetPosition(Mogre.Math.RangeRandom(-450, 450), 150, Mogre.Math.RangeRandom(-450, 450));

            timePickUpNode.AttachObject(timePickUpEntity);


            mSceneMgr.RootSceneNode.AddChild(timePickUpNode);



            timePickUpEntity.GetMesh().BuildEdgeList();

            physObj           = new PhysObj(6f, "TimePickUp", 0.1f, 0.3f, 20f);
            physObj.SceneNode = timePickUpNode;
            physObj.Position  = timePickUpNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
Exemple #12
0
        protected virtual void LoadModel()
        {
            remove  = false;
            physObj = new PhysObj(7, "Gem", 0.3f, 0.5f);
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.SceneNode = gameNode;

            Physics.AddPhysObj(physObj);
        }
Exemple #13
0
        protected virtual void LoadModel()
        {
            float radius = 5;

            p2 = physObj = new PhysObj(radius, "Gem", 0.1f, 0.5f, 0.0001f);
            physObj.SceneNode = gameNode;
            physObj.Position  = gameNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            //physObj.AddForceToList(new ElasticForce(p2, physObj));
            Physics.AddPhysObj(physObj);
        }
Exemple #14
0
        protected override void Load()
        {
            RemoveMe    = false;
            bombElement = new ModelElement(mSceneMgr, "Bomb.mesh");
            bombElement.GameNode.Scale(2, 2, 2);
            mSceneMgr.RootSceneNode.AddChild(bombElement.GameNode);

            physObj           = new PhysObj(10, "Bomb", 0.1f, 0.5f);
            physObj.SceneNode = bombElement.GameNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
Exemple #15
0
        protected override void LoadModel()
        {
            RemoveMe = false;

            shieldElement = new ModelElement(mSceneMgr, "Shield.mesh");
            mSceneMgr.RootSceneNode.AddChild(shieldElement.GameNode);

            physObj           = new PhysObj(10, "Shield", 0.1f, 0.5f);
            physObj.SceneNode = shieldElement.GameNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
Exemple #16
0
        /// <summary>
        /// This method loads the mesh and attaches it to a node and to the schenegraph
        /// </summary>
        private void Load()
        {
            robotEntity = mSceneMgr.CreateEntity("robot.mesh"); //make sure the mesh is in the Media/models folder
            robotNode   = mSceneMgr.CreateSceneNode();
            robotNode.AttachObject(robotEntity);
            robotNode.Position = position;
            mSceneMgr.RootSceneNode.AddChild(robotNode);

            physObj           = new PhysObj(10, "Robot", 0.01f, 0.5f);
            physObj.SceneNode = robotNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
        protected override void LoadModel()
        {
            RemoveMe = false;

            blueGemElement = new ModelElement(mSceneMgr, "Gem.mesh");
            blueGemElement.GameNode.Scale(2, 2, 2);
            mSceneMgr.RootSceneNode.AddChild(blueGemElement.GameNode);

            physObj = new PhysObj(10, "Gem", 0.1f, 0.5f, 5f);
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            physObj.SceneNode = blueGemElement.GameNode;
            Physics.AddPhysObj(physObj);
        }
Exemple #18
0
        protected override void Load()
        {
            projectileEntity = mSceneMgr.CreateEntity("Bomb.mesh");
            projectileNode   = mSceneMgr.CreateSceneNode();
            projectileNode.AttachObject(projectileEntity);

            gameNode = projectileNode;
            mSceneMgr.RootSceneNode.AddChild(projectileNode);
            physObj           = new PhysObj(10, "CannonBall", 1.5f, 0.5f);
            physObj.SceneNode = projectileNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
Exemple #19
0
        protected override void Load()
        {
            this.gameNode   = mSceneMgr.CreateSceneNode();
            this.gameEntity = mSceneMgr.CreateEntity("Sphere.mesh");
            this.gameEntity.SetMaterialName("EnemyShot");
            this.gameNode.AttachObject(gameEntity);
            this.gameNode.Scale(new Vector3(0.5f, 0.5f, 0.5f));
            mSceneMgr.RootSceneNode.AddChild(this.gameNode);

            this.physObj      = new PhysObj(2, "EnemyShot", 0.1f, 0f);
            physObj.SceneNode = gameNode;
            //physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
Exemple #20
0
        virtual protected void Load()
        {
            // Physics
            float radius = 10;

            //sProjNode.Position -= radius * Vector3.UNIT_Y;

            physObj           = new PhysObj(radius, "Projectile", 0.1f, 0.7f, 0.3f);
            physObj.SceneNode = gameNode;
            physObj.Position  = gameNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));//Friction

            Physics.AddPhysObj(physObj);
        }
Exemple #21
0
        protected override void LoadModel()
        {
            RemoveMe   = false;
            gameEntity = mSceneMgr.CreateEntity("ogrehead.mesh");

            GameNode = mSceneMgr.CreateSceneNode();
            GameNode.AttachObject(gameEntity);
            mSceneMgr.RootSceneNode.AddChild(GameNode);

            physObj           = new PhysObj(10, "PowerUp", 0.1f, 0.5f);
            physObj.SceneNode = GameNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
        protected override void LoadModel()
        {
            RemoveMe = false;

            redGemElement = new ModelElement(mSceneMgr, "Gem.mesh");
            redGemElement.GameEntity.SetMaterialName("Red");
            redGemElement.GameNode.Scale(2, 2, 2);
            mSceneMgr.RootSceneNode.AddChild(redGemElement.GameNode);

            physObj           = new PhysObj(10, "Gem", 0.1f, 0.5f);
            physObj.SceneNode = redGemElement.GameNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            physObj.AddForceToList(new FrictionForce(physObj));
            Physics.AddPhysObj(physObj);
        }
        /// <summary>
        /// This method load the bomb mesh and its physics object
        /// </summary>
        private void Load()
        {
            removeMe   = false;
            bombEntity = mSceneMgr.CreateEntity("Bomb.mesh");

            bombNode = mSceneMgr.CreateSceneNode();
            bombNode.Scale(2, 2, 2);
            bombNode.AttachObject(bombEntity);
            mSceneMgr.RootSceneNode.AddChild(bombNode);

            physObj           = new PhysObj(10, "Bomb", 0.1f, 0.5f);
            physObj.SceneNode = bombNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
Exemple #24
0
        /// <summary>
        /// Load model and physiscs
        /// </summary>
        protected override void Load()
        {
            this.gameNode   = mSceneMgr.CreateSceneNode();
            this.gameEntity = mSceneMgr.CreateEntity("Bomb.mesh");
            this.gameNode.AttachObject(gameEntity);
            this.gameNode.Scale(new Vector3(3, 3, 3));
            mSceneMgr.RootSceneNode.AddChild(this.gameNode);

            this.physObj           = new PhysObj(5, "Bomb", 0.2f, 0.5f);
            this.physObj.SceneNode = gameNode;
            this.physObj.AddForceToList(new WeightForce(physObj.InvMass));
            this.physObj.AddForceToList(new FrictionForce(physObj));
            //this.physObj.AddForceToList(new ElasticForce(physObj, p2,1f,0.05f,0.1f));

            Physics.AddPhysObj(physObj);
        }
Exemple #25
0
        protected override void Load()
        {
            RemoveMe = false;

            gameEntity = mSceneMgr.CreateEntity("Sphere.mesh");
            GameNode   = mSceneMgr.CreateSceneNode();
            GameNode.Scale(2, 2, 2);
            GameNode.AttachObject(gameEntity);
            mSceneMgr.RootSceneNode.AddChild(GameNode);

            physObj           = new PhysObj(10, "CannonBall", 0.1f, 0.5f);
            physObj.SceneNode = GameNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
        protected void LoadModel()
        {
            remove     = false;
            gameEntity = mSceneMgr.CreateEntity("Target.mesh");
            gameNode   = mSceneMgr.CreateSceneNode();
            gameNode.AttachObject(gameEntity);
            gameNode.Scale(new Vector3(2, 2, 2));
            gameNode.Position = position;
            //       gameEntity.SetMaterialName("bGem");
            mSceneMgr.RootSceneNode.AddChild(gameNode);
            physObj           = new PhysObj(10, "Target", 0.1f, 0.5f);
            physObj.SceneNode = gameNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
        protected override void LoadModel()
        {
            base.LoadModel();
            remove    = false;
            gemEntity = mSceneMgr.CreateEntity("Gem.mesh");
            gemNode   = mSceneMgr.CreateSceneNode();
            gemNode.AttachObject(gemEntity);
            gemNode.Scale(new Vector3(3, 3, 3));
            gemNode.Position = position;
            gemEntity.SetMaterialName("bGem");
            mSceneMgr.RootSceneNode.AddChild(gemNode);
            physObj           = new PhysObj(10, "BlueGem", 0.01f, 0.5f);
            physObj.SceneNode = gemNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }
Exemple #28
0
        protected override void LoadModel()
        {
            base.LoadModel();
            this.gameNode   = mSceneMgr.CreateSceneNode();
            this.gameEntity = mSceneMgr.CreateEntity("Sphere.mesh");
            this.gameEntity.SetMaterialName("BlueSphere");
            //this.gameEntity.GetMesh().BuildEdgeList();
            this.gameNode.AttachObject(gameEntity);
            mSceneMgr.RootSceneNode.AddChild(gameNode);
            float radius = 10;

            physObj           = new PhysObj(radius, "ShieldPU", 0.1f, 0.7f, 0.3f);
            physObj.SceneNode = gameNode;
            physObj.Position  = gameNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));
            Physics.AddPhysObj(physObj);
        }
Exemple #29
0
        protected override void AssembleModel()
        {
            // Attach and assemble model
            mSceneMgr.RootSceneNode.AddChild(enemyNode1.GameNode);

            // Physics
            float radius = 8;

            physObj           = new PhysObj(radius, "Robot", 0.1f, 0.7f, 0.3f);
            physObj.SceneNode = enemyNode1.GameNode;
            //physObj.Position = enemyNode1.GameNode.Position;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);

            this.gameNode = enemyNode1.GameNode;
        }
Exemple #30
0
        protected override void Load()
        {
            remove = false;

            bombEntity = mSceneMgr.CreateEntity("Bomb.mesh");
            bombNode   = mSceneMgr.CreateSceneNode();
            bombNode.AttachObject(bombEntity);
            bombNode.Position = new Vector3(500, 300, 500);
            gameNode          = bombNode;
            bombNode.Scale(new Vector3(3, 3, 3));
            mSceneMgr.RootSceneNode.AddChild(bombNode);
            physObj           = new PhysObj(10, "Bomb", 0.1f, 0.5f);
            physObj.SceneNode = bombNode;
            physObj.AddForceToList(new WeightForce(physObj.InvMass));

            Physics.AddPhysObj(physObj);
        }