Exemple #1
0
    //如果有新武学解锁,刷新当前列表
    private void RefreshList(int unLockMartialID)
    {
        int            newMartialLevel = PlayerMartialDataManager.Instance.GetMartialLevelByID(unLockMartialID);
        SSendWuXueData newMartialData  = new SSendWuXueData()
        {
            dwWuXueID = unLockMartialID, byWuXueLevel = (byte)newMartialLevel
        };

        MyMartialDataList.Add(newMartialData);
        int lineCount = Mathf.CeilToInt(MyMartialDataList.Count / 4);           //行数

        if (MyMartialDataList.Count % 4 == 0)
        {
            lineCount -= 1;
        }

        //新添加的武学下标
        int index = (MyMartialDataList.Count) % 4 == 0 ? 3 : ((MyMartialDataList.Count) % 4 - 1);

        //如果新行数大于旧的行数,添加新的一行
        if (lineCount <= PrevLineCount)
        {
            MartialItemAreaList[lineCount].AddItem(lineCount, index, this);
        }
        else
        {
            GameObject itemLine = NGUITools.AddChild(Grid.gameObject, MartialItemAreaPrefab);
            QinglongMartialItemArea itemArea = itemLine.GetComponent <QinglongMartialItemArea>();
            itemArea.AddItem(lineCount, index, this);
            MartialItemAreaList.Add(itemArea);
            Grid.repositionNow = true;
            PrevLineCount     += 1;
        }
    }
Exemple #2
0
    /// <summary>
    /// 武学学习或升级结果,更新武学列表
    /// </summary>
    /// <param name="sMsgActionStudyWuXue_SC">S message action study wu xue_ S.</param>
    public void UpdatePlayerMartialData(SMsgAcitonStudyWuXue_SC sMsgActionStudyWuXue_SC)
    {
        int  martialID    = sMsgActionStudyWuXue_SC.dwWuXueID;
        byte martialLevel = sMsgActionStudyWuXue_SC.byWuXueLevel;

        MartialIndex martialIndex = new MartialIndex()
        {
            MartialArtsID = martialID, MartialArtsLevel = (int)martialLevel - 1
        };
        PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);

        if (martialArtsData.MartialArtsUnlock != 0)             //如果有解锁新武学
        {
            MartialDataList.Add(new SSendWuXueData()
            {
                dwWuXueID = martialArtsData.MartialArtsUnlock, byWuXueLevel = 0
            });
        }

        for (int i = 0; i < MartialDataList.Count; i++)
        {
            if (MartialDataList[i].dwWuXueID == martialID)
            {
                SSendWuXueData tempData = new SSendWuXueData()
                {
                    dwWuXueID = martialID, byWuXueLevel = martialLevel
                };
                MartialDataList[i] = tempData;
                break;
            }
        }
    }
Exemple #3
0
    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="SendWuXueData">Send wu xue data.</param>
    /// <param name="Callback">Callback.</param>
    public void Init(SSendWuXueData SendWuXueData, ButtonCallBack Callback)
    {
        MartialIndex martialIndex = new MartialIndex()
        {
            MartialArtsID = SendWuXueData.dwWuXueID, MartialArtsLevel = SendWuXueData.byWuXueLevel
        };

        PlayerMartialData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex);
        MartialId         = SendWuXueData.dwWuXueID;
        GameObject Icon = UI.CreatObjectToNGUI.InstantiateObj(PlayerMartialData.MartialArtsIconPrefab, IconPoint);

        this.gameObject.GetComponent <SingleButtonCallBack>().SetCallBackFuntion(Callback, MartialId);
        UpdateIconBg(SendWuXueData.byWuXueLevel);
        UpdateLevel(SendWuXueData.dwWuXueID);
        UpdateArrow();
    }