System/CrossServerOneVsOne/CrossServerOneVsOneDanLVWin.cs
New file @@ -0,0 +1,51 @@ using UnityEngine; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { public class CrossServerOneVsOneDanLVWin : Window { [SerializeField] ScrollerController lvCtrl; [SerializeField] Button closeBtn; #region Built-in protected override void BindController() { } protected override void AddListeners() { closeBtn.AddListener(CloseClick); } protected override void OnPreOpen() { SetDisplay(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion private void SetDisplay() { var lvConfigs = Config.Instance.GetAllValues<CrossServerArenaConfig>(); lvCtrl.Refresh(); for(int i = lvConfigs.Count - 1; i > -1; i--) { int danLv = lvConfigs[i].DanLV; lvCtrl.AddCell(ScrollerDataType.Header,danLv); } lvCtrl.Restart(); } } } System/CrossServerOneVsOne/CrossServerOneVsOneDanLVWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 822b5d44765143b4090f5295101cc4ea timeCreated: 1545984504 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/CrossServerOneVsOne/CrossServerOneVsOneDanLvCell.cs
New file @@ -0,0 +1,27 @@ using System; using UnityEngine; using UnityEngine.UI; using TableConfig; using EnhancedUI.EnhancedScroller; namespace Snxxz.UI { public class CrossServerOneVsOneDanLvCell : ScrollerUI { [SerializeField] Image lvImg; [SerializeField] Text nameText; [SerializeField] Text scoreText; public override void Refresh(CellView cell) { var config = Config.Instance.Get<CrossServerArenaConfig>(cell.index); if (config == null) return; lvImg.SetSprite(config.IconKey); nameText.text = config.Name; nameText.color = UIHelper.GetDanLVColor(config.DanLV, true); var preConfig = Config.Instance.Get<CrossServerArenaConfig>(cell.index - 1); int score = preConfig == null ? 0 : preConfig.LVUpScore; scoreText.text = Language.Get("UnionLiven101", score); } } } System/CrossServerOneVsOne/CrossServerOneVsOneDanLvCell.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: b46d9f2d43b370b4482d211de448a2d2 timeCreated: 1545985900 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/CrossServerOneVsOne/CrossServerOneVsOneMatchRecordWin.cs
@@ -9,6 +9,7 @@ { [SerializeField] ScrollerController resultCtrl; [SerializeField] Button closeBtn; [SerializeField] GameObject nonePkResults; CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } } @@ -54,6 +55,7 @@ resultCtrl.AddCell(ScrollerDataType.Header,i); } resultCtrl.Restart(); nonePkResults.SetActive(results.Count < 1); } } } System/CrossServerOneVsOne/CrossServerOneVsOnePKSeason.cs
@@ -32,6 +32,26 @@ } } public bool IsEnterCrossServer { get { bool isFuncOpen = FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.CrossServer); bool isOpenDay = TimeUtility.OpenDay >= crossServerModel.afterOpenDayOpenCross; if(!isFuncOpen) { SysNotifyMgr.Instance.ShowTip("FuncLimit_Level"); return false; } if(!isOpenDay) { SysNotifyMgr.Instance.ShowTip("CrossMatching15", crossServerModel.afterOpenDayOpenCross); return false; } return true; } } public class PkZoneInfo { public int ZoneID { get; private set; } // 赛区ID System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs
@@ -25,9 +25,12 @@ [SerializeField] GameObject seasonAward_SelectImg; [SerializeField] Button honorStoreBtn; [SerializeField] GameObject honorStore_SelectImg; [SerializeField] Button lookDanLvBtn; public static int funcId = 0; CrossServerOneVsOnePlayerInfo playerInfo; CrossServerWin crossServerWin; CrossServerRewardModel m_CrossServerRewardModel; CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } } #region Built-in protected override void BindController() { @@ -39,14 +42,25 @@ arenaBtn.AddListener(ClickArena); seasonAwardBtn.AddListener(ClickSeasonAward); honorStoreBtn.AddListener(ClickHonorStore); lookDanLvBtn.AddListener(ClickDanLv); } protected override void OnPreOpen() { SetDisplay(); SetZoneIDAndSeasonID(); PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdatePlayerData; CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfo; } protected override void OnActived() { bool isbool = crossServerRewardModel.IsAwardState(CrossRealmPKAwardStateEnum.SeasonAwardState, -1); if (CrossServerOneVsOnePKSeason.Instance.SeasonState == 2 && !isbool) { crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询 } } protected override void OnAfterOpen() { @@ -57,6 +71,7 @@ CloseSubWindows(); PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdatePlayerData; CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfo; funcId = 0; } protected override void OnAfterClose() { @@ -90,7 +105,22 @@ UpdateScore(); UpdateRank(); UpdateHonor(); ClickArena(); switch(funcId) { case 0: case 1: ClickArena(); break; case 2: ClickRankAward(); break; case 3: ClickSeasonAward(); break; case 4: ClickHonorStore(); break; } } private void UpdateRank() @@ -122,7 +152,14 @@ { if (honorStore_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>(); if (crossServerWin.windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneHonorStoreWin>(); } else { WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>(); } honorStore_SelectImg.SetActive(true); } @@ -131,9 +168,21 @@ if (seasonAward_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<SeasonRewardWin>(); if (crossServerWin.windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<SeasonRewardWin>(); } else { WindowCenter.Instance.Open<SeasonRewardWin>(); } seasonAward_SelectImg.SetActive(true); } private void ClickDanLv() { WindowCenter.Instance.Open<CrossServerOneVsOneDanLVWin>(); } private void ClickArena() @@ -157,7 +206,14 @@ if (rankAward_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<SegmentRewardWin>(); if (crossServerWin.windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<SegmentRewardWin>(); } else { WindowCenter.Instance.Open<SegmentRewardWin>(); } rankAward_SelectImg.SetActive(true); } @@ -172,5 +228,16 @@ seasonAward_SelectImg.SetActive(false); honorStore_SelectImg.SetActive(false); } private void SetZoneIDAndSeasonID()//设置赛区和ID { if (crossServerRewardModel.ZoneID == 0) { crossServerRewardModel.ZoneID = CrossServerOneVsOnePKSeason.Instance.ZoneID; } if (crossServerRewardModel.SeasonID == 0) { crossServerRewardModel.SeasonID = CrossServerOneVsOnePKSeason.Instance.SeasonID; } } } } System/CrossServerOneVsOne/SeasonRewardCell.cs
@@ -292,9 +292,10 @@ var keyList = crossServerRewardModel.SeasonRewardDic.AwardDic.Keys.ToList(); for (int i = 0; i < keyList.Count; i++) { if (myRank <= keyList[i]) if (myRank < keyList[i]) { type= i; return type; } } return type; System/DailyQuest/DailyQuestModel.cs
@@ -613,7 +613,7 @@ } break; case DailyQuestType.CrossServerPk: if (CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch) if (CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch && FuncOpen.Instance.IsFuncOpen(157)) { dailyQuest.redpoint.state = completedTimes >= totalTimes ? RedPointState.None : RedPointState.Simple; } System/KnapSack/New/KingTreasureShowWin.cs
@@ -63,7 +63,7 @@ treasureIcon.SetSprite(treasureConfig.Icon); treasureEffectText.text = kingShowModel.effectDes.ToString(); sourceText.text = kingShowModel.treasureSource; int fightNum = kingModel.GetSeasonScore(kingShowModel.treasureId); int fightNum = kingModel.GetSeasonScore(kingShowModel.treasureId,kingShowModel.kingTreasureItemConfig.rewardLevel); if (fightNum > 0) { fightBg.SetActive(true); System/Treasure/KingTreasureModel.cs
@@ -196,41 +196,45 @@ return count; } public int GetSeasonScore(int treasureId) public int GetSeasonScore(int treasureId, int rewardLevel = -1) { var score = 0; if (scoreFormula != null) { var season = 0; if (TryGetSeason(treasureId, out season)) if (rewardLevel == -1) { CrossServerOneVsOneModel.CrossServerOneVsOneHistory history; if (oneVsOneModel.TryGetOneVsOneHistory(season, out history)) var season = 0; if (TryGetSeason(treasureId, out season)) { Division division; if (TryGetDivision(treasureId, history.rewardLevel, out division)) CrossServerOneVsOneModel.CrossServerOneVsOneHistory history; if (oneVsOneModel.TryGetOneVsOneHistory(season, out history)) { Equation.Instance.Clear(); foreach (var key in division.basePropertys.Keys) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config != null) { Equation.Instance.AddKeyValue(config.Parameter, division.basePropertys[key]); } } foreach (var key in division.specialPropertys.Keys) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config != null) { Equation.Instance.AddKeyValue(config.Parameter, division.specialPropertys[key]); } } score = Equation.Instance.Eval<int>(scoreFormula); rewardLevel = history.rewardLevel; } } } Division division; if (TryGetDivision(treasureId, rewardLevel, out division)) { Equation.Instance.Clear(); foreach (var key in division.basePropertys.Keys) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config != null) { Equation.Instance.AddKeyValue(config.Parameter, division.basePropertys[key]); } } foreach (var key in division.specialPropertys.Keys) { var config = Config.Instance.Get<PlayerPropertyConfig>(key); if (config != null) { Equation.Instance.AddKeyValue(config.Parameter, division.specialPropertys[key]); } } score = Equation.Instance.Eval<int>(scoreFormula); } } return score; } System/WindowJump/WindowJumpMgr.cs
@@ -303,6 +303,16 @@ SetJumpLogic<DailyQuestWin>(_tagWinSearchModel.TABID); break; case JumpUIType.CrossServerOneVsOne275: case JumpUIType.CrossServerOneVsOne276: case JumpUIType.CrossServerOneVsOne277: case JumpUIType.CrossServerOneVsOne278: case JumpUIType.CrossServerOneVsOne279: int oneVsOneFuncId = 0; int.TryParse(_tagWinSearchModel.SelectActive,out oneVsOneFuncId); CrossServerOneVsOneWin.funcId = oneVsOneFuncId; SetJumpLogic<CrossServerWin>(_tagWinSearchModel.TABID); break; case JumpUIType.AncientBattle: GotoNormalDungeon((int)DailyQuestType.AncientBattleGround, dungeonModel.GetBelongToLine((int)DailyQuestType.AncientBattleGround)); break; @@ -1000,6 +1010,16 @@ return false; } break; case JumpUIType.CrossServerOneVsOne275: case JumpUIType.CrossServerOneVsOne276: case JumpUIType.CrossServerOneVsOne277: case JumpUIType.CrossServerOneVsOne278: case JumpUIType.CrossServerOneVsOne279: if(!CrossServerOneVsOnePKSeason.Instance.IsEnterCrossServer) { return false; } break; } return true; } @@ -1533,6 +1553,11 @@ GatherSoul272 = 272, //聚魂镶嵌界面 GatherSoul273 = 273, //聚魂镶嵌界面 Daily_GatherSoul274 = 274,//日常任务-聚魂副本 CrossServerOneVsOne275 = 275, //跨服天梯赛界面 CrossServerOneVsOne276 = 276, //跨服赛季竞技界面 CrossServerOneVsOne277 = 277, //跨服赛季段位奖励界面 CrossServerOneVsOne278 = 278, //跨服赛季赛季奖励界面 CrossServerOneVsOne279 = 279, //跨服赛季荣誉商店界面 DhszTs = 1001,//定海神针功法提升界面 HyqTs = 1002,//皓月枪功法提升界面 GyzTs = 1003,//鬼牙刃功法提升界面