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; }
public void Init(SlgPB.PVPUser pvpUser) { if (pvpUser != null) { _pvpUser = pvpUser; } }
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"; } } }
public void Parser(SlgPB.GetPVPLadderResponse content) { remainChallengeTimes = content.remainFightNum; refreshCost = content.refreshPrice; selfPvpUser = content.PVPUser; SetPvpUsers(content.opponents); }
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); }
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; }
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 = "荣誉"; }
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); } }
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); }
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; }
// ===================================== // 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; } } } }
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); }