Example #1
0
    private void CreateTestPvp()
    {
        SlgPB.PVPUser pvp = new SlgPB.PVPUser();

        SlgPB.UnitGroup unitGroup = new SlgPB.UnitGroup();
        pvp.unitGroups.Add(unitGroup);
        unitGroup.posId  = 1;
        unitGroup.unitId = 1;
        unitGroup.num    = 10;
        unitGroup.heroId = 2;

        SlgPB.Hero pbHero = new SlgPB.Hero();
        pvp.heroes.Add(pbHero);
        pbHero.heroId = 2;
        pbHero.exp    = 100;
        pbHero.stage  = 1;

        SlgPB.Unit pbUnit = new SlgPB.Unit();
        pvp.units.Add(pbUnit);
        pbUnit.unitId = 1;
        pbUnit.unitPartLevel.Add(1);
        pbUnit.unitPartLevel.Add(1);
        pbUnit.unitPartLevel.Add(1);
        pbUnit.unitPartLevel.Add(1);

        InstancePlayer.instance.pvpUser = pvp;
    }
Example #2
0
 public void Init(SlgPB.PVPUser pvpUser)
 {
     if (pvpUser != null)
     {
         _pvpUser = pvpUser;
     }
 }
Example #3
0
    void UpdateUI()
    {
        _model_pvpUser = InstancePlayer.instance.model_User.model_pvpUser;
        _selfPvpUser   = _model_pvpUser.selfPvpUser;
        _pvpUsers      = _model_pvpUser.pvpUsers;
        if (_selfPvpUser != null)
        {
//			_playLevel_Label.text = ;
            _currentRank_Lable.text = _selfPvpUser.rank.ToString();
            _fight_Lable.text       = InstancePlayer.instance.model_User.model_Formation.CalcPower().ToString();

            _timesValue_Label.text = UIHelper.SetStringSixteenColor(_model_pvpUser.remainChallengeTimes.ToString() + "/", UICommon.SIXTEEN_GREEN) + UIHelper.SetStringSixteenColor("10", UICommon.SIXTEEN_ORANGE);
            if (_model_pvpUser.refreshCost == 0)
            {
                _refreshtimes_Label.text = "(免费)";
            }
            else
            {
                _refreshtimes_Label.text = "(" + _model_pvpUser.refreshCost + "钻石)";
            }
            DataLadder ladder = DataManager.instance.dataLadderGroup.GetLadder(_selfPvpUser.rank);
            if (ladder != null)
            {
                _recordValue.text  = ladder.combat.ToString();
                _diamondValue.text = ladder.cash.ToString();
            }
            else
            {
                _recordValue.text  = "0";
                _diamondValue.text = "0";
            }
        }
    }
Example #4
0
    public void Parser(SlgPB.GetPVPLadderResponse content)
    {
        remainChallengeTimes = content.remainFightNum;
        refreshCost          = content.refreshPrice;

        selfPvpUser = content.PVPUser;
        SetPvpUsers(content.opponents);
    }
Example #5
0
    public void PushPvpUser(SlgPB.PVPUser user)
    {
        for (int i = 0; i < pvpUsers.Count; ++i)
        {
            SlgPB.PVPUser originUser = pvpUsers [i];
            if (originUser.rank == user.rank)
            {
                pvpUsers [i] = user;
                return;
            }
        }

        pvpUsers.Add(user);
    }
Example #6
0
    public void ImportFromPvp(SlgPB.PVPUser pvpUser)
    {
        InitPvpDataMap(pvpUser);

        mission       = new DataMission();
        mission.asset = DataMission.BK_NAMES [(int)RandomHelper.Range(0, DataMission.BK_NAMES.Length)];

        extraTeamCount = 1;
        enemyTeams     = new InstanceTeam[extraTeamCount];
        friendTeams    = new InstanceTeam[extraTeamCount];

        InstanceTeam instanceTeam = new InstanceTeam();

        instanceTeam.units = new InstanceUnitPvp[DataConfig.FORMATION_TOTAL_SLOT];

        int memberCount = pvpUser.unitGroups.Count;

        for (int i = 0; i < memberCount; ++i)
        {
            SlgPB.UnitGroup group = pvpUser.unitGroups [i];

            int   unitId     = group.unitId;
            int   unitCount  = group.num;
            int   heroId     = group.heroId;
            float powerScale = 1;

            if (unitId > 0 && unitCount > 0)
            {
                SlgPB.Hero pbHero = null;
                if (pbHeroesMap.ContainsKey(heroId))
                {
                    pbHero = pbHeroesMap [heroId];
                }

                SlgPB.Unit pbUnit = null;
                if (pbUnitsMap.ContainsKey(unitId))
                {
                    pbUnit = pbUnitsMap [unitId];
                }

                InstanceUnitPvp instanceUnitPvp = new InstanceUnitPvp(false, heroId, unitId, unitCount, powerScale, pbHero, pbUnit);
                instanceUnitPvp.Init();

                int slotId = group.posId - 1;
                instanceTeam.units[slotId] = instanceUnitPvp;
            }
        }

        enemyTeams [0] = instanceTeam;
    }
