コード例 #1
0
ファイル: HeroEnchant.cs プロジェクト: tapenjoyGame/cry
    void OnCreatureEnchant(C2G.CreatureEnchant packet, C2G.CreatureEnchantAck ack)
    {
        m_Creature.SetEnchant(ack.creature_enchant, ack.creature_enchant_point);
        m_Hero.Init(m_Creature, null, null);

        foreach (var material in m_Materials.Where(m => m.Creature != null))
        {
            EnchantHero enchant_hero = m_Heroes.Find(h => h.Creature == material.Creature);
            m_Heroes.Remove(enchant_hero);
            enchant_hero.Init(null);
            enchant_hero.transform.SetParent(null, false);
            enchant_hero.transform.SetParent(m_HeroGrid.transform, false);

            CreatureManager.Instance.Remove(material.Creature.Idx);
            material.Init(null);
            --m_CreatureCount;
        }
        InitInfo();

        m_HeroGrid.Reposition();

        Network.PlayerInfo.UseGoodsValue(PacketInfo.pe_GoodsType.token_gold, ack.use_gold);

        GameMain.Instance.UpdatePlayerInfo();

        m_EnchantParticleContainer.Play();
        Tooltip.Instance.ShowMessageKey("HeroEnchantSuccess");
    }
コード例 #2
0
ファイル: HeroEnchant.cs プロジェクト: tapenjoyGame/cry
    void EnchantConfirm(bool confirm)
    {
        if (confirm == false)
        {
            return;
        }

        C2G.CreatureEnchant packet = new C2G.CreatureEnchant();
        packet.creature_idx   = m_Creature.Idx;
        packet.creature_grade = m_Creature.Grade;
        packet.materials      = new List <pd_CreatureEnchantInfo>();
        foreach (var material in m_Materials.Where(m => m.Creature != null).Select(m => m.Creature))
        {
            var data = new pd_CreatureEnchantInfo();
            data.creature_idx   = material.Idx;
            data.creature_grade = material.Grade;
            packet.materials.Add(data);
        }

        if (Tutorial.Instance.Completed == false)
        {
            C2G.TutorialState tutorial_packet = new C2G.TutorialState();
            tutorial_packet.tutorial_state      = (short)Tutorial.Instance.CurrentState;
            tutorial_packet.next_tutorial_state = (short)Tutorial.Instance.NextState;
            tutorial_packet.creature_enchant    = packet;
            Network.GameServer.JsonAsync <C2G.TutorialState, C2G.TutorialStateAck>(tutorial_packet, OnTutorialCreatureEnchant);
        }
        else
        {
            Network.GameServer.JsonAsync <C2G.CreatureEnchant, C2G.CreatureEnchantAck>(packet, OnCreatureEnchant);
        }
    }