コード例 #1
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnSorted()
    {
        var runes = m_SortInfo.GetSortedRunes();

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

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

        foreach (Rune rune in runes)
        {
            RuneItem item = items.Find(i => i.Rune == rune);
            if (item == null)
            {
                continue;
            }
            item.Init(item.Rune, item.m_lock_toggle.value, OnClickRune);
            m_RuneGrid.AddChild(item.transform, false);

            items.Remove(item);
        }

        foreach (var item in items)
        {
            m_RuneGrid.AddChild(item.transform, false);
        }

        m_RuneGrid.Reposition();
        m_RuneScroll.ResetPosition();
    }
コード例 #2
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnRuneUpgradeAckHandler(C2G.RuneUpgrade send, C2G.RuneUpgradeAck recv)
    {
        Network.PlayerInfo.UseGoods(recv.use_goods);
        GameMain.Instance.UpdatePlayerInfo();
        m_UpgradeRune.Init(null, false, null);
        m_UpgradeMaterials.ForEach(item => { RuneManager.Instance.RemoveRune(item.Rune); item.Init(null, false, null); });

        RuneManager.Instance.Add(recv.rune_info);

        Popup.Instance.Show(ePopupMode.LootItem, new LootItemInfo(recv.rune_info.rune_idn, 1));

        RefreshInfo();
        InitRuneItem();
        InitBatchLabel();
        ReloadBlockCheckRunes();
    }
コード例 #3
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void InitRuneItem()
    {
        runeItemPrefabManager.Clear();

        m_HeroRunes = new List <RuneItem>();
        for (int i = 0; i < 10; ++i)
        {
            var rune = runeItemPrefabManager.GetNewObject <RuneItem>(m_HeroRuneGrid.transform, Vector3.zero);
            if (i < m_Creature.Runes.Count)
            {
                rune.Init(m_Creature.Runes[i], i >= m_Creature.RuneSlotCount, OnClickEquippedRune, i);
            }
            else
            {
                rune.Init(null, i >= m_Creature.RuneSlotCount, null, i);
            }
            m_HeroRunes.Add(rune);
        }
        m_HeroRuneGrid.Reposition();

        m_Runes = new List <RuneItem>();

        var runes = m_SortInfo.GetSortedRunes();

        m_RuneCount = runes.Count;

        foreach (Rune rune in runes)
        {
            RuneItem item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero);
            item.Init(rune, false, OnClickRune);

            m_Runes.Add(item);
        }

        for (int i = 0; i < 5; ++i)
        {
            var item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero);
            item.InitDummy();
        }

        m_RuneGrid.Reposition();
        m_RuneScroll.ResetPosition();

        m_LabelTitle.text = string.Format("{0} {1} {2}", m_Creature.GetLevelText(), m_Creature.Info.Name, m_Creature.GetEnchantText());
        RefreshInfo();
    }
コード例 #4
0
ファイル: PopupRune.cs プロジェクト: tapenjoyGame/cry
    public void Init(Rune rune, bool equipped, OnRuneClickDelegate del)
    {
        m_OnClickCallback = del;
        Rune = rune;
        if (m_RuneItem == null)
        {
            m_RuneItem = NGUITools.AddChild(m_RuneIndicator.gameObject, runeItemPrefab).GetComponent <RuneItem>();
        }
        m_EquippedToggle.value = equipped;
        m_RuneItem.Init(Rune, false, null);
        m_title.text = Rune.GetName();
        m_desc.text  = Rune.GetDesc();

        m_tween.ResetToBeginning();
        m_tween.PlayForward();

        m_EventRuneUnequip.SetActive(EventHottimeManager.Instance.IsRuneUnequipEvent);
        m_EventRuneEnchant.SetActive(EventHottimeManager.Instance.IsRuneEnchantEvent);
    }
コード例 #5
0
ファイル: HeroRune.cs プロジェクト: tapenjoyGame/cry
    void OnRuneUnequip(C2G.RuneUnequip packet, C2G.RuneUnequipAck ack)
    {
        RuneManager.Instance.UnEquipRune(packet.rune_idx);
        RuneItem item = m_HeroRunes.Find(r => r.Rune != null && r.Rune.RuneIdx == packet.rune_idx);
        Rune     rune = item.Rune;


        ++m_RuneCount;
        RemoveHeroRune(item);

        RuneItem new_item = runeItemPrefabManager.GetNewObject <RuneItem>(m_RuneGrid.transform, Vector3.zero);

        new_item.Init(rune, false, OnClickRune);
        m_Runes.Add(new_item);

        OnSorted();

        Network.PlayerInfo.UseGoods(ack.use_goods);
        GameMain.Instance.UpdatePlayerInfo();
        RefreshInfo();
    }