Example #1
0
    public void RefreshPetZuhePage()
    {
        List <sdPetZuheData> listData1 = new List <sdPetZuheData>();
        List <sdPetZuheData> listData2 = new List <sdPetZuheData>();

        Hashtable kTable = sdConfDataMgr.Instance().GetPetGroupsTable();

        if (kTable != null)
        {
            foreach (DictionaryEntry de in kTable)
            {
                string    key1     = (string)de.Key;
                Hashtable valTable = (Hashtable)de.Value;
                int       iPetID1  = int.Parse(valTable["Data1.PetID"].ToString());
                int       iPetID2  = int.Parse(valTable["Data2.PetID"].ToString());
                int       iPetID3  = int.Parse(valTable["Data3.PetID"].ToString());
                int       iPetID4  = int.Parse(valTable["Data4.PetID"].ToString());

                int iPetEnable1 = 0;
                if (iPetID1 > 0)
                {
                    if (sdNewPetMgr.Instance.GetPetTemplateIsInCurPageBattleTeam(iPetID1, mCurTeamIndex) == 0)
                    {
                        iPetEnable1 = 1;
                    }
                    else
                    {
                        iPetEnable1 = 2;
                    }
                }

                int iPetEnable2 = 0;
                if (iPetID2 > 0)
                {
                    if (sdNewPetMgr.Instance.GetPetTemplateIsInCurPageBattleTeam(iPetID2, mCurTeamIndex) == 0)
                    {
                        iPetEnable2 = 1;
                    }
                    else
                    {
                        iPetEnable2 = 2;
                    }
                }

                int iPetEnable3 = 0;
                if (iPetID3 > 0)
                {
                    if (sdNewPetMgr.Instance.GetPetTemplateIsInCurPageBattleTeam(iPetID3, mCurTeamIndex) == 0)
                    {
                        iPetEnable3 = 1;
                    }
                    else
                    {
                        iPetEnable3 = 2;
                    }
                }

                int iPetEnable4 = 0;
                if (iPetID4 > 0)
                {
                    if (sdNewPetMgr.Instance.GetPetTemplateIsInCurPageBattleTeam(iPetID4, mCurTeamIndex) == 0)
                    {
                        iPetEnable4 = 1;
                    }
                    else
                    {
                        iPetEnable4 = 2;
                    }
                }

                //四个ID都属于:不存在,未激活..
                if (iPetEnable1 != 2 && iPetEnable2 != 2 && iPetEnable3 != 2 && iPetEnable3 != 2)
                {
                }
                else
                {
                    sdPetZuheData data = new sdPetZuheData();
                    data.iZuheID         = int.Parse(key1);
                    data.iPetID1         = iPetID1;
                    data.iPetEnableType1 = iPetEnable1;
                    data.iPetID2         = iPetID2;
                    data.iPetEnableType2 = iPetEnable2;
                    data.iPetID3         = iPetID3;
                    data.iPetEnableType3 = iPetEnable3;
                    data.iPetID4         = iPetID4;
                    data.iPetEnableType4 = iPetEnable4;

                    if (iPetEnable1 != 1 && iPetEnable2 != 1 && iPetEnable3 != 1 && iPetEnable4 != 1)
                    {
                        listData1.Add(data);
                    }
                    else
                    {
                        listData2.Add(data);
                    }
                }
            }
        }

        int num   = listData1.Count + listData2.Count;
        int iZero = 0;

        if (num < 2)
        {
            iZero = 2 - num;
        }

        num = num + iZero;
        int count = petzuheInfoList.Count;

        if (num > count)
        {
            num = num - count;
            for (int i = 0; i < num; ++i)
            {
                GameObject tempItem = GameObject.Instantiate(copyListItem) as GameObject;
                tempItem.GetComponent <sdUIPetZuheIcon>().index = count;
                tempItem.transform.parent        = copyListItem.transform.parent;
                tempItem.transform.localPosition = copyListItem.transform.localPosition;
                tempItem.transform.localScale    = copyListItem.transform.localScale;
                Vector3 pos = tempItem.transform.localPosition;
                pos.y = pos.y - (295 * count);
                tempItem.transform.localPosition = pos;
                petzuheInfoList.Add(petzuheInfoList.Count, tempItem.GetComponent <sdUIPetZuheIcon>());
                ++count;
            }
        }

        IDictionaryEnumerator iter = petzuheInfoList.GetEnumerator();

        foreach (sdPetZuheData infoEntry in listData1)
        {
            if (iter.MoveNext())
            {
                sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
                icon.bpetGray0 = false;
                icon.bpetGray1 = false;
                icon.bpetGray2 = false;
                icon.bpetGray3 = false;
                icon.SetIdAndReflashUI(infoEntry.iZuheID);
            }
        }

        foreach (sdPetZuheData infoEntry in listData2)
        {
            if (iter.MoveNext())
            {
                sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
                if (infoEntry.iPetEnableType1 == 1)
                {
                    icon.bpetGray0 = true;
                }
                else
                {
                    icon.bpetGray0 = false;
                }

                if (infoEntry.iPetEnableType2 == 1)
                {
                    icon.bpetGray1 = true;
                }
                else
                {
                    icon.bpetGray1 = false;
                }

                if (infoEntry.iPetEnableType3 == 1)
                {
                    icon.bpetGray2 = true;
                }
                else
                {
                    icon.bpetGray2 = false;
                }

                if (infoEntry.iPetEnableType4 == 1)
                {
                    icon.bpetGray3 = true;
                }
                else
                {
                    icon.bpetGray3 = false;
                }

                icon.SetIdAndReflashUI(infoEntry.iZuheID);
                icon.SetGray(true);
            }
        }

        //只显示底板的卡片..
        for (int i = 0; i < iZero; i++)
        {
            if (iter.MoveNext())
            {
                sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
                icon.SetIdAndReflashUI(0);
            }
        }

        while (iter.MoveNext())
        {
            sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
            icon.SetIdAndReflashUI(-1);
        }

        if (copyListItem != null)
        {
            copyListItem.transform.parent.GetComponent <UIDraggablePanel>().ResetPosition();
        }
    }
