| Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0320_tagFBEnd.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOneHonorStoreWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOnePKSeason.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOnePlayerInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HeavenBattle/BattlePrepareCoolDownWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0320_tagFBEnd.cs
@@ -1,10 +1,12 @@ using UnityEngine; using System.Collections; using Snxxz.UI; /** 副本结束界面 */ using System; /** 副本结束界面 */ public class DTC0320_tagFBEnd : DtcBasic { public static event Action UpdateFBEndEvent; /** 重写基类的数据包转逻辑处理 */ public override void Done(GameNetPackBasic vNetPack) { @@ -13,5 +15,9 @@ var dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>(); dungeonModel.ProcessResult(vNetData.Msg); if(UpdateFBEndEvent != null) { UpdateFBEndEvent(); } } } Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs
@@ -27,8 +27,6 @@ TransBytes (out ZoneList[i].SeasonList[j].StartDate, vBytes, NetDataType.Chars, 10); TransBytes (out ZoneList[i].SeasonList[j].EndDate, vBytes, NetDataType.Chars, 10); TransBytes (out ZoneList[i].SeasonList[j].EndTime, vBytes, NetDataType.Chars, 5); TransBytes (out ZoneList[i].SeasonList[j].NextStartDate, vBytes, NetDataType.Chars, 10); TransBytes (out ZoneList[i].SeasonList[j].NextEndDate, vBytes, NetDataType.Chars, 10); } } } @@ -46,8 +44,6 @@ public string StartDate; // 开始日期 yyyy-MM-dd public string EndDate; // 结束日期 yyyy-MM-dd public string EndTime; // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm public string NextStartDate; // 下赛季开始日期 yyyy-MM-dd public string NextEndDate; // 下赛季结束日期 yyyy-MM-dd } } System/CrossServerOneVsOne/CrossServerOneVsOneHonorStoreWin.cs
@@ -51,8 +51,15 @@ private void CreateShopCell() { shopCtrl.Refresh(); shoplist = m_storeModel.TryGetStoreDatas((int)m_storeModel.storeFuncType); if(shoplist == null) { DebugEx.Log("跨服商店数据为空"); return; } shopCtrl.Refresh(); if (shoplist.Count > 0) { int i = 0; System/CrossServerOneVsOne/CrossServerOneVsOnePKSeason.cs
@@ -57,18 +57,12 @@ public string EndTime { get; private set; } // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm public OperationDate NextStartDate { get; private set; } // 下赛季开始日期 yyyy-MM-dd public OperationDate NextEndDate { get; private set; } // 下赛季结束日期 yyyy-MM-dd public void SetPkSeasonInfo(HC004_tagGCCrossRealmPKSeasonInfo.tagGCCrossRealmPKSeason seasonInfo) { this.SeasonID = seasonInfo.SeasonID; this.StartDate = ParseOperationDate(seasonInfo.StartDate); this.EndDate = ParseOperationDate(seasonInfo.EndDate); this.EndTime = seasonInfo.EndTime; this.NextStartDate = ParseOperationDate(seasonInfo.NextStartDate); this.NextEndDate = ParseOperationDate(seasonInfo.NextEndDate); } private OperationDate ParseOperationDate(string date) @@ -207,6 +201,25 @@ return false; } public bool TryGetNextSeasonInfo(out PkSeasonInfo seasonInfo) { seasonInfo = null; PkZoneInfo zoneInfo = null; bool isZone = TryGetZoneInfo(out zoneInfo); if (!isZone) return false; for (int i = 0; i < zoneInfo.SeasonList.Count; i++) { var info = zoneInfo.SeasonList[i]; if(info.SeasonID > this.SeasonID) { seasonInfo = info; return true; } } return true; } public bool InDay(DateTime time) { OperationDate date = new OperationDate() @@ -258,19 +271,15 @@ { return Language.Get("CrossServer106", ToDisplayTime(seasonInfo.StartDate, seasonInfo.EndDate)); } else { if (seasonInfo.NextStartDate.Equals(default(OperationDate))) { return Language.Get("CrossServer107", Language.Get("CrossServer108")); } else { return Language.Get("CrossServer107", ToDisplayTime(seasonInfo.NextStartDate, seasonInfo.NextEndDate)); } } } return Language.Get("CrossServer107", Language.Get("CrossServer108")); PkSeasonInfo nextSeasonInfo = null; bool isNextSeason = TryGetNextSeasonInfo(out nextSeasonInfo); if (isNextSeason && !nextSeasonInfo.StartDate.Equals(default(OperationDate))) { return Language.Get("CrossServer107", ToDisplayTime(nextSeasonInfo.StartDate, nextSeasonInfo.EndDate)); } return Language.Get("CrossServer107", Language.Get("CrossServer108")); } private string ToDisplayTime(OperationDate start,OperationDate end) System/CrossServerOneVsOne/CrossServerOneVsOnePlayerInfo.cs
@@ -70,7 +70,7 @@ public int GetBuyMatchNumPrice() { Equation.Instance.Clear(); Equation.Instance.AddKeyValue("buyCnt",DayBuyCount); Equation.Instance.AddKeyValue("todayBuyCount", DayBuyCount); return Equation.Instance.Eval<int>(crossServerModel.priceFormula); } System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs
New file @@ -0,0 +1,147 @@ using System; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class CrossServerOneVsOneWin : Window { [SerializeField] Image headImg; [SerializeField] Text nameText; [SerializeField] Text lvText; [SerializeField] Text rankText; [SerializeField] Text curScoreText; [SerializeField] Text honorText; [SerializeField] Image rankImg; [SerializeField] Slider scoreSlider; [SerializeField] Text scorePerText; [SerializeField] GameObject danLvUpObj; [SerializeField] Button rankAwardBtn; [SerializeField] GameObject rankAward_SelectImg; [SerializeField] Button arenaBtn; [SerializeField] GameObject arena_SelectImg; [SerializeField] Button seasonAwardBtn; [SerializeField] GameObject seasonAward_SelectImg; [SerializeField] Button honorStoreBtn; [SerializeField] GameObject honorStore_SelectImg; CrossServerOneVsOnePlayerInfo playerInfo; CrossServerWin crossServerWin; #region Built-in protected override void BindController() { } protected override void AddListeners() { rankAwardBtn.AddListener(ClickRankAward); arenaBtn.AddListener(ClickArena); seasonAwardBtn.AddListener(ClickSeasonAward); honorStoreBtn.AddListener(ClickHonorStore); } protected override void OnPreOpen() { SetDisplay(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { CloseSubWindows(); } protected override void OnAfterClose() { } #endregion private void SetDisplay() { crossServerWin = WindowCenter.Instance.Get<CrossServerWin>(); playerInfo = CrossServerOneVsOnePlayerInfo.Instance; var playerData = PlayerDatas.Instance.baseData; headImg.SetSprite(GeneralDefine.GetOtherJobHeadPortrait(playerData.Job, 0)); nameText.text = playerData.PlayerName; lvText.text = StringUtility.Contact("Lv.", playerData.LV); scoreSlider.minValue = 0; scoreSlider.maxValue = 1; UpdateScore(); var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(playerInfo.DanLV); rankText.text = arenaConfig.Name; rankImg.SetSprite(arenaConfig.IconKey); ClickArena(); } private void UpdateScore() { curScoreText.text = playerInfo.Score.ToString(); int maxScore = 0; bool isMaxRank = playerInfo.TryGetMaxRank(out maxScore); danLvUpObj.SetActive(!isMaxRank); if (!isMaxRank) { scorePerText.text = StringUtility.Contact(playerInfo.Score, "/", maxScore); scoreSlider.value = (float)playerInfo.Score / maxScore; } } private void ClickHonorStore() { if (honorStore_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>(); honorStore_SelectImg.SetActive(true); } private void ClickSeasonAward() { if (seasonAward_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<SeasonRewardWin>(); seasonAward_SelectImg.SetActive(true); } private void ClickArena() { if (arena_SelectImg.activeInHierarchy) return; CloseSubWindows(); if (crossServerWin.windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneArenaWin>(); } else { WindowCenter.Instance.Open<CrossServerOneVsOneArenaWin>(); } arena_SelectImg.SetActive(true); } private void ClickRankAward() { if (rankAward_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<SegmentRewardWin>(); rankAward_SelectImg.SetActive(true); } private void CloseSubWindows() { WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneArenaWin>(); WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneHonorStoreWin>(); WindowCenter.Instance.CloseImmediately<SeasonRewardWin>(); WindowCenter.Instance.CloseImmediately<SegmentRewardWin>(); WindowCenter.Instance.CloseImmediately<MatchWin>(); arena_SelectImg.SetActive(false); rankAward_SelectImg.SetActive(false); seasonAward_SelectImg.SetActive(false); honorStore_SelectImg.SetActive(false); } } } System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: e97d33fd53654fc4297572c97027529e timeCreated: 1545705583 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/CrossServerOneVsOne/CrossServerWin.cs
@@ -14,28 +14,6 @@ [SerializeField] FunctionButton arenaFunc; [SerializeField] FunctionButton bossFunc; [SerializeField] FunctionButtonGroup funcGroup; [SerializeField] Image headImg; [SerializeField] Text nameText; [SerializeField] Text lvText; [SerializeField] Text rankText; [SerializeField] Text curScoreText; [SerializeField] Text honorText; [SerializeField] Image rankImg; [SerializeField] Slider scoreSlider; [SerializeField] Text scorePerText; [SerializeField] GameObject danLvUpObj; [SerializeField] Button rankAwardBtn; [SerializeField] GameObject rankAward_SelectImg; [SerializeField] Button arenaBtn; [SerializeField] GameObject arena_SelectImg; [SerializeField] Button seasonAwardBtn; [SerializeField] GameObject seasonAward_SelectImg; [SerializeField] Button honorStoreBtn; [SerializeField] GameObject honorStore_SelectImg; CrossServerRewardModel m_CrossServerRewardModel; CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } } CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } } CrossServerOneVsOnePlayerInfo playerInfo; #region Built-in protected override void BindController() { @@ -48,15 +26,11 @@ rightBtn.AddListener(ClickRight); arenaFunc.AddListener(ClickArenaFunc); bossFunc.AddListener(ClickBossFunc); rankAwardBtn.AddListener(ClickRankAward); arenaBtn.AddListener(ClickArena); seasonAwardBtn.AddListener(ClickSeasonAward); honorStoreBtn.AddListener(ClickHonorStore); } protected override void OnPreOpen() { SetDisplay(); } protected override void OnActived() @@ -81,35 +55,6 @@ } #endregion private void SetDisplay() { playerInfo = CrossServerOneVsOnePlayerInfo.Instance; var playerData = PlayerDatas.Instance.baseData; headImg.SetSprite(GeneralDefine.GetOtherJobHeadPortrait(playerData.Job, 0)); nameText.text = playerData.PlayerName; lvText.text = StringUtility.Contact("Lv.", playerData.LV); scoreSlider.minValue = 0; scoreSlider.maxValue = 1; UpdateScore(); var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(playerInfo.DanLV); rankText.text = arenaConfig.Name; rankImg.SetSprite(arenaConfig.IconKey); } private void UpdateScore() { curScoreText.text = playerInfo.Score.ToString(); int maxScore = 0; bool isMaxRank = playerInfo.TryGetMaxRank(out maxScore); danLvUpObj.SetActive(!isMaxRank); if (!isMaxRank) { scorePerText.text = StringUtility.Contact(playerInfo.Score, "/", maxScore); scoreSlider.value = (float)playerInfo.Score / maxScore; } } #region 点击事件 private void ClickBossFunc() @@ -120,7 +65,7 @@ private void ClickArenaFunc() { CloseSubWindows(); ClickArena(); WindowCenter.Instance.Open<CrossServerOneVsOneWin>(); } private void ClickRight() @@ -133,58 +78,6 @@ funcGroup.TriggerLast(); } private void ClickHonorStore() { if (honorStore_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>(); honorStore_SelectImg.SetActive(true); } private void ClickSeasonAward() { if (seasonAward_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<SeasonRewardWin>(); seasonAward_SelectImg.SetActive(true); } private void ClickArena() { if (arena_SelectImg.activeInHierarchy) return; CloseSubWindows(); if (crossServerRewardModel.IsOpenMatch) { WindowCenter.Instance.Open<MatchWin>(); } else { if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneArenaWin>(); } else { WindowCenter.Instance.Open<CrossServerOneVsOneArenaWin>(); } } arena_SelectImg.SetActive(true); } private void ClickRankAward() { if (rankAward_SelectImg.activeInHierarchy) return; CloseSubWindows(); WindowCenter.Instance.Open<SegmentRewardWin>(); rankAward_SelectImg.SetActive(true); } private void ClickClose() { CloseSubWindows(); @@ -193,20 +86,11 @@ private void CloseSubWindows() { //var children = WindowConfig.Get().FindChildWindows("CrossServerWin"); //foreach (var window in children) //{ // WindowCenter.Instance.Close(window); //} WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneArenaWin>(); WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneHonorStoreWin>(); WindowCenter.Instance.CloseImmediately<SeasonRewardWin>(); WindowCenter.Instance.CloseImmediately<SegmentRewardWin>(); WindowCenter.Instance.CloseImmediately<MatchWin>(); arena_SelectImg.SetActive(false); rankAward_SelectImg.SetActive(false); seasonAward_SelectImg.SetActive(false); honorStore_SelectImg.SetActive(false); var children = WindowConfig.Get().FindChildWindows("CrossServerWin"); foreach (var window in children) { WindowCenter.Instance.Close(window); } } #endregion } System/HeavenBattle/BattlePrepareCoolDownWin.cs
@@ -13,13 +13,13 @@ [SerializeField] Image virtualDownImage; [SerializeField] Image coolDownImg; DungeonModel m_Model; DungeonModel m_Model; DungeonModel model { { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } } DateTime beginTime = DateTime.Now; int coolTime = -1; @@ -40,6 +40,7 @@ scaleTween.SetStartState(); virtualscaleTween.SetStartState(); beginTime = model.GetCoolDownEndTime(DungeonCoolDownType.WaitStart); DTC0320_tagFBEnd.UpdateFBEndEvent += UpdateFBEnd; } protected override void OnAfterOpen() @@ -49,34 +50,39 @@ protected override void OnPreClose() { DTC0320_tagFBEnd.UpdateFBEndEvent -= UpdateFBEnd; } protected override void OnAfterClose() { } protected override void LateUpdate() { private void UpdateFBEnd() { CloseImmediately(); } protected override void LateUpdate() { base.LateUpdate(); UpdateCoolTime(); UpdateCoolTime(); } private void UpdateCoolTime() { if (beginTime > DateTime.Now) { var surplusTime = Mathf.Clamp((int)(beginTime - DateTime.Now).TotalSeconds, 0, int.MaxValue); if (beginTime > DateTime.Now) { var surplusTime = Mathf.Clamp((int)(beginTime - DateTime.Now).TotalSeconds, 0, int.MaxValue); if (coolTime != surplusTime) { coolTime = surplusTime; RefreshPrepareTime(surplusTime); } } else { CloseWin(); } } else { CloseWin(); } }