private void AddItemInstanceToSlot(QuincySlot slot, Item item) { var scene = (PackedScene)ResourceLoader.Load("res://QuincyItem.tscn"); QuincyItem qItem = (QuincyItem)scene.Instance(); slot.AddChild(qItem); slot.Item = qItem; slot.Item.SetItem(item); qItem.Theme = (Theme)ResourceLoader.Load("res://TextureRect.tres"); }
public void SetUpInventory(List <Item> inventory) { for (int i = 0; i < 40; i++) { if (i < inventory.Count) { QuincySlot slot = (QuincySlot)FindNode($"QuincySlot{i + 1}"); AddItemInstanceToSlot(slot, inventory[i]); } } }
public void LoadSlot(QuincySlot slot) { CurrentSlot = slot; GD.Print(CurrentSlot.Item.Item.Type); switch (slot.Item.Item.Type) { case ItemType.Food: case ItemType.Drink: case ItemType.Potion: BtnConsume.Disabled = false; break; } }
/// <summary>Assign all controls.</summary> private void AssignControls() { GridInventory = (GridContainer)GetNode("Panel/GridInventory"); QuincyEquipment = (QuincyEquipment)GetNode("QuincyEquipment"); Orphanage = (Control)GetTree().CurrentScene.FindNode("Orphanage"); WeaponSlot = (QuincySlot)QuincyEquipment.GetNode("WeaponSlot"); HeadSlot = (QuincySlot)QuincyEquipment.GetNode("HeadSlot"); BodySlot = (QuincySlot)QuincyEquipment.GetNode("BodySlot"); HandsSlot = (QuincySlot)QuincyEquipment.GetNode("HandsSlot"); LegsSlot = (QuincySlot)QuincyEquipment.GetNode("LegsSlot"); FeetSlot = (QuincySlot)QuincyEquipment.GetNode("FeetSlot"); LeftRingSlot = (QuincySlot)QuincyEquipment.GetNode("LeftRingSlot"); RightRingSlot = (QuincySlot)QuincyEquipment.GetNode("RightRingSlot"); WeaponSlot.ItemTypes = new List <ItemType> { ItemType.MeleeWeapon, ItemType.RangedWeapon }; HeadSlot.ItemTypes = new List <ItemType> { ItemType.HeadArmor }; BodySlot.ItemTypes = new List <ItemType> { ItemType.BodyArmor }; HandsSlot.ItemTypes = new List <ItemType> { ItemType.HandArmor }; LegsSlot.ItemTypes = new List <ItemType> { ItemType.LegArmor }; FeetSlot.ItemTypes = new List <ItemType> { ItemType.FeetArmor }; LeftRingSlot.ItemTypes = new List <ItemType> { ItemType.Ring }; RightRingSlot.ItemTypes = new List <ItemType> { ItemType.Ring }; }