Example #2
0
    public void RefreshPetZuhePage()
    {
        int            iTmpID = 0;
        SClientPetInfo Info   = null;

        if (m_uuDBID != UInt64.MaxValue)
        {
            Info = sdNewPetMgr.Instance.GetPetInfo(m_uuDBID);
        }
        else
        {
            if (m_iPetTemplateID > 0)
            {
                Info = sdNewPetMgr.Instance.GetPetInfoByTemplateID(m_iPetTemplateID, m_iPetUp, m_iPetLevel);
            }
        }

        if (Info != null)
        {
            iTmpID = (int)Info.m_uiTemplateID;
        }

        List <sdPetZuheData> listData = new List <sdPetZuheData>();

        Hashtable kTable = sdConfDataMgr.Instance().GetPetGroupsTable();

        if (kTable != null)
        {
            foreach (DictionaryEntry de in kTable)
            {
                string    key1     = (string)de.Key;
                Hashtable valTable = (Hashtable)de.Value;
                int       iPetID1  = int.Parse(valTable["Data1.PetID"].ToString());
                int       iPetID2  = int.Parse(valTable["Data2.PetID"].ToString());
                int       iPetID3  = int.Parse(valTable["Data3.PetID"].ToString());
                int       iPetID4  = int.Parse(valTable["Data4.PetID"].ToString());

                bool bNeedShow = false;
                if (iPetID1 > 0 && iPetID1 == iTmpID)
                {
                    bNeedShow = true;
                }
                if (iPetID2 > 0 && iPetID2 == iTmpID)
                {
                    bNeedShow = true;
                }
                if (iPetID3 > 0 && iPetID3 == iTmpID)
                {
                    bNeedShow = true;
                }
                if (iPetID4 > 0 && iPetID4 == iTmpID)
                {
                    bNeedShow = true;
                }

                if (bNeedShow)
                {
                    sdPetZuheData data = new sdPetZuheData();
                    data.iZuheID = int.Parse(key1);

                    data.iPetID1 = iPetID1;
                    if (iPetID1 > 0)
                    {
                        data.iPetEnableType1 = 2;
                    }
                    else
                    {
                        data.iPetEnableType1 = 0;
                    }

                    data.iPetID2 = iPetID2;
                    if (iPetID2 > 0)
                    {
                        data.iPetEnableType2 = 2;
                    }
                    else
                    {
                        data.iPetEnableType2 = 0;
                    }

                    data.iPetID3 = iPetID3;
                    if (iPetID3 > 0)
                    {
                        data.iPetEnableType3 = 2;
                    }
                    else
                    {
                        data.iPetEnableType3 = 0;
                    }

                    data.iPetID4 = iPetID4;
                    if (iPetID4 > 0)
                    {
                        data.iPetEnableType4 = 2;
                    }
                    else
                    {
                        data.iPetEnableType4 = 0;
                    }

                    listData.Add(data);
                }
            }
        }

        int num   = listData.Count;
        int iZero = 0;

        if (num < 2)
        {
            iZero = 2 - num;
        }

        num = num + iZero;
        int count = petzuheInfoList.Count;

        if (num > count)
        {
            num = num - count;
            for (int i = 0; i < num; ++i)
            {
                GameObject tempItem = GameObject.Instantiate(copyListItem) as GameObject;
                tempItem.GetComponent <sdUIPetZuheIcon>().index = count;
                tempItem.transform.parent        = copyListItem.transform.parent;
                tempItem.transform.localPosition = copyListItem.transform.localPosition;
                tempItem.transform.localScale    = copyListItem.transform.localScale;
                Vector3 pos = tempItem.transform.localPosition;
                pos.y = pos.y - (295 * count);
                tempItem.transform.localPosition = pos;
                petzuheInfoList.Add(petzuheInfoList.Count, tempItem.GetComponent <sdUIPetZuheIcon>());
                ++count;
            }
        }

        IDictionaryEnumerator iter = petzuheInfoList.GetEnumerator();

        foreach (sdPetZuheData infoEntry in listData)
        {
            if (iter.MoveNext())
            {
                sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
                if (infoEntry.iPetEnableType1 == 1)
                {
                    icon.bpetGray0 = true;
                }
                else
                {
                    icon.bpetGray0 = false;
                }

                if (infoEntry.iPetEnableType2 == 1)
                {
                    icon.bpetGray1 = true;
                }
                else
                {
                    icon.bpetGray1 = false;
                }

                if (infoEntry.iPetEnableType3 == 1)
                {
                    icon.bpetGray2 = true;
                }
                else
                {
                    icon.bpetGray2 = false;
                }

                if (infoEntry.iPetEnableType4 == 1)
                {
                    icon.bpetGray3 = true;
                }
                else
                {
                    icon.bpetGray3 = false;
                }

                icon.SetIdAndReflashUI(infoEntry.iZuheID);
                icon.SetGray(false);
            }
        }

        //只显示底板的卡片..
        for (int i = 0; i < iZero; i++)
        {
            if (iter.MoveNext())
            {
                sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
                icon.SetIdAndReflashUI(0);
            }
        }

        while (iter.MoveNext())
        {
            sdUIPetZuheIcon icon = iter.Value as sdUIPetZuheIcon;
            icon.SetIdAndReflashUI(-1);
        }

        if (copyListItem != null)
        {
            copyListItem.transform.parent.GetComponent <UIDraggablePanel>().ResetPosition();
        }
    }