/// <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(); } }
/// <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); }
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); }
/// <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); }
/// <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; } }
/// <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; }