예제 #1
0
    private void parseRecord(ErlArray _data)
    {
        /*
         * [war, 只有被人打我
         * [
         * [1403092973,281479271678949,2,0],time,uid,iswin(1 is win,2 lost),rankChange
         * [1403092966,281479271678949,2,0],
         * [1403092965,281479271678949,2,0],
         * [1403092965,281479271678949,2,0],
         * [1403092964,281479271678949,2,0]]]]
         * ]
         */
        if (_data == null)
        {
            return;
        }
        ErlArray itemData;

        int    time;
        string uid;
        bool   isWin;
        int    rank;
        string enemyName;
        int    vipLevel;

        int length = _data.Value.Length;
        LaddersRecordInfo recordItem;

        LaddersRecordInfo[] records = new LaddersRecordInfo[length];
        LaddersManagement.Instance.Records.M_clear();
        for (int i = 0; i < length; i++)
        {
            itemData = _data.Value [i] as ErlArray;

            time      = StringKit.toInt(itemData.Value [0].getValueString());
            uid       = itemData.Value [1].getValueString();
            isWin     = itemData.Value [2].getValueString() == "true";
            rank      = StringKit.toInt(itemData.Value [3].getValueString());
            enemyName = itemData.Value [4].getValueString();
            vipLevel  = StringKit.toInt(itemData.Value [5].getValueString());

            recordItem           = new LaddersRecordInfo();
            recordItem.time      = time;
            recordItem.index     = i + 1;
            recordItem.isWin     = isWin;
            recordItem.oppUid    = uid;
            recordItem.rank      = rank;
            recordItem.enemyName = enemyName;
            recordItem.vipLevel  = vipLevel;
            recordItem.creatDes();
            records [i] = recordItem;
            LaddersManagement.Instance.Records.M_addRecord(recordItem);
        }
    }
예제 #2
0
 public void M_addRecord(LaddersRecordInfo _record)
 {
     records.Add(_record);
 }
예제 #3
0
    /// <summary>
    /// 更新玩家的当前信息 vip,战斗力,称号,奖章等
    /// </summary>
    public void M_updateUserInfo()
    {
        User self   = UserManager.Instance.self;
        int  vipLv  = self.getVipLevel();
        int  combat = ArmyManager.Instance.getTeamCombat(ArmyManager.PVP_TEAMID);

        LaddersTitleSample currentTitle = LaddersManagement.Instance.M_getCurrentPlayerTitle();

        if (currentTitle != null)
        {
            label_title.text = LaddersManagement.Instance.M_getCurrentPlayerTitle().name;
        }
        else
        {
            label_title.text = Language("laddersTip_14");
        }

        LaddersMedalSample currentMedal = LaddersManagement.Instance.M_getCurrentPlayerMedal();

        if (currentMedal != null)
        {
            sprite_medalBg.spriteName = "medal_" + Math.Min(currentMedal.index + 1, 5);
        }
        else
        {
            sprite_medalBg.spriteName = "medal_0";
        }

        label_userName.text = self.nickname;
        if (vipLv > 0)
        {
            sprite_vip.gameObject.SetActive(true);
            sprite_vip.spriteName = "vip" + vipLv;
        }
        else
        {
            sprite_vip.gameObject.SetActive(false);
        }

        label_level.text = "Lv." + self.getUserLevel().ToString();

        label_rank.text   = Language("laddersPrefix_01") + LaddersManagement.Instance.currentPlayerRank.ToString();
        label_combat.text = Language("laddersPrefix_02") + combat.ToString();

        //获取自身声望值
        int myPrestige = UserManager.Instance.self.prestige;
        //通过自身声望值获取对应称号
        LaddersTitleSample currentTitleSample = LaddersConfigManager.Instance.config_Title.M_getTitle(myPrestige);
        //通过自身称号获取下一级称号
        LaddersTitleSample nextTitleSample = LaddersConfigManager.Instance.config_Title.M_getTitleByIndex(currentTitleSample.index + 1);

        //如果不存在下一级称号
        if (nextTitleSample == null)
        {
            prestigeExpBar.updateValue(myPrestige, myPrestige);
            label_prestige.text = myPrestige + "/" + myPrestige;
        }
        //存在下一级称号
        else
        {
            if (LaddersConfigManager.Instance.config_Title.isMaxIndex(currentTitleSample.index + 1))
            {
                prestigeExpBar.updateValue(nextTitleSample.minPrestige, nextTitleSample.minPrestige);
                label_prestige.text = nextTitleSample.minPrestige + "/" + nextTitleSample.minPrestige;
            }
            else
            {
                prestigeExpBar.updateValue(myPrestige, nextTitleSample.minPrestige);
                label_prestige.text = myPrestige + "/" + nextTitleSample.minPrestige;
            }
        }
        label_laddersTimes.text = Language("laddersPrefix_04", (LaddersManagement.Instance.maxFightTime - LaddersManagement.Instance.currentChallengeTimes).ToString(), LaddersManagement.Instance.maxFightTime.ToString());

        UserManager.Instance.setSelfHeadIcon(texture_userHead);

        LaddersRecordInfo lastRecord = LaddersManagement.Instance.Records.M_getLastRecord();

        if (lastRecord != null)
        {
            label_lastRecord.text = lastRecord.description;
        }
        else
        {
            label_lastRecord.text = "";
        }
    }