예제 #1
0
        public Bullet(Controller pController, Gun pOwnerGun, Int32 pColorIndex)
            : base(pController)
        {
            var bulletname = Methods.GenerateUniqueID.ToString();

            Node           = World.Instance.SceneManager.RootSceneNode.CreateChildSceneNode(bulletname);
            Node.IsVisible = false;
            MeshNode       = Node.CreateChildSceneNode();
            MeshNode.Scale = new Vector3(0.3, 0.3, 0.3);
            bulletMesh     = World.Instance.SceneManager.CreateEntity(bulletname, "bullet.mesh");
            MeshNode.AttachObject(bulletMesh);

            Reinitialize(pController, pOwnerGun, pColorIndex);
        }
예제 #2
0
        public Ship(SceneManager pSceneManager, Controller pController)
            : base(pController)
        {
            var name = Methods.GenerateUniqueID.ToString();

            Node                 = pSceneManager.RootSceneNode.CreateChildSceneNode(name);
            MeshNode             = Node.CreateChildSceneNode();
            MeshNode.Orientation = new Quaternion(0.5, 0.5, -0.5, -0.5);
            MeshNode.AttachObject(pSceneManager.CreateEntity(name, "ship_assault_1.mesh"));

            UpgradeGroup = new UpgradeGroup
            {
                CannonAutoFire  = { Level = 10 },
                CannonMultiFire = { Level = 10 },
                CannonSpeed     = { Level = 7 },
                CannonPower     = { Level = 5 }
            };

            cannon = new Cannon(this);
            UpgradeGroup.UpgradeCannon(ref cannon, UpgradeGroup);
        }