예제 #1
0
        /// <summary>
        /// Event handler for when the user selects a different tank
        /// </summary>
        void SelectionChanged(object sender, TomShane.Neoforce.Controls.EventArgs e)
        {
            if (tanks.Length > 0)
            {
                form.PlayButton.Enabled   = true;
                form.EditButton.Enabled   = true;
                form.DeleteButton.Enabled = true;

                selectedTank = tanks[form.SelectedIndex];

                form.Armor = GameForms.Utils.ConvertFactorToProgressBar(selectedTank.armorFactor);
                form.Speed = GameForms.Utils.ConvertFactorToProgressBar(selectedTank.speedFactor);

                Scene scene = ServiceManager.Game.Renderer.ActiveScene;
                scene.ClearAll();

                tankObj = new Renderer.SceneTools.Entities.Object3(
                    ServiceManager.Resources.GetModel(@"tanks\" + selectedTank.model), Vector3.Zero);
                tankObj.MeshColor = Toolkit.GetColor(selectedTank.color);

                tank      = scene.Add(tankObj, 0);
                turretObj = new Renderer.SceneTools.Entities.Object3(
                    ServiceManager.Resources.GetModel(@"weapons\" + WeaponLoader.GetWeapon(selectedTank.weaponID).Model),
                    Vector3.Zero);

                turretObj.MeshColor = Toolkit.GetColor(selectedTank.color);
                turret = scene.Add(turretObj, 0);
                turretObj.Attach(tankObj, Constants.TURRET_MOUNT);

                ApplySkin();
            }
        }
예제 #2
0
        /// <summary>
        /// Populate the listboxes with turret and tank models
        /// </summary>
        private void PopulateBoxes()
        {
            List <object> turrets = new List <object>();

            //Populate turrets

            weapons = WeaponLoader.GetWeaponsAsList();

            foreach (Weapon weapon in weapons)
            {
                turrets.Add(weapon.Name);
            }

            form.Turrets = turrets;
            form.Tanks   = Utils.GetTankModels();

            Renderer.SceneTools.Scene scene = ServiceManager.Scene;

            selectedTankRenderID = scene.Add(
                ServiceManager.Resources.GetModel("tanks\\" + tank.model),
                Vector3.Zero, 0);
            selectedTank = scene.Access3D(selectedTankRenderID);

            selectedTurretRenderID = scene.Add(
                ServiceManager.Resources.GetModel("weapons\\" + WeaponLoader.GetWeapon(tank.weaponID).Model),
                Vector3.Zero, 0);
            selectedTurret = scene.Access3D(selectedTurretRenderID);
            selectedTurret.Attach(selectedTank, Constants.TURRET_MOUNT);
        }
예제 #3
0
        private void SetStatistics()
        {
            form.RatioValue = Utils.ConvertFactorToProgressBar(tank.armorFactor);

            form.TankIndex   = form.Tanks.IndexOf(tank.model);
            form.TurretIndex = form.Turrets.IndexOf(WeaponLoader.GetWeapon(tank.weaponID).Name);
        }
예제 #4
0
 /// <summary>
 /// Create a new Player object.
 /// </summary>
 /// <param name="_tank">Tank identifying this player.</param>
 public Player(GameSession.Tank _tank)
 {
     tank = _tank;
     MovementDirection = VTankObject.Direction.NONE;
     RotationDirection = VTankObject.Direction.NONE;
     Angle             = _tank.angle;
     Weapon            = WeaponLoader.GetWeapon(tank.attributes.weaponID);
 }
예제 #5
0
        /// <summary>
        /// Check to see if any changes have been made to the tank or turret of this tank.
        /// </summary>
        private void DetectChanges()
        {
            string currentTankWeapon = WeaponLoader.GetWeapon(tank.weaponID).Name;
            string currentTankModel  = tank.model;

            if (currentTankWeapon != selectedTurretName || currentTankModel != selectedTankModelName ||
                oldSkin != form.TankSkin)
            {
                changesMade = true;
            }
        }
예제 #6
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="_selectedTank">The selected tank used for editing</param>
 public EditTankState(VTankObject.TankAttributes _selectedTank)
 {
     tank = _selectedTank;
     selectedTankModelName = tank.model;
     selectedTurretName    = WeaponLoader.GetWeapon(tank.weaponID).Name;
 }