コード例 #1
0
        // 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;
        }
コード例 #2
0
        // 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;
        }
コード例 #3
0
ファイル: GuiEquipMenu.cs プロジェクト: huokele/shadow-gun
    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;
        }
    }
コード例 #4
0
ファイル: GuiEquipMenu.cs プロジェクト: huokele/shadow-gun
    /*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;
        }
    }
コード例 #5
0
    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");
        }
    }
コード例 #6
0
    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);
    }
コード例 #7
0
    //--------------------------------------------------------------------------------
    //--------------------------------------------------------------------------------
    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");
        }
    }
コード例 #8
0
ファイル: GuiEquipMenu.cs プロジェクト: huokele/shadow-gun
    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();
        }
    }
コード例 #9
0
ファイル: GuiEquipMenu.cs プロジェクト: huokele/shadow-gun
    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);
        }
    }
コード例 #10
0
ファイル: GuiEquipMenu.cs プロジェクト: huokele/shadow-gun
    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);
        }
    }
コード例 #11
0
        // C-TOR

        public ItemBase(Ftue ftue, int minimalRank, GuiShop.E_ItemType itemType, int itemId)
            : base(ftue, minimalRank, false)
        {
            ItemType = itemType;
            ItemId   = itemId;
        }
コード例 #12
0
ファイル: GuiShopItemId.cs プロジェクト: huokele/shadow-gun
 public ShopItemId(int id, GuiShop.E_ItemType type)
 {
     Id       = id;
     ItemType = type;
 }
コード例 #13
0
ファイル: GuiEquipSlots.cs プロジェクト: huokele/shadow-gun
 public GuiEquipSlots(GuiShop.E_ItemType type)
 {
     m_SlotItemType = type;
 }
コード例 #14
0
ファイル: GuiEquipSlots.cs プロジェクト: huokele/shadow-gun
    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();
    }