/// <summary>
    ///
    /// </summary>
    /// <param name="item"></param>
    public void OnSelectSwordsManItem(SwordsManItem item)
    {
        SwordsManContainer Container = GameManager.gameManager.PlayerDataPool.GetSwordsManContainer(m_PackType);

        if (Container == null)
        {
            return;
        }
        SwordsMan oSwordsMan = Container.GetSwordsManByGuid(m_SwordsManGuid);

        if (oSwordsMan == null)
        {
            return;
        }

        if (item == null)
        {
            return;
        }
        if (item.m_oSwordsMan == null)
        {
            return;
        }
        if (item.m_oSwordsMan.Quality > oSwordsMan.Quality)
        {
            GUIData.AddNotifyData("#{2497}");
            return;
        }
        if (item.m_oSwordsMan.Locked)
        {
            return;
        }
        if (item.m_oSwordsMan.Guid != oSwordsMan.Guid)
        {
            item.OnSelectSwordsMan();
            if (item.IsSelect())
            {
                m_nEatExp += item.m_oSwordsMan.GetEatExp();
            }
            else
            {
                m_nEatExp -= item.m_oSwordsMan.GetEatExp();
            }
            ShowSwordsManExp();
        }
        else
        {
            GUIData.AddNotifyData("#{2557}");
        }
    }
