public EquipmentUiItem(EquipmentButton control, Equipment equipment, int uiIndex, Rectangle uiRect) { Control = control ?? throw new ArgumentNullException(nameof(control)); Equipment = equipment ?? throw new ArgumentNullException(nameof(equipment)); UiIndex = uiIndex; UiRect = uiRect; }
public void AddEquipment(EquipmentLayout equip) { if (!_equipments.Contains(equip)) { _equipments.Add(equip); EquipmentButton newButton = Instantiate(_templateButton, Vector3.zero, Quaternion.identity, transform); newButton.Equipment = equip; } }
public void OpenInventory(EquipmentButton button = null) { clickedEquipment = null; HideSelectedItemCursor(); ShowSubMenu(inventorySubMenu); UpdateStats(); SetInventory(button); UpdateMiniStatPanel(); }
private void LoadEquipment(SaveData data) { foreach (EquipmentData equipmentData in data.MyEquipmentData) { EquipmentButton eb = Array.Find(equipment, x => x.name == equipmentData.MyType); eb.EquipArmor(Array.Find(items, x => x.MyTitle == equipmentData.MyTitle) as Armor); } }
private void generateButton(Item item) { GameObject newButton = (GameObject)GameObject.Instantiate(prefab); newButton.transform.SetParent(contentPanel); EquipmentButton button = newButton.GetComponent <EquipmentButton>(); button.Setup(item, this); }
public void ClickEquipment(EquipmentButton button) { PlayClickSound(); itemSubMenu.slot = button.slot; itemSubMenu.fromEquipScreen = true; clickedEquipment = button.equippedItem; Debug.Log("Item ID: " + button.id); ShowSubWindow(windows[1]); OpenInventory(button); }
void OnClickEquipment(BaseEventData data) { EquipmentSlot[] slots = { EquipmentSlot.Ring, EquipmentSlot.Amulet, EquipmentSlot.Offhand, EquipmentSlot.Weapon, EquipmentSlot.Body, EquipmentSlot.Head }; EquipmentButton equipBut = data.selectedObject.GetComponent <EquipmentButton>(); if (equipBut != null && equipBut.item != null) { Debug.Log(equipBut.item.Name); euser.DisequipItem(equipBut.item); } }
private void InitEquipment(IPerson person) { var equipmentModule = person.GetModuleSafe <IEquipmentModule>(); if (equipmentModule is null) { throw new InvalidOperationException( "Active person must be able to use equipment to shown in this dialog."); } var currentEquipmentItemList = new List <EquipmentUiItem>(); foreach (var equipment in equipmentModule) { if (equipment is null) { continue; } var lastIndex = currentEquipmentItemList.Count; var relativeX = lastIndex * (EQUIPMENT_ITEM_SIZE + EQUIPMENT_ITEM_SPACING); var buttonRect = new Rectangle( relativeX + ContentRect.Left, ContentRect.Top, EQUIPMENT_ITEM_SIZE, EQUIPMENT_ITEM_SIZE); var sid = equipment.Scheme.Sid; if (string.IsNullOrEmpty(sid)) { Debug.Fail("All equipment must have symbolic identifier (SID)."); sid = "EmptyPropIcon"; } var equipmentButton = new EquipmentButton( _uiContentStorage.GetButtonTexture(), _uiContentStorage.GetPropIconLayers(sid), buttonRect, new Rectangle(0, 0, EQUIPMENT_ITEM_SIZE, EQUIPMENT_ITEM_SIZE)); var uiItem = new EquipmentUiItem(equipmentButton, equipment, lastIndex, buttonRect); currentEquipmentItemList.Add(uiItem); } _currentEquipmentItems = currentEquipmentItemList.ToArray(); }
// Start is called before the first frame update void Start() { draggedItem = null; holdItem = false; // isOnEquipButton = true; placedOnGround = false; itemOriginalScale = transform.localScale; goManager = GameObject.Find("GameObjectManager"); go = goManager.GetComponent <GOManagement>(); raycaster = go.clickManagement.raycaster; equipmentState = go.equipmentState.GetComponent <EquipmentState>(); // ob = go.ob.GetComponent<ObManagement>(); textbox = go.textbox; equipButton = go.equipButton; equipButtonManager = equipButton.GetComponent <EquipmentButton>(); itemName = go.itemName; clickInScene = goManager.GetComponent <ClickInScene>(); }
private void AddEquipmentButtons(Equipment.TypeOfEquipment _type) { // Adds all avaliable equipment of type to equip into the scroll container. foreach (Item item in player.Inventory.Items) { if (item.SelectedTypeOfItem == Item.ItemType.Equipment) { Equipment equipment = item as Equipment; // If the item is equipment, it needs to be casted to the equipment class for further use if (!equipment.Equipped && equipment.SelectedTypeOfEquipment == _type) // Items already equipped won't show up in the scroll container { EquipmentButton equipmentButton = equipmentButtonScene.Instance() as EquipmentButton; equipmentButton.InitializeButton(equipment, this, player); equipmentContainer.AddChild(equipmentButton); } } } }
void OnMouseOverEquipment(PointerEventData data) { //Debug.Log(data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent<EquipmentButton>().item.FlavorText); EquipmentButton equipBut = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <EquipmentButton>(); if (equipBut != null && equipBut.item != null) { descriptionText.text = equipBut.item.FlavorText; longNameText.text = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <EquipmentButton>().item.LongName; //image.sprite = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent<EquipmentButton>().item.Sprite; var sprite = user.LoadedAssetBundle.LoadAsset <Sprite>(data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <EquipmentButton>().item.SpriteName); image.sprite = sprite; image.color = new Color(1, 1, 1, 1); statsShown = true; Item item = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <EquipmentButton>().item; Text tooltext = statsBlock.GetComponentInChildren <Text>(); tooltext.text = ""; foreach (Stat stat in item.Stats) { string value = Stat.GetStatString(stat); tooltext.text += stat.Name + ": " + value + "\n"; } } }
private void Awake() { _equipments = new List <EquipmentLayout>(); _templateButton = Resources.Load <EquipmentButton>("Prefabs/EquipmentButton"); }
public void SetInventory(EquipmentButton button = null) { var inventory = InventoryManager.instance.inventory; if (button != null) { var item = button.equippedItem; var handFilter = new List <EquipmentTypes>(); if (button.slot == EquipmentSlots.MainHand) { handFilter.Add(EquipmentTypes.HeavyWeapon); handFilter.Add(EquipmentTypes.LightWeapon); handFilter.Add(EquipmentTypes.MagicWeapon); } else if (button.slot == EquipmentSlots.OffHand) { handFilter.Add(EquipmentTypes.LightWeapon); handFilter.Add(EquipmentTypes.Shield); } inventory = inventory.Where(i => i.itemType == button.itemType).ToList(); if (handFilter.Count > 0) { var equipment = inventory.Cast <Hands>(); inventory = equipment.Where(e => handFilter.Contains(e.equipmentType)).Cast <Item>().ToList(); } if (button.equippedItem != null && button.equippedItem.name != "Unarmed") { removeItem.gameObject.SetActive(true); } else { removeItem.gameObject.SetActive(false); } } else { removeItem.gameObject.SetActive(false); } for (var i = 0; i < itemButtons.Length; i++) { if (i >= inventory.Count) { itemButtons[i].gameObject.SetActive(false); } else { itemButtons[i].gameObject.SetActive(true); itemButtons[i].buttonId = i; itemButtons[i].item = inventory[i]; itemButtons[i].nameText.text = inventory[i].name; itemButtons[i].buttonImage.sprite = inventory[i].sprite; itemButtons[i].buttonLongPress.description = inventory[i].name + "\n"; itemButtons[i].buttonLongPress.description += inventory[i].description + "\n"; itemButtons[i].buttonLongPress.description += inventory[i].GetStatsString(); if (inventory[i].itemType == ItemTypes.Consumable) { itemButtons[i].quantityText.text = "x" + inventory[i].quantity; } else { itemButtons[i].quantityText.gameObject.SetActive(false); } } } }
private void InitEquipment(IPerson person, Rectangle rect) { var equipmentModule = person.GetModuleSafe <IEquipmentModule>(); if (equipmentModule is null) { throw new InvalidOperationException( "Active person must be able to use equipment to shown in this dialog."); } var currentEquipmentItemList = new List <EquipmentUiItem>(); var equipmentSlotList = equipmentModule.Slots.ToArray(); for (var itemIndex = 0; itemIndex < equipmentSlotList.Length; itemIndex++) { var slot = equipmentSlotList[itemIndex]; var sid = string.Empty; Equipment equipment = null; if (equipmentModule[itemIndex] is not null) { equipment = equipmentModule[itemIndex]; sid = equipment.Scheme.Sid; if (string.IsNullOrEmpty(sid)) { Debug.Fail("All equipment must have symbolic identifier (SID)."); sid = "EmptyPropIcon"; } } else { switch (slot.Types) { case EquipmentSlotTypes.Head: sid = "HeadSlot"; break; case EquipmentSlotTypes.Body: sid = "BodySlot"; break; case EquipmentSlotTypes.Hand: if (slot.IsMain) { sid = "RightHandSlot"; } else { sid = "LeftHandSlot"; } break; case EquipmentSlotTypes.Aux: sid = "AuxSlot"; break; } } var relativeY = itemIndex * (EQUIPMENT_ITEM_SIZE + EQUIPMENT_ITEM_SPACING); var buttonRect = new Rectangle( rect.Left, rect.Top + relativeY, EQUIPMENT_ITEM_SIZE, EQUIPMENT_ITEM_SIZE); var equipmentButton = new EquipmentButton( _uiContentStorage.GetButtonTexture(), _uiContentStorage.GetPropIconLayers(sid), buttonRect, new Rectangle(0, 0, EQUIPMENT_ITEM_SIZE, EQUIPMENT_ITEM_SIZE)); var uiItem = new EquipmentUiItem(equipmentButton, equipment, itemIndex, buttonRect); currentEquipmentItemList.Add(uiItem); } _currentEquipmentItems = currentEquipmentItemList.ToArray(); }
private void Start() { for (int i = 0; i < transform.childCount; i++) { if (transform.GetChild(i).name.Equals("Stored")) { stored = gameObject.transform.GetChild(i).gameObject; storedButtons = stored.GetComponentsInChildren <Button>(); } else if (transform.GetChild(i).name.Equals("Equipment")) { equipment = gameObject.transform.GetChild(i).gameObject; equipmentButtons = equipment.GetComponentsInChildren <Button>(); } else if (transform.GetChild(i).name.Equals("StatsBlock")) { statsBlock = gameObject.transform.GetChild(i).gameObject; for (int j = 0; j < statsBlock.transform.childCount; j++) { if (statsBlock.transform.GetChild(j).name.Equals("DescText")) { descriptionText = statsBlock.transform.GetChild(j).gameObject.GetComponent <Text>(); } else if (statsBlock.transform.GetChild(j).name.Equals("SpriteImage")) { image = statsBlock.transform.GetChild(j).gameObject.GetComponent <Image>(); } else if (statsBlock.transform.GetChild(j).name.Equals("LongName")) { longNameText = statsBlock.transform.GetChild(j).gameObject.GetComponent <Text>(); } } } } for (int i = 0; i < 6; i++) { EventTrigger ev = equipmentButtons[i].GetComponent <EventTrigger>(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; entry.callback.AddListener((eventData) => { OnClickEquipment(eventData); }); ev.triggers.Add(entry); EventTrigger.Entry entry2 = new EventTrigger.Entry(); entry2.eventID = EventTriggerType.PointerEnter; entry2.callback.AddListener((eventData) => { OnMouseOverEquipment((PointerEventData)eventData); }); ev.triggers.Add(entry2); EventTrigger.Entry entry3 = new EventTrigger.Entry(); entry3.eventID = EventTriggerType.PointerExit; entry3.callback.AddListener((eventData) => { OnMouseExitEquipment((PointerEventData)eventData); }); ev.triggers.Add(entry3); EquipmentButton equipmentButtonScript = equipmentButtons[i].GetComponent <EquipmentButton>(); equipmentButtonScript.position = i; } for (int i = 0; i < storedButtons.Length; i++) { EventTrigger ev = storedButtons[i].GetComponent <EventTrigger>(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerClick; entry.callback.AddListener((eventData) => { OnClickInventory((PointerEventData)eventData); }); ev.triggers.Add(entry); EventTrigger.Entry entry2 = new EventTrigger.Entry(); entry2.eventID = EventTriggerType.PointerEnter; entry2.callback.AddListener((eventData) => { OnMouseOverInventory((PointerEventData)eventData); }); ev.triggers.Add(entry2); InventoryButton inventoryButtonScript = storedButtons[i].GetComponent <InventoryButton>(); inventoryButtonScript.position = i; EventTrigger.Entry entry3 = new EventTrigger.Entry(); entry3.eventID = EventTriggerType.PointerExit; entry3.callback.AddListener((eventData) => { OnMouseExitInventory((PointerEventData)eventData); }); ev.triggers.Add(entry3); } // image = gameObject.transform.GetChild(4).gameObject.GetComponent<Image>(); }
private void Update() { Debug.Log(storedButtons.Length); for (int i = 0; i < storedButtons.Length; i++) { InventoryButton inventoryButtonScript = storedButtons[i].GetComponent <InventoryButton>(); Image buttonImage = storedButtons[i].transform.GetChild(1).GetComponent <Image>(); Debug.Log(user.Items.Count); if (user.Items.Count > i) { Item go = user.Items[i]; string name = go.Name; //Debug.Log(user.Items[i].Name); // Debug.Log(go.Name); if (name.Length > strLength) { name = name.Substring(0, strLength) + "..."; } inventoryButtonScript.item = go; //Debug.Log("[InventoryUI.Update] user = "******"[InventoryUI.Update] user.LoadedAssetBundle = " + user.LoadedAssetBundle); //Debug.Log("[InventoryUI.Update] inventoryButtonScript = " + inventoryButtonScript); //Debug.Log("[InventoryUI.Update] inventoryButtonScript.item = " + inventoryButtonScript.item); var sprite = user.LoadedAssetBundle.LoadAsset <Sprite>(inventoryButtonScript.item.SpriteName); buttonImage.sprite = sprite; buttonImage.color = new Color(1, 1, 1, 1); } else { Text textfield = storedButtons[i].GetComponentInChildren <Text>(); textfield.text = ""; textfield.color = Color.black; inventoryButtonScript.item = Item.Null; buttonImage.sprite = null; buttonImage.color = new Color(0.13333333333333333333333333333f, 0.12549019607f, 0.12549019607f, 1.0f); } } for (int i = 0; i < 6; i++) { EquipmentSlot[] slots = { EquipmentSlot.Ring, EquipmentSlot.Amulet, EquipmentSlot.Offhand, EquipmentSlot.Weapon, EquipmentSlot.Body, EquipmentSlot.Head }; Item go = euser.Equipment[slots[i]]; EquipmentButton equipmentButtonScript = equipmentButtons[i].GetComponent <EquipmentButton>(); Image equipmentButtonImage = equipmentButtons[i].transform.GetChild(0).GetComponent <Image>(); if (go.EquipmentSlot != EquipmentSlot.Null) { equipmentButtonScript.item = go; string name = go.Name; if (name.Length > strLength) { name = name.Substring(0, strLength) + "..."; } var sprite = user.LoadedAssetBundle.LoadAsset <Sprite>(equipmentButtonScript.item.SpriteName); equipmentButtonImage.sprite = sprite; equipmentButtonImage.color = new Color(1, 1, 1, 1); } else { equipmentButtonImage.sprite = null; equipmentButtonImage.color = baseColor; } } if (statsShown) { statsBlock.transform.localPosition = Vector3.MoveTowards(statsBlock.transform.localPosition, visibleLoc, 900 * Time.deltaTime); } else { statsBlock.transform.localPosition = Vector3.MoveTowards(statsBlock.transform.localPosition, hiddenLoc, 900 * Time.deltaTime); } }