public void DeletedObject(Objects.Object deletedObject) { vehicles.Remove(deletedObject as Vehicle); lights.Remove(deletedObject as Lightbulb); various.Remove(deletedObject); // Cleanup object list, brute force // foreach (Vehicle vehicle in vehicles) { // if (vehicle == deletedObject) { // vehicles.Remove(vehicle); // return; // } // } // foreach (Objects.Object other in various) { // if (other == deletedObject) { // various.Remove(other); // return; // } // } // foreach (Lightbulb bulb in lights) { // if (bulb == deletedObject) { // lights.Remove(bulb); // return; // } // } }
/// <summary> /// Remove an object from the equipped objects list. /// </summary> /// <param name="removableObject">Object to be removed.</param> /// <returns>true if the object is removed, false otherwise.</returns> public bool RemoveObject(Objects.Object removableObject) { bool exits = false; foreach (Objects.Object playerObject in _equippedObjects) { if (playerObject == removableObject) { exits = true; } } if (exits == false) { return(false); } else { _equippedObjects.Remove(removableObject); if (_selectedObject >= _equippedObjects.Count) { _selectedObject = _equippedObjects.Count - 1; if (_selectedObject < 0) { _selectedObject = 0; } } _inside = false; return(true); } }
/// <summary> /// /// </summary> /// <param name="player"></param> /// <param name="newObject"></param> public EventData_ReloadGun(Player player, Objects.Object newObject) { _eventType = EventManager.EventType_ChangePlayerObjects; _player = player; _newObject = newObject; }
/// <summary> /// Add a new object to the list of objects. /// </summary> /// <param name="newObject">Object to be added to the list.</param> /// <returns>true if the object was added, false otherwise.</returns> public bool AddObject(Objects.Object newObject) { if (_objects.Count == 9) { return(false); } else { if (newObject is Ammo) { foreach (Objects.Object playerObject in _objects) { if (playerObject is Ammo && ((Ammo)playerObject).Type == ((Ammo)newObject).Type) { ((Ammo)playerObject).Amount += ((Ammo)newObject).Amount; } } } else { _objects.Add(newObject); OrderObjects(); } return(true); } }
/// <summary> /// Constructor of the <c>EventData_ThrowAway</c> class. /// </summary> /// <param name="player">Reference to the main player.</param> /// <param name="newObject">Reference to the object to be thrown away.</param> /// <param name="inventoryScreen">Reference to the screen that contains the player inventory.</param> public EventData_ThrowAway(Player player, Objects.Object newObject, InventoryScreen inventoryScreen) { _eventType = EventManager.EventType_ChangePlayerObjects; _player = player; _newObject = newObject; _inventoryScreen = inventoryScreen; }
public override async Task <ICompletion <INative> > ExecuteAsync(Scope scope) { var obj = new Objects.Object(); foreach (var member in Members) { obj.SetValue(member.Id, await member.ExecuteAsync(scope).GetResult()); } return(new Completion(obj)); }
/// <summary> /// Remove an object from the list of objects. /// </summary> /// <param name="removableObject">Object to be removed.</param> /// <returns>true if the object was removed, false otherwise.</returns> public bool RemoveObject(Objects.Object removableObject) { if (!_objects.Contains(removableObject)) { return(false); } List <Objects.Object> newList = new List <Object>(); for (int i = 0; i < _objects.Count; i++) { if (_objects[i] != removableObject) { newList.Add(_objects[i]); } else if (_objects[i].IsEquipped == true) { ((AnimatedModel)DModel).MeshesToDraw.Remove(_objects[i].Name); } } _objects = newList; // Order position of elements bool first = true; int _notEquippedIndex = 0; for (int i = 0; i < _objects.Count; i++) { if (!_objects[i].IsEquipped && first) { first = false; _objects[i].Position = _notEquippedIndex; _notEquippedIndex++; } else if (!_objects[i].IsEquipped) { _objects[i].Position = _notEquippedIndex; _notEquippedIndex++; } } return(true); }
/// <summary> /// Add a new object to the not equipped objects list. /// </summary> /// <param name="newObject">Object to be added.</param> /// <returns>true if the object is added, false otherwise.</returns> public bool AddObject(Objects.Object newObject) { if (_notEquippedObjects.Count == 9) { return(false); } _notEquippedObjects.Add(newObject); for (int i = 0; i < _notEquippedObjects.Count; i++) { if (_notEquippedObjects[i].Position != i) { _notEquippedObjects[i].Position = i; } } return(true); }
/// <summary> /// Remove an object from the not equipped objects list. /// </summary> /// <param name="removableObject">Object to be removed.</param> /// <returns>true if the object is removed, false otherwise.</returns> public bool RemoveObject(Objects.Object removableObject) { bool exits = false; foreach (Objects.Object playerObject in _notEquippedObjects) { if (playerObject == removableObject) { exits = true; } } if (exits == false) { return(false); } else { _notEquippedObjects.Remove(removableObject); // Order position of elements for (int i = 0; i < _notEquippedObjects.Count; i++) { if (_notEquippedObjects[i].Position != i) { _notEquippedObjects[i].Position = i; } } if (_selectedObject >= _notEquippedObjects.Count) { _selectedObject = _notEquippedObjects.Count - 1; if (_selectedObject < 0) { _selectedObject = 0; } } return(true); } }
/// <summary> /// Add a new object to the equipped objects list. /// </summary> /// <param name="newObject">Object to be added.</param> /// <returns>true if the object is added, false otherwise.</returns> public bool AddObject(Objects.Object newObject) { if (_equippedObjects.Count == 5) { return(false); } foreach (Objects.Object playerObject in _equippedObjects) { if (playerObject is Objects.Armature && newObject is Objects.Armature && ((Objects.Armature)playerObject).Type == ((Objects.Armature)newObject).Type) { return(false); } else if (playerObject is Objects.Weapon && newObject is Objects.Weapon) { return(false); } } _equippedObjects.Add(newObject); return(true); }
public FocusMessage(int id, Objects.Object sender) : base(id) { gSender = sender; }
/// <summary> /// Draw the equipped objects of the equipment screen. /// </summary> /// <param name="gameTime">Global time of the game.</param> public void Draw(GameTime gameTime) { Vector2 viewportSize = new Vector2( GameSettings.DefaultInstance.ResolutionWidth, GameSettings.DefaultInstance.ResolutionHeight); // Draw the background rectangle. ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("EquipmentBackground").BaseTexture as Texture2D, new Rectangle((int)_initialPosition.X, (int)_initialPosition.Y, (int)(viewportSize.X * 3f / 8f - InventoryScreen.HPad), (int)(viewportSize.Y * 6f / 8f - InventoryScreen.VPad * 2f)), new Color(255, 255, 255, 200)); // Draw each equipped object foreach (Objects.Object playerObject in _equippedObjects) { playerObject.Draw(gameTime); } if (!_focus || _equippedObjects.Count == 0) { return; } Objects.Object element = null; foreach (Objects.Object equippedObject in _equippedObjects) { if ((_selectedObject == 1 && equippedObject is Objects.Weapon) || (_selectedObject == 0 && equippedObject is Objects.Armature && ((Objects.Armature)equippedObject).Type == Objects.Armature.ArmatureType.Helmet) || (_selectedObject == 2 && equippedObject is Objects.Armature && ((Objects.Armature)equippedObject).Type == Objects.Armature.ArmatureType.Body) || (_selectedObject == 3 && equippedObject is Objects.Armature && ((Objects.Armature)equippedObject).Type == Objects.Armature.ArmatureType.Hand) || (_selectedObject == 4 && equippedObject is Objects.Armature && ((Objects.Armature)equippedObject).Type == Objects.Armature.ArmatureType.Foot)) { element = equippedObject; } } if (_selectedObject == 0) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 2.025f / 8f), (int)(viewportSize.Y * 1.38f / 8f), (int)(viewportSize.X * 0.73f / 8f), (int)(viewportSize.Y * 0.875f / 8f)), Color.White); if (_inside) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DialogBackground").BaseTexture as Texture2D, new Rectangle( (int)(viewportSize.X * 1.675f / 8f), (int)(viewportSize.Y * 2.255f / 8f), (int)(viewportSize.X * 1.5f / 8f), (int)(viewportSize.Y * 2.6f / 8f)), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_type") + ": " + StringHelper.DefaultInstance.Get("equipment_armature_type_helmet"), new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 2.5f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_defense") + ": " + ((Objects.Armature)element).Defense, new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 2.95f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_skill") + ": " + ((Objects.Armature)element).Skill, new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 3.4f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("SeparationBar").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.8f / 8f), (int)(viewportSize.Y * 3.75f / 8f), (int)(viewportSize.X * 1.25f / 8f), 3), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_unequip"), new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 3.85f / 8f), _selectedEntryMenu == 0 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_throw_away"), new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 4.3f / 8f), _selectedEntryMenu == 1 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); } } else if (_selectedObject == 1) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 3.105f / 8f), (int)(viewportSize.Y * 1.41f / 8f), (int)(viewportSize.X * 0.725f / 8f), (int)(viewportSize.Y * 2.28f / 8f)), Color.White); if (_inside) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DialogBackground").BaseTexture as Texture2D, new Rectangle( (int)(viewportSize.X * 2.75 / 8f), (int)(viewportSize.Y * 2.2f / 8f), (int)(viewportSize.X * 1.6f / 8f), (int)(viewportSize.Y * 2.6f / 8f)), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_weapon_type") + ": " + StringHelper.DefaultInstance.Get("equipment_weapon"), new Vector2(viewportSize.X * 2.875f / 8f, viewportSize.Y * 2.45f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_weapon_ammo") + ": " + ((Objects.Weapon)element).CurrentAmmo, new Vector2(viewportSize.X * 2.875f / 8f, viewportSize.Y * 2.905f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_weapon_power") + ": " + ((Objects.Weapon)element).Power, new Vector2(viewportSize.X * 2.875f / 8f, viewportSize.Y * 3.36f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("SeparationBar").BaseTexture, new Rectangle( (int)(viewportSize.X * 2.875f / 8f), (int)(viewportSize.Y * 3.71f / 8f), (int)(viewportSize.X * 1.25f / 8f), 3), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_unequip"), new Vector2( viewportSize.X * 2.875f / 8f, viewportSize.Y * 3.81f / 8f), _selectedEntryMenu == 0 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_throw_away"), new Vector2( viewportSize.X * 2.875f / 8f, viewportSize.Y * 4.265f / 8f), _selectedEntryMenu == 1 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); } } else if (_selectedObject == 2) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.825f / 8f), (int)(viewportSize.Y * 2.35f / 8f), (int)(viewportSize.X * 1.185f / 8f), (int)(viewportSize.Y * 3.5f / 8f)), Color.White); if (_inside) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DialogBackground").BaseTexture as Texture2D, new Rectangle( (int)(viewportSize.X * 1.675f / 8f), (int)(viewportSize.Y * 3.25f / 8f), (int)(viewportSize.X * 1.6f / 8f), (int)(viewportSize.Y * 2.6f / 8f)), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_type") + ": " + StringHelper.DefaultInstance.Get("equipment_armature_type_suit"), new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 3.495f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_defense") + ": " + ((Objects.Armature)element).Defense, new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 3.95f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_skill") + ": " + ((Objects.Armature)element).Skill, new Vector2(viewportSize.X * 1.8f / 8f, viewportSize.Y * 4.405f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("SeparationBar").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.8f / 8f), (int)(viewportSize.Y * 4.755f / 8f), (int)(viewportSize.X * 1.25f / 8f), 3), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_unequip"), new Vector2( viewportSize.X * 1.8f / 8f, viewportSize.Y * 4.855f / 8f), _selectedEntryMenu == 0 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_throw_away"), new Vector2( viewportSize.X * 1.8f / 8f, viewportSize.Y * 5.31f / 8f), _selectedEntryMenu == 1 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); } } else if (_selectedObject == 3) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.25f / 8f), (int)(viewportSize.Y * 3.87f / 8f), (int)(viewportSize.X * 0.5f / 8f), (int)(viewportSize.Y * 0.7f / 8f)), Color.White); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 3.095f / 8f), (int)(viewportSize.Y * 3.87f / 8f), (int)(viewportSize.X * 0.5f / 8f), (int)(viewportSize.Y * 0.7f / 8f)), Color.White); if (_inside) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DialogBackground").BaseTexture as Texture2D, new Rectangle( (int)(viewportSize.X * 1.7 / 8f), (int)(viewportSize.Y * 4.57f / 8f), (int)(viewportSize.X * 1.6f / 8f), (int)(viewportSize.Y * 2.6f / 8f)), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_type") + ": " + StringHelper.DefaultInstance.Get("equipment_armature_type_gloves"), new Vector2(viewportSize.X * 1.825f / 8f, viewportSize.Y * 4.815f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_defense") + ": " + ((Objects.Armature)element).Defense, new Vector2(viewportSize.X * 1.825f / 8f, viewportSize.Y * 5.27f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_skill") + ": " + ((Objects.Armature)element).Skill, new Vector2(viewportSize.X * 1.825f / 8f, viewportSize.Y * 5.725f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("SeparationBar").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.825f / 8f), (int)(viewportSize.Y * 6.075f / 8f), (int)(viewportSize.X * 1.25f / 8f), 3), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_unequip"), new Vector2( viewportSize.X * 1.825f / 8f, viewportSize.Y * 6.175f / 8f), _selectedEntryMenu == 0 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_throw_away"), new Vector2( viewportSize.X * 1.825f / 8f, viewportSize.Y * 6.63f / 8f), _selectedEntryMenu == 1 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); } } else { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.825f / 8f), (int)(viewportSize.Y * 5.99f / 8f), (int)(viewportSize.X * 0.555f / 8f), (int)(viewportSize.Y * 0.75f / 8f)), Color.White); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DummyTexture15T").BaseTexture, new Rectangle( (int)(viewportSize.X * 2.45f / 8f), (int)(viewportSize.Y * 5.99f / 8f), (int)(viewportSize.X * 0.555f / 8f), (int)(viewportSize.Y * 0.75f / 8f)), Color.White); if (_inside) { ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("DialogBackground").BaseTexture as Texture2D, new Rectangle( (int)(viewportSize.X * 1.65 / 8f), (int)(viewportSize.Y * 3.25f / 8f), (int)(viewportSize.X * 1.6f / 8f), (int)(viewportSize.Y * 2.75f / 8f)), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_type") + ": " + StringHelper.DefaultInstance.Get("equipment_armature_type_boots"), new Vector2(viewportSize.X * 1.775f / 8f, viewportSize.Y * 3.52f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_defense") + ": " + ((Objects.Armature)element).Defense, new Vector2(viewportSize.X * 1.775f / 8f, viewportSize.Y * 3.975f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_armature_skill") + ": " + ((Objects.Armature)element).Skill, new Vector2(viewportSize.X * 1.775f / 8f, viewportSize.Y * 4.43f / 8f), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.Draw(TextureManager.GetTexture("SeparationBar").BaseTexture, new Rectangle( (int)(viewportSize.X * 1.775f / 8f), (int)(viewportSize.Y * 4.885f / 8f), (int)(viewportSize.X * 1.25f / 8f), 3), Color.White); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_unequip"), new Vector2( viewportSize.X * 1.775f / 8f, viewportSize.Y * 4.985f / 8f), _selectedEntryMenu == 0 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); ScreenManager.SpriteBatch.DrawString(ScreenManager.FontEntriesSelected, StringHelper.DefaultInstance.Get("equipment_select_object_throw_away"), new Vector2( viewportSize.X * 1.775f / 8f, viewportSize.Y * 5.44f / 8f), _selectedEntryMenu == 1 ? Color.White : Color.SlateGray, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); } } }
/// <summary> /// Handle the input of the user in the equipment screen. /// </summary> /// <param name="input">Current state of the player input.</param> public void HandleInput(GameComponents.Input input) { if (input.Down) { if (!_inside) { if (_selectedObject == 0) { _selectedObject = 2; } else if (_selectedObject == 1) { _selectedObject = 3; } else if (_selectedObject == 2) { _selectedObject = 4; } else if (_selectedObject == 3) { _selectedObject = 1; } else { _selectedObject = 0; } } else { _selectedEntryMenu = _selectedEntryMenu - 1 < 0 ? 1 : 0; } } if (input.Up) { if (!_inside) { if (_selectedObject == 0) { _selectedObject = 4; } else if (_selectedObject == 1) { _selectedObject = 3; } else if (_selectedObject == 2) { _selectedObject = 0; } else if (_selectedObject == 3) { _selectedObject = 1; } else { _selectedObject = 2; } } else { _selectedEntryMenu = _selectedEntryMenu + 1 > 1 ? 0 : 1; } } if (input.Left) { if (!_inside) { if (_selectedObject == 0) { _selectedObject = 1; } else if (_selectedObject == 1) { _selectedObject = 0; } else if (_selectedObject == 2) { _selectedObject = 3; } else if (_selectedObject == 3) { _selectedObject = 2; } } } if (input.Right) { if (!_inside) { if (_selectedObject == 0) { _selectedObject = 1; } else if (_selectedObject == 1) { _selectedObject = 0; } else if (_selectedObject == 2) { _selectedObject = 3; } else if (_selectedObject == 3) { _selectedObject = 2; } } } if (input.Action) { if (!_inside) { //_inside = true; foreach (Objects.Object playerObject in _equippedObjects) { if (playerObject is Objects.Weapon && _selectedObject == 1) { _inside = true; } else if (playerObject is Objects.Armature && _selectedObject == 0 && ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Helmet) { _inside = true; } else if (playerObject is Objects.Armature && _selectedObject == 2 && ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Body) { _inside = true; } else if (playerObject is Objects.Armature && _selectedObject == 3 && ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Hand) { _inside = true; } else if (playerObject is Objects.Armature && _selectedObject == 4 && ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Foot) { _inside = true; } } } else { if (_selectedEntryMenu == 0) { Objects.Object element = null; for (int i = 0; i < _equippedObjects.Count && element == null; i++) { if (_selectedObject == 0 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Helmet) { element = _equippedObjects[i]; } else if (_selectedObject == 1 && _equippedObjects[i] is Objects.Weapon) { element = _equippedObjects[i]; } else if (_selectedObject == 2 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Body) { element = _equippedObjects[i]; } else if (_selectedObject == 3 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Hand) { element = _equippedObjects[i]; } else if (_selectedObject == 4 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Foot) { element = _equippedObjects[i]; } } if (element != null) { EventManager.Trigger(new EventData_UnequipObject(_player, element, _inventoryScreen)); } } else { Objects.Object element = null; for (int i = 0; i < _equippedObjects.Count && element == null; i++) { if (_selectedObject == 0 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Helmet) { element = _equippedObjects[i]; } else if (_selectedObject == 1 && _equippedObjects[i] is Objects.Weapon) { element = _equippedObjects[i]; } else if (_selectedObject == 2 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Body) { element = _equippedObjects[i]; } else if (_selectedObject == 3 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Hand) { element = _equippedObjects[i]; } else if (_selectedObject == 4 && _equippedObjects[i] is Objects.Armature && ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Foot) { element = _equippedObjects[i]; } } if (element != null) { EventManager.Trigger(new EventData_ThrowAway(_player, element, _inventoryScreen)); } } } } if (input.Cancel) { _inside = false; } }
public GlobalObject() { _values = new Objects.Object(); }
/// <summary> /// Change the state (equipped, not equipped) of an object. /// </summary> /// <param name="newObject">Object to be changed.</param> /// <param name="newState">New state of the object.</param> /// <returns></returns> public bool ChangeState(Objects.Object newObject, bool newState) { if (newState) { if (!_objects.Contains(newObject)) { return(false); } // Search for a equiped object foreach (Objects.Object playerObject in _objects) { if ((playerObject is Objects.Armature && playerObject.IsEquipped && newObject is Objects.Armature && ((Objects.Armature)playerObject).Type == ((Objects.Armature)newObject).Type) || (playerObject is Objects.Weapon && newObject is Objects.Weapon && playerObject.IsEquipped)) { playerObject.IsEquipped = false; ((InventoryScreen)ScreenManager.GetScreen("Inventory")).Inventory.AddObject(playerObject); ((AnimatedModel)DModel).MeshesToDraw.Remove(playerObject.Name); } } // Change the state of the new Object foreach (Objects.Object playerObject in _objects) { if (playerObject == newObject) { playerObject.IsEquipped = true; if (playerObject.Name.Contains("Gun")) { _gun = new Gun(playerObject.Name, ((Weapon)playerObject).Type, this, ((Weapon)playerObject).Power, ((Weapon)playerObject).CurrentAmmo); } else { ((AnimatedModel)DModel).MeshesToDraw.Add(playerObject.Name); } } } OrderObjects(); return(true); } else { if (!_objects.Contains(newObject)) { return(false); } foreach (Objects.Object playerObject in _objects) { if (playerObject == newObject) { if (playerObject.IsEquipped) { ((AnimatedModel)DModel).MeshesToDraw.Remove(playerObject.Name); } playerObject.IsEquipped = false; if (playerObject.Name.Contains("Gun")) { _gun = null; } } } OrderObjects(); return(true); } }
public Item(string name, string icon, Objects.Object @object) { Name = name; Icon = icon; NewObject = @object; }