void OnLoadDataResault(List <RankItemMoney> list)
    {
        data [currTeam - 1] = list;
        myRank = 0;
        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].uid == UserManager.Instance.self.uid)
            {
                myRank = i + 1;
                break;
            }
        }

        ArenaUserInfo self = ArenaManager.instance.self;

        if (currTeam == self.team)
        {
            lblMyRank.text = LanguageConfigManager.Instance.getLanguage("Arena45") + "  ";
            int rank = myRank > 0 ? myRank : self.rank;
            if (rank > 100)
            {
                lblMyRank.text += LanguageConfigManager.Instance.getLanguage("Arena41", ArenaManager.instance.getTeamNameById(self.team));
            }
            else
            {
                lblMyRank.text += LanguageConfigManager.Instance.getLanguage("Arena42", ArenaManager.instance.getTeamNameById(self.team), rank.ToString());
            }
        }
        content.init(RankManagerment.TYPE_MONEY, list, this);
    }
Beispiel #2
0
    public void init(ArenaUserInfo user)
    {
        lblName.text = user.name + "[fefeb7]Lv." + user.level + "[-]";
        string intertal = "[fcf6a7]" + LanguageConfigManager.Instance.getLanguage("Arena05") + "[-][74e682]  +40" + "[-]";
        string merit    = "[fcf6a7]" + LanguageConfigManager.Instance.getLanguage("Arena06") + "[-][74e682]  +" + user.getMeritAward().ToString() + "[-]";

        lblAward.text = intertal + "  " + merit;
    }
//	private void showTeamEditWindow (MessageHandle msg)
//	{
//		if (msg.buttonID == MessageHandle.BUTTON_RIGHT) {
//			UiManager.Instance.openWindow<TeamEditWindow> ();
//		}
//	}

    void intoFight(ArenaUserInfo user)
    {
        FPortManager.Instance.getFPort <ArenaChallengeFport> ().access((success) => {
            if (success)
            {
                MaskWindow.instance.setServerReportWait(true);
                IncAttributeGlobal.Instance.setAttribute(AttributeGlobalCommon.INC_ATTRIBUTES_ARENA_INTEGRAL, ArenaManager.instance.self == null ? 0 : ArenaManager.instance.self.integral);
                IncAttributeGlobal.Instance.setAttribute(AttributeGlobalCommon.INC_ATTRIBUTES_ARENA_MERIT, UserManager.Instance.self.merit);
                ArenaManager.instance.currentMassEnemyUid = user.uid;
            }
            else
            {
                MessageWindowShowAlert(LanguageConfigManager.Instance.getLanguage("Arena40"), (msg) => {
                    GameManager.Instance.battleReportCallback = null;
                    MaskWindow.instance.setServerReportWait(false);
                    finishWindow();
                });
            }
        }, user.massPosition);
    }
 private void sureFight(ArenaUserInfo user, int index)
 {
     if (user.npc)
     {
         GameManager.Instance.battleReportCallback = GameManager.Instance.intoBattleNoSwitchWindow;
         intoFight(user);
     }
     else
     {
         FPortManager.Instance.getFPort <MassGetPlayerInfoFPort> ().access(index + 1, PvpPlayerWindow.PVP_TEAM, PvpPlayerWindow.PVP_TEAM_TYPE, (info) => {
             UiManager.Instance.openWindow <MassPlayerWindow> ((win) => {
                 win.teamType = 10;
                 win.initInfo(info, () => {
                     GameManager.Instance.battleReportCallback = GameManager.Instance.intoBattle;
                     intoFight(user);
                 });
             });
         });
     }
 }
