public void OnForgeFilterPointerEnter(ForgeFilter forgeFilter) { if (forgeFilter != selectedFilter) { forgeFilter.border.color = hoveredFilterColor; } }
public void OnForgeFilterPointerExit(ForgeFilter forgeFilter) { if (forgeFilter != selectedFilter) { forgeFilter.border.color = defaultFilterColor; } }
public void OnForgeFilterPointerClick(ForgeFilter forgeFilter, bool checkMouse = true) { if (checkMouse && !Input.GetMouseButtonUp(0)) { return; } selectedFilter = forgeFilter; foreach (ForgeFilter filter in filters) { if (filter != selectedFilter) { filter.border.color = defaultFilterColor; filter.border.sprite = defaultFilterBorder; } else { filter.border.color = selectedFilterColor; filter.border.sprite = selectedFilterBorder; } } LoadFilter(selectedFilter); }
private void LoadFilter(ForgeFilter filter) { FreeForgeItems(); avatar.weapon.Equip(PlayerController.MainInstance.weapon.equipedItem.type); avatar.second.Equip(PlayerController.MainInstance.secondHand.equipedItem.type); avatar.head.Equip(PlayerController.MainInstance.head.equipedItem.type); avatar.body.Equip(PlayerController.MainInstance.body.equipedItem.type, false); avatar.shield.Equip(PlayerController.MainInstance.shield.equipedItem.type); avatar.backpack.Equip(PlayerController.MainInstance.backpack.equipedItem.type); avatar.AnimationParameterRefresh(); int itemCount = 0; Vector3 position = new Vector3(0, 0, 0); switch (filter.type) { case Item.ItemType.Weapon: foreach (KeyValuePair <WeaponItem.Type, WeaponItem> entry in Arsenal.Instance.weaponDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, true, entry.Value.dammage, false, 0); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.weaponDictionary.Count; break; case Item.ItemType.Head: foreach (KeyValuePair <HeadItem.Type, HeadItem> entry in Arsenal.Instance.headDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, true, entry.Value.armor); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.headDictionary.Count; break; case Item.ItemType.Body: foreach (KeyValuePair <BodyItem.Type, BodyItem> entry in Arsenal.Instance.bodyDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, true, entry.Value.armor); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.bodyDictionary.Count; break; case Item.ItemType.Second: foreach (KeyValuePair <SecondItem.Type, SecondItem> entry in Arsenal.Instance.secondDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, true, entry.Value.dammage, false, 0); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.secondDictionary.Count; break; case Item.ItemType.Shield: foreach (KeyValuePair <ShieldItem.Type, ShieldItem> entry in Arsenal.Instance.shieldDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, true, entry.Value.armor); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.shieldDictionary.Count; break; case Item.ItemType.Backpack: foreach (KeyValuePair <BackpackItem.Type, BackpackItem> entry in Arsenal.Instance.backpackDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, false, 0); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.backpackDictionary.Count; break; case Item.ItemType.None: foreach (KeyValuePair <WeaponItem.Type, WeaponItem> entry in Arsenal.Instance.weaponDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, true, entry.Value.dammage, false, 0); position -= spacing * Vector3.up; } foreach (KeyValuePair <HeadItem.Type, HeadItem> entry in Arsenal.Instance.headDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, true, entry.Value.armor); position -= spacing * Vector3.up; } foreach (KeyValuePair <BodyItem.Type, BodyItem> entry in Arsenal.Instance.bodyDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, true, entry.Value.armor); position -= spacing * Vector3.up; } foreach (KeyValuePair <SecondItem.Type, SecondItem> entry in Arsenal.Instance.secondDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, true, entry.Value.dammage, false, 0); position -= spacing * Vector3.up; } foreach (KeyValuePair <ShieldItem.Type, ShieldItem> entry in Arsenal.Instance.shieldDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, true, entry.Value.armor); position -= spacing * Vector3.up; } foreach (KeyValuePair <BackpackItem.Type, BackpackItem> entry in Arsenal.Instance.backpackDictionary) { ForgeItem item = GetItem(); item.transform.localPosition = position; AssignBasics(item, entry.Value, entry.Value.Summarize()); AssignCost(item, entry.Value.crafting); AssignStats(item, entry.Value.load, false, 0, false, 0); position -= spacing * Vector3.up; } itemCount = Arsenal.Instance.craftableItemCount; break; default: break; } itemListContainer.sizeDelta = new Vector2(itemListContainer.sizeDelta.x, spacing * itemCount); }