// C-TOR public Research(Ftue ftue, int minimalRank, GuiShop.E_ItemType itemType, int itemId) : base(ftue, minimalRank, itemType, itemId) { ScreenType = typeof(GuiScreenResearchMain); //GuiPopupViewResearchItem); LabelId = 9960051; DescriptionId = 9960052; }
// C-TOR public Equip(Ftue ftue, int minimalRank, GuiShop.E_ItemType itemType, int itemId) : base(ftue, minimalRank, itemType, itemId) { ScreenType = typeof(GuiEquipMenu); LabelId = 9960061; DescriptionId = 9960062; }
void SetSlotButtonMark(GuiShop.E_ItemType slotType, int slotIndex, bool highlight) { switch (slotType) { case GuiShop.E_ItemType.Weapon: m_WeaponSlots.Highlight(slotIndex, highlight); break; case GuiShop.E_ItemType.Item: m_ItemSlots.Highlight(slotIndex, highlight); break; case GuiShop.E_ItemType.Hat: m_HatSlots.Highlight(slotIndex, highlight); break; case GuiShop.E_ItemType.Skin: m_SkinSlots.Highlight(slotIndex, highlight); break; case GuiShop.E_ItemType.Perk: m_PerkSlots.Highlight(slotIndex, highlight); break; default: Debug.LogError("Unexpected slot type: " + slotType); break; } }
/*void OnButtonBack(bool inside) * { * if(!inside) * return; * * //GUI_Hide(); * //m_OnHideDelegate(); * * Owner.Back(); * }*/ void SelectSlot(GuiShop.E_ItemType slotType, int slotIndex) { switch (slotType) { case GuiShop.E_ItemType.Weapon: m_WeaponSlots.SelectSlotHACK(slotIndex); break; case GuiShop.E_ItemType.Item: m_ItemSlots.SelectSlotHACK(slotIndex); break; case GuiShop.E_ItemType.Skin: m_SkinSlots.SelectSlotHACK(slotIndex); break; case GuiShop.E_ItemType.Hat: m_HatSlots.SelectSlotHACK(slotIndex); break; case GuiShop.E_ItemType.Perk: m_PerkSlots.SelectSlotHACK(slotIndex); break; default: Debug.LogWarning("Unexpected type for slot selection: " + slotType); break; } }
string ThumbName(GuiShop.E_ItemType t) { switch (t) { case GuiShop.E_ItemType.Skin: return("Thumbnail_Skin"); case GuiShop.E_ItemType.Hat: return("Thumbnail_Hat"); default: return("Thumbnail_Default"); } }
public void Show(GuiShop.E_ItemType type, ShopItemId equipedId) { //Debug.Log("Show selection scroller: " + type + " id: " + equipedId); List <ShopItemId> items = null; switch (type) { case GuiShop.E_ItemType.Weapon: items = ShopDataBridge.Instance.GetOwnedWeapons(); break; case GuiShop.E_ItemType.Item: items = ShopDataBridge.Instance.GetOwnedItems(); break; case GuiShop.E_ItemType.Hat: items = ShopDataBridge.Instance.GetOwnedCaps(); break; case GuiShop.E_ItemType.Skin: items = ShopDataBridge.Instance.GetOwnedSkins(); break; case GuiShop.E_ItemType.Perk: items = ShopDataBridge.Instance.GetOwnedPerks(); break; default: Debug.LogError("TODO: support type " + type); break; } //Debug.Log("Inserting: " + items.Count); m_ItemScroller.Insert(items, true); m_ItemScroller.Show(); m_Equip_Button.Widget.Show(true, true); IsShown = true; SetEquipedItem(equipedId); SelectItem(equipedId); }
//-------------------------------------------------------------------------------- //-------------------------------------------------------------------------------- string ThumbName(GuiShop.E_ItemType t) { switch (t) { case GuiShop.E_ItemType.Skin: return("Bundle_Thumbnail_Skin"); case GuiShop.E_ItemType.Hat: return("Bundle_Thumbnail_Hat"); case GuiShop.E_ItemType.Account: return("Bundle_Thumbnail_Hat"); case GuiShop.E_ItemType.Item: return("Bundle_Thumbnail_Item"); default: return("Bundle_Thumbnail_Default"); } }
public void SetSelectedSlot(GuiShop.E_ItemType slotType, int slotIndex) { //hide prev selection (if any) if (SelectedSlotType != GuiShop.E_ItemType.None && SelectedSlotIndex != -1) { SetSlotButtonMark(SelectedSlotType, SelectedSlotIndex, false); } //show new selection SetSlotButtonMark(slotType, slotIndex, true); //remember selection SelectedSlotType = slotType; SelectedSlotIndex = slotIndex; if (slotType == GuiShop.E_ItemType.Weapon) { m_LastWeaponSlot = slotIndex; UpdateOutfitView(); } }
bool IsSlotLocked(GuiShop.E_ItemType slotType, int slotIndex) { switch (slotType) { case GuiShop.E_ItemType.Weapon: return(m_WeaponSlots.IsSlotLocked(slotIndex)); case GuiShop.E_ItemType.Item: return(m_ItemSlots.IsSlotLocked(slotIndex)); case GuiShop.E_ItemType.Skin: return(m_SkinSlots.IsSlotLocked(slotIndex)); case GuiShop.E_ItemType.Hat: return(m_HatSlots.IsSlotLocked(slotIndex)); case GuiShop.E_ItemType.Perk: return(m_PerkSlots.IsSlotLocked(slotIndex)); default: return(true); } }
public bool IsSlotWaiting(GuiShop.E_ItemType slotType, int slot) { switch (slotType) { case GuiShop.E_ItemType.Weapon: return(m_WeaponSlots.IsSlotWaiting(slot)); case GuiShop.E_ItemType.Item: return(m_ItemSlots.IsSlotWaiting(slot)); case GuiShop.E_ItemType.Skin: return(m_SkinSlots.IsSlotWaiting(slot)); case GuiShop.E_ItemType.Hat: return(m_HatSlots.IsSlotWaiting(slot)); case GuiShop.E_ItemType.Perk: return(m_PerkSlots.IsSlotWaiting(slot)); default: Debug.LogWarning("Unexpected type for slot selection: " + slotType); return(false); } }
// C-TOR public ItemBase(Ftue ftue, int minimalRank, GuiShop.E_ItemType itemType, int itemId) : base(ftue, minimalRank, false) { ItemType = itemType; ItemId = itemId; }
public ShopItemId(int id, GuiShop.E_ItemType type) { Id = id; ItemType = type; }
public GuiEquipSlots(GuiShop.E_ItemType type) { m_SlotItemType = type; }
void OnEquipAction(ShopItemId selItem, GuiShop.E_ItemType slotType, int slotIndex) { //zkontroluj zda evokujeme akci na spravnem typu slotu if (m_SlotItemType != slotType) { Debug.LogWarning("Trying equip action " + slotType + " on slot " + m_SlotItemType); return; } //zkontroluj zda se nesnazime vlozit predmet do spatneho typu slotu. Empty id znamena ze delame unequip. if (!selItem.IsEmpty() && selItem.ItemType != slotType) { Debug.LogWarning("Trying to equip item " + selItem + " into slot " + slotType + " with index " + slotIndex); return; } // check if we block any concurrent slot during switch action m_Items[slotIndex].m_BlockedSlotIndex = -1; if (!selItem.IsEmpty()) { for (int idx = 0; idx < m_Items.Count; ++idx) { if (idx == slotIndex) { continue; } if (m_Items[idx].m_ItemId.Id != selItem.Id) { continue; } m_Items[slotIndex].m_BlockedSlotIndex = idx; SetWaiting(idx, true); break; } } //check what is in our slot ShopItemId slotItem = GetSlot(slotIndex).m_ItemId; //operace kdy se snazime vlozit prazdny predmet do prazdneho slotu nema smysl if (selItem.IsEmpty() && slotItem.IsEmpty()) { Debug.LogWarning("Trying to equip empty item into empty slot: slotType " + slotType + " index " + slotIndex); return; } //show waiting sprite, disable button SetWaiting(slotIndex, true); ShopItemId groupItem = ShopDataBridge.Instance.EquipedGroupItem(selItem); //pokud uz je equipnuty predmet se stejnou grupou jakou ma predmet ktery se chystame vlozit, odtran predchozi predmet z equipu if (!selItem.IsEmpty() && !groupItem.IsEmpty() && GetItemSlotIndex(groupItem) != slotIndex && !ShopDataBridge.Instance.IsEquiped(selItem)) { //do slotu ktery mame vybrany vlozime to mame v selection int itemGUID = ShopDataBridge.Instance.GetShopItemGUID(selItem); //do slotu ktery obsahuje item ze stejne grupy jako je predmet ktery vkladame vlozime to co je v aktualnim slotu int slotGUID2 = ShopDataBridge.Instance.GetShopItemGUID(slotItem.IsEmpty() ? groupItem : slotItem); int groupSlot2 = GetItemSlotIndex(groupItem); //Debug.Log("Switching: " + selItem + ", slot " + slotIndex + " with " + slotItem + ", slot " + slotIndex2); SwitchAndFetchPPI action = new SwitchAndFetchPPI(CloudUser.instance.authenticatedUserID, itemGUID, slotIndex, selItem, slotGUID2, groupSlot2, slotItem, OnSwitchActionDone); GameCloudManager.AddAction(action); } else //pokud se do slotu snazime vlozit item ktery je j*z v jinem slotu, provedemi misto pouheho vlozen prohozeni obou predmetu. if (!selItem.IsEmpty() && !slotItem.IsEmpty() && ShopDataBridge.Instance.IsEquiped(selItem)) { //async switch action int itemGUID = ShopDataBridge.Instance.GetShopItemGUID(selItem); int slotIndex2 = GetItemSlotIndex(selItem); int itemGUID2 = ShopDataBridge.Instance.GetShopItemGUID(slotItem); //Debug.Log("Switching: " + selItem + ", slot " + slotIndex + " with " + slotItem + ", slot " + slotIndex2); SwitchAndFetchPPI action = new SwitchAndFetchPPI(CloudUser.instance.authenticatedUserID, itemGUID, slotIndex, selItem, itemGUID2, slotIndex2, slotItem, OnSwitchActionDone); GameCloudManager.AddAction(action); } else { //async equip/unequip action //pokud je selId empty, znamena ze budeme provadet unequip a musime ziskat guid predmetu ktery je ve slotu ted int itemGUID = ShopDataBridge.Instance.GetShopItemGUID(selItem.IsEmpty() ? slotItem : selItem); EquipAndFetchPPI action = new EquipAndFetchPPI(CloudUser.instance.authenticatedUserID, itemGUID, slotIndex, selItem, OnEquipActionDone); GameCloudManager.AddAction(action); } //Debug.Log("Starting equip action: time " + Time.time + " index " + slotIndex + " item " + selItem); // update scroll bar items GuiEquipSelection.Instance.UpdateScroller(); }