| Core/GameEngine/DataToCtl/PackageRegedit.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC002_tagGCCrossRealmPKStartMatch.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC006_tagGCCrossRealmPKSeasonState.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC006_tagGCCrossRealmPKSeasonState.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC006_tagGCCrossRealmPKSeasonState.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC006_tagGCCrossRealmPKSeasonState.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerArenaWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerPKSeason.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -205,6 +205,7 @@ Register(typeof(HC101_tagMCCrossRealmPKPlayerInfo), typeof(DTCC101_tagMCCrossRealmPKPlayerInfo)); Register(typeof(HC102_tagMCCrossRealmPKAwardState), typeof(DTCC102_tagMCCrossRealmPKAwardState)); Register(typeof(HC005_tagGCCrossRealmPKBillboardInfo), typeof(DTCC005_tagGCCrossRealmPKBillboardInfo)); Register(typeof(HC006_tagGCCrossRealmPKSeasonState), typeof(DTCC006_tagGCCrossRealmPKSeasonState)); #region 背包 Register(typeof(H0724_tagRolePackCanUseCount), typeof(DTC0724_tagRolePackCanUseCount)); Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC002_tagGCCrossRealmPKStartMatch.cs
@@ -1,6 +1,7 @@ using UnityEngine; using System.Collections; using System; using Snxxz.UI; // C0 02 跨服PK开始匹配 #tagGCCrossRealmPKStartMatch @@ -8,12 +9,14 @@ public class DTCC002_tagGCCrossRealmPKStartMatch : DtcBasic { CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } } public static event Action CrossServerStartMatchEvent; public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HC002_tagGCCrossRealmPKStartMatch vNetData = vNetPack as HC002_tagGCCrossRealmPKStartMatch; crossServerModel.IsMatching = true; if(CrossServerStartMatchEvent != null) { CrossServerStartMatchEvent(); Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC006_tagGCCrossRealmPKSeasonState.cs
New file @@ -0,0 +1,20 @@ using UnityEngine; using System.Collections; using Snxxz.UI; // C0 06 跨服PK本服赛季状态 #tagGCCrossRealmPKSeasonState public class DTCC006_tagGCCrossRealmPKSeasonState : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HC006_tagGCCrossRealmPKSeasonState vNetData = vNetPack as HC006_tagGCCrossRealmPKSeasonState; CrossServerPKSeason.Instance.UpdateSelfSeason(vNetData); } } Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC006_tagGCCrossRealmPKSeasonState.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 235d32ec38a1e8e46b6565facccab20b timeCreated: 1545616697 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs
@@ -1,13 +1,11 @@ using UnityEngine; using System.Collections; // C0 04 跨服PK赛季信息 #tagGCCrossRealmPKSeasonInfo // C0 04 跨服PK赛区赛季信息 #tagGCCrossRealmPKSeasonInfo public class HC004_tagGCCrossRealmPKSeasonInfo : GameNetPackBasic { public byte ZoneCount; // 赛区个数 public tagGCCrossRealmPKZone[] ZoneList; // 赛区列表 public byte ZoneID; // 所属赛区ID public ushort SeasonID; // 当前赛季ID public HC004_tagGCCrossRealmPKSeasonInfo () { _cmd = (ushort)0xC004; @@ -33,8 +31,6 @@ TransBytes (out ZoneList[i].SeasonList[j].NextEndDate, vBytes, NetDataType.Chars, 10); } } TransBytes (out ZoneID, vBytes, NetDataType.BYTE); TransBytes (out SeasonID, vBytes, NetDataType.WORD); } public struct tagGCCrossRealmPKZone { Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC006_tagGCCrossRealmPKSeasonState.cs
New file @@ -0,0 +1,23 @@ using UnityEngine; using System.Collections; // C0 06 跨服PK本服赛季状态 #tagGCCrossRealmPKSeasonState public class HC006_tagGCCrossRealmPKSeasonState : GameNetPackBasic { public byte ZoneID; // 所属赛区ID public ushort SeasonID; // 当前赛季ID public byte SeasonState; // 赛季状态;0-未开启,1-开启中,2-已结束 public byte MatchState; // 匹配状态;0-未开启;1-开启中 public HC006_tagGCCrossRealmPKSeasonState () { _cmd = (ushort)0xC006; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out ZoneID, vBytes, NetDataType.BYTE); TransBytes (out SeasonID, vBytes, NetDataType.WORD); TransBytes (out SeasonState, vBytes, NetDataType.BYTE); TransBytes (out MatchState, vBytes, NetDataType.BYTE); } } Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC006_tagGCCrossRealmPKSeasonState.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: e71bc84c9a5cd2d4ab1215f956acd879 timeCreated: 1545616697 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/CrossServerOneVsOne/CrossServerArenaWin.cs
@@ -44,7 +44,7 @@ SetDisplay(); TimeMgr.Instance.OnMinuteEvent += UpdateMinute; GlobalTimeEvent.Instance.secondEvent += UpdateSecond; DTCC002_tagGCCrossRealmPKStartMatch.CrossServerStartMatchEvent += OnStartMatch; CrossServerPKSeason.Instance.updateSelfSeasonEvent += OnChangeMatchState; } protected override void OnAfterOpen() @@ -56,6 +56,7 @@ { TimeMgr.Instance.OnMinuteEvent -= UpdateMinute; GlobalTimeEvent.Instance.secondEvent -= UpdateSecond; CrossServerPKSeason.Instance.updateSelfSeasonEvent -= OnChangeMatchState; } protected override void OnAfterClose() { @@ -69,8 +70,10 @@ UpdatePKInfo(); UpdateActivityState(); UpdateLookPlayerTime(); seasonTimeText.text = CrossServerPKSeason.Instance.ToDisplaySeasonTime(); var openTimes = CrossServerPKSeason.Instance.GetActivityTimes(); OnChangeMatchState(); var pkSeason = CrossServerPKSeason.Instance; seasonTimeText.text = pkSeason.ToDisplaySeasonTime(); var openTimes = pkSeason.GetActivityTimes(); openTimeText.gameObject.SetActive(openTimes != null && openTimes.Count > 0); if(openTimes != null) { @@ -92,7 +95,7 @@ openTimeText.text = Language.Get("CrossServer119", openTimeDes); } lookPlayerObj.SetActive(crossServerModel.IsMatching); lookPlayerObj.SetActive(pkSeason.MatchState != 0); } private void UpdateMatchInfo() @@ -127,7 +130,7 @@ private void UpdateLookPlayerTime() { if (!crossServerModel.IsMatching) return; if (CrossServerPKSeason.Instance.MatchState == 0) return; int totalSeconds = Mathf.RoundToInt((float)(DateTime.Now - crossServerModel.matchStartTime).TotalSeconds); if(totalSeconds < 3600) @@ -176,7 +179,7 @@ matchBtn.RemoveAllListeners(); matchBtn_Text.text = Language.Get("CrossServer109"); matchBtn_Img.material = MaterialUtility.GetUIDefaultGraphicMaterial(); if (!crossServerModel.IsMatching) if (CrossServerPKSeason.Instance.MatchState == 0) { matchBtn.AddListener(() => { ClickMatch(1); }); } @@ -206,24 +209,21 @@ WindowCenter.Instance.Open<RankingWin>(); } private void OnStartMatch() private void OnChangeMatchState() { lookPlayerObj.SetActive(true); crossServerModel.IsMatching = true; crossServerModel.matchStartTime = DateTime.Now; UpdateLookPlayerTime(); int matchState = CrossServerPKSeason.Instance.MatchState; lookPlayerObj.SetActive(matchState != 0); if(matchState != 0) { crossServerModel.matchStartTime = DateTime.Now; UpdateLookPlayerTime(); } UpdateActivityState(); } private void ClickMatch(int type) { crossServerModel.SendCrossMatch(type); if(type != 1) { lookPlayerObj.SetActive(false); crossServerModel.IsMatching = false; UpdateActivityState(); } } private void ClickMatchRecord() System/CrossServerOneVsOne/CrossServerPKSeason.cs
@@ -15,7 +15,11 @@ public int ZoneID { get; private set; } // 所属赛区ID public int SeasonID; // 当前赛季ID public int SeasonID { get; private set; } // 当前赛季ID public int SeasonState { get; private set; } // 赛季状态;0-未开启,1-开启中,2-已结束 public int MatchState { get; private set; } // 匹配状态;0-未开启;1-开启中 public class PkZoneInfo { @@ -85,10 +89,12 @@ public event Action activityStartEvent; public event Action activityEndEvent; public event Action updateSelfSeasonEvent; private bool inDateNotify = false; private bool stepDateNotify = false; public const int dailyQuestId = 31; DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } } public CrossServerPKSeason() { @@ -101,6 +107,8 @@ ZoneIDList = null; ZoneID = 0; SeasonID = 0; SeasonState = 0; MatchState = 0; } public List<HourMinute> GetActivityTimes() @@ -138,8 +146,6 @@ inDateNotify = false; stepDateNotify = false; this.ZoneCount = pkSeason.ZoneCount; this.ZoneID = pkSeason.ZoneID; this.SeasonID = pkSeason.SeasonID; var zoneIDs = pkSeason.ZoneList; this.ZoneIDList = new List<PkZoneInfo>(); for(int i = 0; i < pkSeason.ZoneCount; i++) @@ -151,6 +157,20 @@ } } public void UpdateSelfSeason(HC006_tagGCCrossRealmPKSeasonState pKSeasonState) { this.ZoneID = pKSeasonState.ZoneID; this.SeasonID = pKSeasonState.SeasonID; this.SeasonState = pKSeasonState.SeasonState; this.MatchState = pKSeasonState.MatchState; if(updateSelfSeasonEvent != null) { updateSelfSeasonEvent(); } } public bool TryGetZoneInfo(out PkZoneInfo zoneInfo) { zoneInfo = null;