Beispiel #2
0
    public static SwordsManItem CreateItem(GameObject grid, GameObject resItem, string name, SwordsManLevelupController parent)
    {
        GameObject curItem = Utils.BindObjToParent(resItem, grid, name);

        if (null == curItem)
        {
            return(null);
        }
        SwordsManItem curItemComponent = curItem.GetComponent <SwordsManItem>();

        if (null == curItemComponent)
        {
            return(null);
        }
        curItemComponent.SetParent(parent);
        return(curItemComponent);
    }
    /// <summary>
    ///
    /// </summary>
    void OnLoadSwordsManItem(GameObject resObj, object param)
    {
        if (null == m_SwordsManGrid)
        {
            LogModule.ErrorLog("OnLoadSwordsManItem m_SwordsManGrid is null");
            return;
        }
        Utils.CleanGrid(m_SwordsManGrid.gameObject);
        SwordsManContainer oSwordsManContainer = GameManager.gameManager.PlayerDataPool.GetSwordsManContainer(SwordsManContainer.PACK_TYPE.TYPE_BACKPACK);

        if (null == oSwordsManContainer)
        {
            LogModule.ErrorLog("OnLoadSwordsManItem::oSwordsManContainer is null");
            return;
        }
        List <SwordsMan> itemlist = SwordsManTool.ItemFilter(oSwordsManContainer);

        for (int i = 0; i < itemlist.Count; i++)
        {
            SwordsMan oSwordsMan = itemlist[i];
            if (null == oSwordsMan)
            {
                LogModule.ErrorLog("OnLoadSwordsManItem::oSwordsMan is null");
                break;
            }
            if (false == oSwordsMan.IsValid())
            {
                continue;
            }
            SwordsManItem oSwordsManItem = SwordsManItem.CreateItem(m_SwordsManGrid, resObj, i.ToString(), this);
            if (null == oSwordsManItem)
            {
                LogModule.ErrorLog("OnLoadSwordsManItem::oSwordsManItem is null");
                break;
            }
            oSwordsManItem.SetData(oSwordsMan);
        }
        m_SwordsManGrid.GetComponent <UIGrid>().repositionNow = true;

        if (m_LabelPacSize != null)
        {
            m_LabelPacSize.text = StrDictionary.GetClientDictionaryString("#{3337}", oSwordsManContainer.GetSwordsManCount(), oSwordsManContainer.ContainerSize);
        }
    }
    //强化 智能选择 弹出列表选择
    public void OnXiakeChoose()
    {
        if (null == m_SwordsMan_ChooseList)
        {
            return;
        }
        if (null == m_GridTranForm)
        {
            LogModule.ErrorLog("OnXiakeChoose::m_GridTranForm is null");
            return;
        }
        m_bClearAllSelect = false;
        m_nEatExp         = 0;
        if (m_SwordsMan_ChooseList.value == StrDictionary.GetClientDictionaryString("#{1208}"))
        {
            m_curChooseQuality = SwordsMan.SWORDSMANQUALITY.WHITE;
        }
        else if (m_SwordsMan_ChooseList.value == StrDictionary.GetClientDictionaryString("#{1209}"))
        {
            m_curChooseQuality = SwordsMan.SWORDSMANQUALITY.GREEN;
        }
        else if (m_SwordsMan_ChooseList.value == StrDictionary.GetClientDictionaryString("#{1210}"))
        {
            m_curChooseQuality = SwordsMan.SWORDSMANQUALITY.BLUE;
        }
        else if (m_SwordsMan_ChooseList.value == StrDictionary.GetClientDictionaryString("#{1211}"))
        {
            m_curChooseQuality = SwordsMan.SWORDSMANQUALITY.PURPLE;
        }
        else if (m_SwordsMan_ChooseList.value == StrDictionary.GetClientDictionaryString("#{2716}"))
        {
            //全部
            m_curChooseQuality = SwordsMan.SWORDSMANQUALITY.ORANGE;
        }
        else
        {
            m_bClearAllSelect = true;
        }
        if (m_bClearAllSelect)
        {
            for (int i = 0; i < m_GridTranForm.childCount; i++)
            {
                SwordsManItem oItem = m_GridTranForm.GetChild(i).GetComponent <SwordsManItem>();
                if (oItem == null || oItem.m_oSwordsMan == null)
                {
                    continue;
                }
                if (oItem.IsSelect())
                {
                    oItem.OnSelectSwordsMan();
                }
            }
        }
        else
        {
            UpdateSwordsManBackPack();
        }
        ShowSwordsManExp();


        //for (int i = 0; i < m_GridTranForm.childCount; i++)
        //{
        //    SwordsManItem oItem = m_GridTranForm.GetChild(i).GetComponent<SwordsManItem>();
        //    if (oItem == null || oItem.m_oSwordsMan == null)
        //    {
        //        continue;
        //    }
        //    if (oItem.m_oSwordsMan.Quality > (int)m_curChooseQuality)
        //    {
        //        oItem.gameObject.SetActive(false);
        //        continue;
        //    }
        //    oItem.gameObject.SetActive(true);
        //    if (m_bClearAllSelect)
        //    {
        //        if (oItem.IsSelect())
        //        {
        //            oItem.OnSelectSwordsMan();
        //        }
        //        continue;
        //    }

        //    if (oItem.m_oSwordsMan.Guid == m_oSwordsMan.Guid)
        //    {
        //        if (oItem.IsSelect())
        //        {
        //            oItem.OnSelectSwordsMan();
        //        }
        //        continue;
        //    }
        //    if (oItem.m_oSwordsMan.Locked)
        //    {
        //        if (oItem.IsSelect())
        //        {
        //            oItem.OnSelectSwordsMan();
        //        }
        //        continue;
        //    }
        //    if (oItem.m_oSwordsMan.Quality > m_oSwordsMan.Quality)
        //    {
        //        if (oItem.IsSelect())
        //        {
        //            oItem.OnSelectSwordsMan();
        //        }
        //        continue;
        //    }
        //    if (oItem.IsSelect() == false)
        //    {
        //        oItem.OnSelectSwordsMan();
        //    }
        //    m_nEatExp += oItem.m_oSwordsMan.GetEatExp();
        //}
        //m_SwordsManGrid.GetComponent<UIGrid>().repositionNow = true;
        //ShowSwordsManExp();
    }
    /// <summary>
    /// 一键吞噬
    /// </summary>
    void OnAkeyLevelup()
    {
        SwordsManContainer Container = GameManager.gameManager.PlayerDataPool.GetSwordsManContainer(m_PackType);

        if (Container == null)
        {
            LogModule.ErrorLog("OnAkeyLevelup::Container is null");
            return;
        }
        SwordsMan oSwordsMan = Container.GetSwordsManByGuid(m_SwordsManGuid);

        if (oSwordsMan == null)
        {
            LogModule.ErrorLog("OnAkeyLevelup::oSwordsMan is null");
            return;
        }

        if (null == m_GridTranForm)
        {
            LogModule.ErrorLog("OnAkeyLevelup::m_GridTranForm is null");
            return;
        }
        if (null == m_EatGuidlist)
        {
            LogModule.ErrorLog("OnAkeyLevelup::m_EatGuidlist is null");
            return;
        }
        m_EatGuidlist.Clear();
        List <string> OrangeSwordsmanlist = new List <string>();
        List <string> PurpleSwordsmanlist = new List <string>();

        for (int i = 0; i < m_GridTranForm.childCount; i++)
        {
            SwordsManItem item = m_GridTranForm.GetChild(i).GetComponent <SwordsManItem>();
            if (item == null)
            {
                continue;
            }
            if (item.m_Status == SwordsManItem.Status.STATUS_CHOOSED && item.m_oSwordsMan != null)
            {
                m_EatGuidlist.Add(item.m_oSwordsMan.Guid);
                if ((int)SwordsMan.SWORDSMANQUALITY.ORANGE == item.m_oSwordsMan.Quality)
                {
                    OrangeSwordsmanlist.Add(item.m_oSwordsMan.Name);
                }
                else if ((int)SwordsMan.SWORDSMANQUALITY.PURPLE == item.m_oSwordsMan.Quality)
                {
                    PurpleSwordsmanlist.Add(item.m_oSwordsMan.Name);
                }
            }
        }
        if (m_EatGuidlist.Count <= 0)
        {
            MessageBoxLogic.OpenOKBox(2675, 1000);
            return;
        }
        if (OrangeSwordsmanlist.Count <= 0 && PurpleSwordsmanlist.Count <= 0)
        {
            CG_SWORDSMAN_LEVELUP packet = (CG_SWORDSMAN_LEVELUP)PacketDistributed.CreatePacket(MessageID.PACKET_CG_SWORDSMAN_LEVELUP);
            packet.Swordsmanid     = oSwordsMan.Guid;
            packet.Eatallswordsman = 1;
            packet.Packtype        = (int)m_PackType;
            packet.FilterQuality   = (int)m_curChooseQuality;
            for (int i = 0; i < m_EatGuidlist.Count; ++i)
            {
                packet.AddEatguid(m_EatGuidlist[i]);
            }
            packet.SendPacket();
            return;
        }
        if (OrangeSwordsmanlist.Count > 0)
        {
            string strTip;
            if (OrangeSwordsmanlist.Count > 1)
            {
                strTip = StrDictionary.GetClientDictionaryString("#{4652}", OrangeSwordsmanlist[0], OrangeSwordsmanlist.Count);
                MessageBoxLogic.OpenOKCancelBox(strTip, "", OnAkeyLevelupOk);
            }
            else
            {
                strTip = StrDictionary.GetClientDictionaryString("#{4651}", OrangeSwordsmanlist[0]);
                MessageBoxLogic.OpenOKCancelBox(strTip, "", OnAkeyLevelupOk);
            }
            return;
        }

        if (PurpleSwordsmanlist.Count > 0)
        {
            string strTip;
            if (PurpleSwordsmanlist.Count > 1)
            {
                strTip = StrDictionary.GetClientDictionaryString("#{4654}", PurpleSwordsmanlist[0], PurpleSwordsmanlist.Count);
                MessageBoxLogic.OpenOKCancelBox(strTip, "", OnAkeyLevelupOk);
            }
            else
            {
                strTip = StrDictionary.GetClientDictionaryString("#{4653}", PurpleSwordsmanlist[0]);
                MessageBoxLogic.OpenOKCancelBox(strTip, "", OnAkeyLevelupOk);
            }
            return;
        }
    }
    /// <summary>
    /// 更新侠客信息
    /// </summary>
    void OnLoadSwordsManItem(GameObject resObj, object param)
    {
        if (null == m_SwordsManGrid)
        {
            LogModule.ErrorLog("OnLoadSwordsManItem m_SwordsManGrid is null");
            return;
        }
        Utils.CleanGrid(m_SwordsManGrid.gameObject);

        SwordsManContainer oSwordsManBackContainer = GameManager.gameManager.PlayerDataPool.GetSwordsManContainer(SwordsManContainer.PACK_TYPE.TYPE_BACKPACK);

        if (null == oSwordsManBackContainer)
        {
            LogModule.ErrorLog("OnLoadSwordsManItem::oSwordsManBackContainer is null");
            return;
        }
        SwordsManContainer Container = GameManager.gameManager.PlayerDataPool.GetSwordsManContainer(m_PackType);

        if (null == Container)
        {
            LogModule.ErrorLog("OnLoadSwordsManItem::Container is null");
            return;
        }
        SwordsMan CurSwordsMan = Container.GetSwordsManByGuid(m_SwordsManGuid);

        if (CurSwordsMan == null)
        {
            return;
        }
        List <SwordsMan> itemlist = SwordsManTool.ItemFilter(oSwordsManBackContainer);

        itemlist  = SwordsManTool.ItemFilter(itemlist, (int)m_curChooseQuality);
        m_nEatExp = 0;
        for (int i = 0; i < itemlist.Count; i++)
        {
            SwordsMan oSwordsMan = itemlist[i];
            if (null == oSwordsMan)
            {
                LogModule.ErrorLog("OnLoadSwordsManItem::oSwordsMan is null");
                break;
            }
            if (false == oSwordsMan.IsValid())
            {
                continue;
            }
            SwordsManItem oSwordsManItem = SwordsManItem.CreateItem(m_SwordsManGrid, resObj, i.ToString(), this);
            if (null == oSwordsManItem)
            {
                LogModule.ErrorLog("OnLoadSwordsManItem::oSwordsManItem is null");
                break;
            }
            oSwordsManItem.SetData(oSwordsMan);
            if (oSwordsMan.Guid == CurSwordsMan.Guid)
            {
                continue;
            }
            if (oSwordsMan.Quality > CurSwordsMan.Quality)
            {
                continue;
            }
            if (oSwordsMan.Locked)
            {
                continue;
            }
            oSwordsManItem.OnSelectSwordsMan();
            m_nEatExp += oSwordsManItem.m_oSwordsMan.GetEatExp();
        }
        m_SwordsManGrid.GetComponent <UIGrid>().repositionNow = true;
        if (m_TopGrid != null)
        {
            m_TopGrid.Recenter(true);
        }
        ShowSwordsManExp();
    }