Beispiel #5
0
 public void setEnemyList(List <ArenaUserInfo> list)
 {
     if (list == null)
     {
         list = new List <ArenaUserInfo>();
     }
     if (list.Count < 5)
     {
         int count = ArenaRobotUserSampleManager.Instance.data.Count;
         for (int i = list.Count; i < 5; i++)
         {
             ArenaUserInfo        user   = new ArenaUserInfo();
             int                  id     = Random.Range(1, count + 1);
             ArenaRobotUserSample sample = ArenaRobotUserSampleManager.Instance.getSampleBySid(id);
             user.headIcon     = sample.headIcon;
             user.name         = sample.name;
             user.level        = sample.level;
             user.massPosition = i + 1;
             user.npc          = true;
             list.Add(user);
         }
     }
     enemyList = list;
 }
    public override void read(ErlKVMessage message)
    {
        ErlType  msg   = message.getValue("msg") as ErlType;
        ErlArray array = msg as ErlArray;

        if (array != null)
        {
            int           pos  = 0;
            ArenaUserInfo user = new ArenaUserInfo();
            user.uid      = array.Value [pos++].getValueString();
            user.name     = array.Value [pos++].getValueString();
            user.headIcon = StringKit.toInt(array.Value [pos++].getValueString());
            user.integral = StringKit.toInt(array.Value [pos++].getValueString());
            user.team     = StringKit.toInt(array.Value [pos++].getValueString());
//            ArenaManager.instance.lastUpdateEnemyTime = StringKit.toInt(array.Value [pos++].getValueString());
            user.rank = StringKit.toInt(array.Value [pos++].getValueString());
            ArenaManager.instance.maxChallengeCount = StringKit.toInt(array.Value [pos++].getValueString());

            ErlType tmp = array.Value [pos++];
            if (tmp is ErlArray)
            {
                ErlArray tmpArry = tmp as ErlArray;
                int      posTmp  = 0;
                ArenaManager.instance.challengeTime  = StringKit.toInt(tmpArry.Value [posTmp++].getValueString());
                ArenaManager.instance.challengeCount = StringKit.toInt(tmpArry.Value [posTmp++].getValueString());
            }

            tmp = array.Value [pos++];
            if (tmp is ErlArray)
            {
                ErlArray tmpArry = tmp as ErlArray;
                int      posTmp  = 0;
                ArenaManager.instance.buyChallengeTime  = StringKit.toInt(tmpArry.Value [posTmp++].getValueString());
                ArenaManager.instance.buyChallengeCount = StringKit.toInt(tmpArry.Value [posTmp++].getValueString());
            }

            tmp = array.Value [pos++];
            if (tmp is ErlArray)
            {
                ErlArray tmpArry = tmp as ErlArray;
                int      posTmp  = 0;
                ArenaManager.instance.challengeUseTime = StringKit.toInt(tmpArry.Value [posTmp++].getValueString());
//                ArenaManager.instance.challengeLastUpdateTime = StringKit.toInt(tmpArry.Value [posTmp++].getValueString());
            }

            ErlArray enemyArray = array.Value [pos++] as ErlArray;
            if (enemyArray != null)
            {
                List <ArenaUserInfo> list = new List <ArenaUserInfo>();
                for (int j = 0; j < enemyArray.Value.Length; j++)
                {
                    tmp = enemyArray.Value [j];
                    int           tmpPos   = 0;
                    ErlArray      empArray = tmp as ErlArray;
                    ArenaUserInfo enemy    = new ArenaUserInfo();
                    enemy.massPosition = j + 1;
                    if (empArray.Value [0].getValueString() == "npc")
                    {
                        enemy.challengedWin = StringKit.toInt(empArray.Value [1].getValueString()) == 1;

                        int count = ArenaRobotUserSampleManager.Instance.data.Count;
                        int id    = UnityEngine.Random.Range(1, count + 1);
                        ArenaRobotUserSample sample = ArenaRobotUserSampleManager.Instance.getSampleBySid(id);
                        enemy.headIcon = sample.headIcon;
                        enemy.name     = sample.name;
                        enemy.level    = sample.level;
                        enemy.npc      = true;
                    }
                    else
                    {
                        enemy.uid           = empArray.Value [tmpPos++].getValueString();
                        enemy.name          = empArray.Value [tmpPos++].getValueString();
                        enemy.headIcon      = StringKit.toInt(empArray.Value [tmpPos++].getValueString());
                        enemy.level         = StringKit.toInt(empArray.Value [tmpPos++].getValueString());
                        enemy.vipLevel      = StringKit.toInt(empArray.Value [tmpPos++].getValueString());
                        enemy.challengedWin = StringKit.toInt(empArray.Value [tmpPos++].getValueString()) == 1;
                    }

                    list.Add(enemy);
                }
                ArenaManager.instance.setEnemyList(list);
                ArenaManager.instance.self = user;

                ArenaManager.instance.massBattleType = StringKit.toInt(array.Value [pos++].getValueString());
            }

            if (callback != null)
            {
                callback(null);
            }
        }
        else if (callback != null)
        {
            callback(msg.getValueString());
        }
    }
    void OnEnemyItemClick(GameObject obj)
    {
        int index = StringKit.toInt(obj.name);


        //oninfoload 没加载好也可能走这里!!!!!
        if (enemyList == null || enemyList.Count < 1 || index >= enemyList.Count)
        {
            return;
        }


        ArenaUserInfo user = enemyList [index];

        if (user.challengedWin)
        {
            MaskWindow.UnlockUI();
            return;
        }
        if (UserManager.Instance.self.getMerit() >= CommandConfigManager.Instance.getLimitOfMerit())
        {
            UiManager.Instance.openDialogWindow <MessageLineWindow>((win) =>
            {
                win.Initialize(LanguageConfigManager.Instance.getLanguage("NvShenShenGe_029"));
            });
            return;
        }
        //挑战次数用尽
        if (arenaManager.getChallengeCount() <= 0)
        {
            addChalleageTimes();
            return;
        }
        //挑战时间冷却中,请稍后再来  去除CD限制
//		if (ArenaManager.instance.redChallengeCd != 0 && am.getChallengeCD () > 0) {
//			MessageWindowShowAlert (LanguageConfigManager.Instance.getLanguage ("Arena10", GameConfig.Instance.getInt (GameConfig.SID_ARENA_FIGHT_CD_VIP).ToString ()), null);
//			return;
//		}
        if (!ArmyManager.Instance.checkArmyMemberCount())
        {
            UiManager.Instance.openDialogWindow <MessageWindow> ((win) => {
                win.dialogCloseUnlockUI = false;
                win.initWindow(2, LanguageConfigManager.Instance.getLanguage("s0442"), LanguageConfigManager.Instance.getLanguage("s0093"),
                               LanguageConfigManager.Instance.getLanguage("MassPlayerWindow_MembersNotEnough"), (msg) => {
                    if (msg.buttonID == MessageHandle.BUTTON_LEFT)
                    {
                        UiManager.Instance.openWindow <TeamEditWindow> ((wins) => {
                            wins.comeFrom = TeamEditWindow.FROM_PVP;
                        });
                    }
                    else if (msg.buttonID == MessageHandle.BUTTON_RIGHT)
                    {
                        sureFight(user, index);
                    }
                });
            });
        }
        else
        {
            sureFight(user, index);
        }
    }
    void OnInfoLoad()
    {
        if (ArenaManager.instance.self == null)
        {
            MessageWindowShowAlert(LanguageConfigManager.Instance.getLanguage("Arena11"), (msg) => {
                buttonEventBase(buttonClose);
            });
            return;
        }

        updateInfo();

        string        currentMassEnemyUid  = ArenaManager.instance.currentMassEnemyUid;
        ArenaUserInfo currentMassEnemy     = null;
        GameObject    currentEnemyLocation = null;

        List <ArenaUserInfo> list = arenaManager.getEnemyList();

        int[] icons = new int[list.Count];
        for (int i = 0; i < icons.Length; i++)
        {
            icons [i] = list [i].headIcon;
            roleTips [i].init(list [i]);
            roleTips [i].gameObject.SetActive(true);

            if (list [i].challengedWin)
            {
                icons [i] *= 10000;
            }

            if (list [i].uid == currentMassEnemyUid)
            {
                currentMassEnemy     = list [i];
                currentEnemyLocation = roleLocations [i];
            }
        }
        arenaRoles.init(icons, roleLocations);
        enemyList = list;

        //处理挑战胜利后奖励动画
        if (currentMassEnemyUid != null)
        {
            ArenaManager.instance.currentMassEnemyUid = null;
            if (currentMassEnemy != null && currentMassEnemy.challengedWin)
            {
                StartCoroutine(Utils.DelayRun(() => {
                    awardIconIntegral.SetActive(true);
                    awardIconIntegral.transform.localPosition = currentEnemyLocation.transform.localPosition;
                    TweenPosition tp = TweenPosition.Begin(awardIconIntegral, 0.8f, new Vector3(-254, 358, 0));
                    tp.method        = UITweener.Method.EaseIn;
                    EventDelegate.Add(tp.onFinished, () => {
                        awardIconIntegral.SetActive(false);
                    }, true);
                }, 0f));
                StartCoroutine(Utils.DelayRun(() => {
                    awardIconMerit.SetActive(true);
                    awardIconMerit.transform.localPosition = currentEnemyLocation.transform.localPosition;
                    TweenPosition tp2 = TweenPosition.Begin(awardIconMerit, 0.8f, new Vector3(-254, 308, 0));
                    tp2.method        = UITweener.Method.EaseIn;
                    EventDelegate.Add(tp2.onFinished, () => {
                        awardIconMerit.SetActive(false);
                    }, true);
                }, 0.4f));
            }
        }
        PlayerAwardDataEffect(isWin);
    }