Beispiel #1
0
    void OnSorted()
    {
        m_Creatures = m_SortInfo.GetSortedCreatures();

        List <HeroesInfoItem> items = new List <HeroesInfoItem>();

        for (int i = 0; i < m_HeroGrid.transform.childCount; ++i)
        {
            items.Add(m_HeroGrid.transform.GetChild(i).gameObject.GetComponent <HeroesInfoItem>());
        }
        m_HeroGrid.transform.DetachChildren();

        foreach (Creature creature in m_Creatures)
        {
            if (creature.Grade == 0)
            {
                continue;
            }

            HeroesInfoItem item = items.Find(i => i.Creature == creature);
            item.transform.SetParent(m_HeroGrid.transform, true);
            items.Remove(item);
        }

        foreach (var item in items)
        {
            item.transform.SetParent(m_HeroGrid.transform, true);
        }

        m_HeroGrid.Reposition();
        m_HeroScroll.ResetPosition();
    }
Beispiel #2
0
    void InitHeroItem()
    {
        m_HeroScroll.transform.parent.gameObject.SetActive(true);
        m_PartyScroll.gameObject.SetActive(false);
        m_PieceScroll.gameObject.SetActive(false);
        m_BookPanel.SetActive(false);

        heroItemPrefabManager.Clear();

        m_Creatures = m_SortInfo.GetSortedCreatures();

        foreach (Creature creature in m_Creatures)
        {
            if (creature.Grade == 0)
            {
                continue;
            }

            HeroesInfoItem item = heroItemPrefabManager.GetNewObject <HeroesInfoItem>(m_HeroGrid.transform, Vector3.zero);
            item.Init(creature, OnSelectCharacter);
        }

        int count = m_HeroGrid.transform.childCount;

        while (count++ % m_HeroGrid.maxPerLine != 0)
        {
            HeroesInfoItem item = heroItemPrefabManager.GetNewObject <HeroesInfoItem>(m_HeroGrid.transform, Vector3.zero);
            item.Init(null, null);
        }

        m_HeroGrid.Reposition();
        m_HeroScroll.ResetPosition();

        RefreshInfo();
        UpdateSalePrice(0);
    }
Beispiel #3
0
    void OnSelectCharacter(HeroesInfoItem item)
    {
        if (m_HeroSalePanel.activeSelf == false)
        {
            MenuParams menu = new MenuParams();
            menu.AddParam("Creature", item.Creature);
            menu.AddParam("Creatures", m_Creatures);
            GameMain.Instance.ChangeMenu(GameMenu.HeroInfoDetail, menu);
        }
        else
        {
            if (item.m_SpriteSelected.gameObject.activeSelf == true)
            {
                item.SetSelect(false);
                m_SaleSelected.Remove(item);
                UpdateSalePrice(m_SalePrice - item.Creature.SalePrice);
            }
            else
            {//select
                if (item.Creature.IsLock)
                {
                    Popup.Instance.ShowMessageKey("HeroSaleConfirmTeamLocked");
                    return;
                }
                if (TeamDataManager.Instance.CheckTeam(item.Creature.Idx, PacketEnums.pe_Team.PVP_Defense) == true)
                {
                    m_SelectConfirmItem = item;
                    Popup.Instance.ShowMessageKey("HeroSaleConfirmTeamPVPDefense");
                    return;
                }
                if (TeamDataManager.Instance.CheckTeam(item.Creature.Idx) != PacketEnums.pe_Team.Invalid)
                {
                    m_SelectConfirmItem = item;
                    Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "HeroSaleConfirmTeam");
                    return;
                }
                if (item.Creature.Enchant > 0)
                {
                    m_SelectConfirmItem = item;
                    Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "SelectCreatureConfirmEnchanted");
                    return;
                }
                if (item.Creature.Armor.EnchantLevel > 0 || item.Creature.Weapon.EnchantLevel > 0)
                {
                    m_SelectConfirmItem = item;
                    Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "SelectCreatureConfirmEquipEnchanted");
                    return;
                }
                if (item.Creature.Runes.Count > 0)
                {
                    m_SelectConfirmItem = item;
                    Popup.Instance.ShowConfirmKey(new PopupConfirm.Callback(OnSelectSaleConfirm), "SelectCreatureConfirmEquipRune");
                    return;
                }

                item.SetSelect(true);
                m_SaleSelected.Add(item);
                UpdateSalePrice(m_SalePrice + item.Creature.SalePrice);
            }
        }
    }