Example #7
0
    private void InitPvpDataMap(SlgPB.PVPUser pvpUser)
    {
        pbHeroesMap = new Dictionary <int, SlgPB.Hero> ();
        foreach (SlgPB.Hero hero in pvpUser.heroes)
        {
            pbHeroesMap [hero.heroId] = hero;
        }

        pbUnitsMap = new Dictionary <int, SlgPB.Unit> ();
        foreach (SlgPB.Unit unit in pvpUser.units)
        {
            pbUnitsMap [unit.unitId] = unit;
        }
    }
    public void InitHonor(GameObject itemTipsPanel)
    {
        _Icon_Texture.SetDropItemTexture((int)DataConfig.DATA_TYPE.Combat);

        SlgPB.PVPUser pvpUser = InstancePlayer.instance.model_User.model_pvpUser.selfPvpUser;
        DataLadder    ladder  = DataManager.instance.dataLadderGroup.GetLadder(pvpUser.rank);

        // 获得的honor
        int honorChanged = InstancePlayer.instance.model_User.honorChanged;

        _res_Value_Label.text = ladder.honor.ToString();

        _ItemTipsPanel = itemTipsPanel;
        _ItemName      = "荣誉";
    }
Example #9
0
 void OnGetLadder(bool success, System.Object content)
 {
     if (success)
     {
         _model_pvpUser = InstancePlayer.instance.model_User.model_pvpUser;
         _selfPvpUser   = _model_pvpUser.selfPvpUser;
         _pvpUsers      = _model_pvpUser.pvpUsers;
         CreateItem(_pvpUsers);
         UIHelper.LoadingPanelIsOpen(false);
         Trace.trace("OnGetLadder success", Trace.CHANNEL.UI);
     }
     else
     {
         Trace.trace("OnGetLadder failure", Trace.CHANNEL.UI);
     }
 }
Example #10
0
    public static RESULT CheckStartFight(SlgPB.PVPUser pvpUser)
    {
        if (InstancePlayer.instance.model_User.model_pvpUser.remainChallengeTimes <= 0)
        {
            return(RESULT.LACK_CHALLENGE);
        }

        if (pvpUser.rank <= 3)
        {
            if (InstancePlayer.instance.model_User.model_pvpUser.selfPvpUser.rank > 100)
            {
                return(RESULT.LACK_RANK);
            }
        }


        return(RESULT.OK);
    }
Example #11
0
    void UpdatePlayerInfo()
    {
        if (InstancePlayer.instance.pvpUser == null)       //pve
        {
            int         missoinId = InstancePlayer.instance.missionMagicId;
            DataMission mission   = DataManager.instance.dataMissionGroup.GetMission(missoinId);
            _enemyName.text = mission.name;
        }
        else        //pvp
        {
            SlgPB.PVPUser pvp = InstancePlayer.instance.pvpUser;
            _enemyName.text  = pvp.userName;
            _enemyLevel.text = DataManager.instance.dataLeaderGroup.GetLevel(pvp.honor).ToString();
        }
        Model_User modelUser = InstancePlayer.instance.model_User;

        _playerLevel.text = modelUser.honorLevel.ToString();
        _playerName.text  = modelUser.userName;
    }
Example #12
0
    // =====================================
    // pvp battle


    public void StartPvpFight(SlgPB.PVPUser opponent)
    {
        InstancePlayer.instance.pvpUser = opponent;

        bool isOffline = IsStartOfOffline();

        if (isOffline)
        {
//			SceneHelper.SwitchScene (AppConfig.SCENE_NAME_BATTLE);
        }
        else
        {
            int unitCount = InstancePlayer.instance.model_User.model_Formation.GetCurrentTeamUnitCount();
            if (unitCount <= 0)
            {
                UIController.instance.CreatePanel(UICommon.UI_PANEL_FORMATION);
            }
            else
            {
//				UIHelper.LoadingPanelIsOpen(true);

                PBConnect_startPVPLadderFight.RESULT r = PBConnect_startPVPLadderFight.StartFight(OnStartPvpFight);
                switch (r)
                {
                case PBConnect_startPVPLadderFight.RESULT.OK:
                    break;

                case PBConnect_startPVPLadderFight.RESULT.LACK_CHALLENGE:
                    Trace.trace("剩余次数使用完毕!LACK_CHALLENGE", Trace.CHANNEL.UI);
                    break;

                case PBConnect_startPVPLadderFight.RESULT.LACK_RANK:
                    Trace.trace("LACK_RANK", Trace.CHANNEL.UI);
                    break;

                default:
//					UIHelper.LoadingPanelIsOpen(false);
                    break;
                }
            }
        }
    }
Example #13
0
    public static RESULT StartFight(PBConnect_startPVPLadderFight.DelegateConnectCallback callback)
    {
        Assert.assert(_fightCallback == null);

        RESULT r = CheckStartFight(InstancePlayer.instance.pvpUser);

        if (r != RESULT.OK)
        {
            return(r);
        }

        /*
         * SlgPB.PVPUser selfUser = InstancePlayer.instance.model_User.model_pvpUser.selfPvpUser;
         * int selfRank = selfUser.rank;
         *
         * if (selfRank >= opponent.rank) {
         *      return RESULT.RANK_ERROR;
         * }
         */

        _fightCallback = callback;

        SlgPB.PVPUser opponent = InstancePlayer.instance.pvpUser;

        StartPVPLadderFightRequest request = new StartPVPLadderFightRequest();

        request.api = new Model_ApiRequest().api;

        request.rank      = opponent.rank;
        request.oppUserId = opponent.userId;
        request.teamId    = InstancePlayer.instance.model_User.model_Formation.GetSelectTeamId();

        (new PBConnect_startPVPLadderFight()).Send(request, OnStartFight);

        return(r);
    }