| Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC001_tagGCCrossRealmPKMatchOK.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Stage/StageManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOneEnterConfirmWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOneEnterConfirmWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Loading/CrossServerOneVsOneLoadingWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Loading/CrossServerOneVsOneLoadingWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Login/CrossServerLogin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC001_tagGCCrossRealmPKMatchOK.cs
@@ -12,16 +12,7 @@ if (package.socketType == GameNetSystem.SocketType.Main) { GameNetSystem.Instance.DisconnectCrossServer(); var loginModel = ModelCenter.Instance.GetModel<LoginModel>(); var account = loginModel.accountBuf; var ip = GameNetSystem.Instance.crossServerData.ip; var port = GameNetSystem.Instance.crossServerData.port; CrossServerLogin.Instance.AccountLogin(account, ip, port); LoadingWin.targetMapResId = 1; WindowCenter.Instance.Open<LoadingWin>(); CrossServerLogin.Instance.UpdateCrossServerOneVsOneData(package.PlayerName, package.TagPlayerName, package.TagJob); } } Fight/Stage/StageManager.cs
@@ -393,6 +393,7 @@ DebugEx.LogFormat("StageManager => Load Scene : {0} Finished.", _resources); WindowCenter.Instance.Close<LoadingWin>(); WindowCenter.Instance.Close<CrossServerOneVsOneLoadingWin>(); SystemSetting.Instance.SetGameFps(SystemSetting.Instance.GetGameFps()); } System/CrossServerOneVsOne/CrossServerOneVsOneEnterConfirmWin.cs
New file @@ -0,0 +1,67 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, December 19, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class CrossServerOneVsOneEnterConfirmWin : Window { [SerializeField] Text m_CountDown; [SerializeField] Button m_Ensure; #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Ensure.SetListener(() => { CrossServerLogin.Instance.CrossServerOneVsOneLogin(); }); } protected override void OnPreOpen() { } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } protected override void LateUpdate() { base.LateUpdate(); if (CrossServerLogin.Instance.oneVsOnePlayerData.autoEnsureTime >= Time.time) { var surplusSeconds = Mathf.RoundToInt(CrossServerLogin.Instance.oneVsOnePlayerData.autoEnsureTime - Time.time); m_CountDown.text = string.Format("{0}秒后进入", surplusSeconds); } } #endregion } } System/CrossServerOneVsOne/CrossServerOneVsOneEnterConfirmWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 7d82e5e3617bae642a3c6c95df07800c timeCreated: 1545204096 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Loading/CrossServerOneVsOneLoadingWin.cs
New file @@ -0,0 +1,56 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, December 19, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class CrossServerOneVsOneLoadingWin : Window { [SerializeField] Image m_MyPortrayal; [SerializeField] Image m_OpponentPortrayal; [SerializeField] Text m_MyName; [SerializeField] Text m_OpponentName; #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { m_MyName.text = CrossServerLogin.Instance.oneVsOnePlayerData.myName; m_OpponentName.text = CrossServerLogin.Instance.oneVsOnePlayerData.opponentName; } protected override void OnAfterOpen() { } protected override void OnPreClose() { } protected override void OnAfterClose() { } #endregion } } System/Loading/CrossServerOneVsOneLoadingWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: 9f6d4548d3219fb48aaaff757fbb747f timeCreated: 1545204249 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Login/CrossServerLogin.cs
@@ -19,6 +19,8 @@ set { m_Busy = value; } } public CrossServerOneVsOne oneVsOnePlayerData { get; private set; } LoginModel loginModel { get { return ModelCenter.Instance.GetModel<LoginModel>(); } } public void Init() @@ -37,11 +39,43 @@ public string accountBuf { get; private set; } public string passwordBuf { get; private set; } public bool isLogined { get; private set; } public void UpdateCrossServerOneVsOneData(string myName, string opponentName, int opponentJob) { oneVsOnePlayerData = new CrossServerOneVsOne() { alreadyLogin = false, validTimeLimited = Time.time + 30f, autoEnsureTime = Time.time + 5f, myName = myName, myJob = PlayerDatas.Instance.baseData.Job, opponentName = opponentName, opponentJob = opponentJob, }; Clock.Create(DateTime.Now + new TimeSpan(5 * TimeSpan.TicksPerSecond), () => { if (!oneVsOnePlayerData.alreadyLogin) { CrossServerOneVsOneLogin(); } }); } public void CrossServerOneVsOneLogin() { var loginModel = ModelCenter.Instance.GetModel<LoginModel>(); var account = loginModel.accountBuf; var ip = GameNetSystem.Instance.crossServerData.ip; var port = GameNetSystem.Instance.crossServerData.port; oneVsOnePlayerData = oneVsOnePlayerData.SetLoginState(true); WindowCenter.Instance.Open<CrossServerOneVsOneLoadingWin>(); AccountLogin(account, ip, port); } public void AccountLogin(string account, string ip, int gamePort) { isLogined = true; if (Application.internetReachability == NetworkReachability.NotReachable) { ConfirmCancel.ShowPopConfirm( @@ -263,5 +297,23 @@ } public struct CrossServerOneVsOne { public bool alreadyLogin; public float autoEnsureTime; public float validTimeLimited; public string myName; public int myJob; public string opponentName; public int opponentJob; public CrossServerOneVsOne SetLoginState(bool alreadyLogin) { this.alreadyLogin = alreadyLogin; return this; } } }