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
@@ -56,6 +56,7 @@ { TimeMgr.Instance.OnMinuteEvent -= UpdateMinute; GlobalTimeEvent.Instance.secondEvent -= UpdateSecond; DTCC002_tagGCCrossRealmPKStartMatch.CrossServerStartMatchEvent -= OnStartMatch; } protected override void OnAfterClose() { @@ -69,8 +70,9 @@ UpdatePKInfo(); UpdateActivityState(); UpdateLookPlayerTime(); seasonTimeText.text = CrossServerPKSeason.Instance.ToDisplaySeasonTime(); var openTimes = CrossServerPKSeason.Instance.GetActivityTimes(); var pkSeason = CrossServerPKSeason.Instance; seasonTimeText.text = pkSeason.ToDisplaySeasonTime(); var openTimes = pkSeason.GetActivityTimes(); openTimeText.gameObject.SetActive(openTimes != null && openTimes.Count > 0); if(openTimes != null) { @@ -209,7 +211,6 @@ private void OnStartMatch() { lookPlayerObj.SetActive(true); crossServerModel.IsMatching = true; crossServerModel.matchStartTime = DateTime.Now; UpdateLookPlayerTime(); UpdateActivityState(); @@ -218,10 +219,10 @@ private void ClickMatch(int type) { crossServerModel.SendCrossMatch(type); if(type != 1) if(type == 0) { lookPlayerObj.SetActive(false); crossServerModel.IsMatching = false; lookPlayerObj.SetActive(false); UpdateActivityState(); } } 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; System/Message/RichTableEvent.cs
@@ -376,6 +376,19 @@ } } break; case "crossserverarena": { var _id = 0; if (_dict.ContainsKey("id") && int.TryParse(_dict["id"], out _id)) { var config = Config.Instance.Get<CrossServerArenaConfig>(_id); if (config != null) { return config.Name; } } } break; } } }