少年修仙传客户端基础资源
client_Wu Xijin
2019-01-16 d097b444ea7b6d7850626eff8e0521052a1bdde8
5892 【开发】前端支持自动进行跨服pk匹配
1个文件已修改
65 ■■■■■ 已修改文件
Assets/Editor/Tool/CrossServerEditorWindow.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/CrossServerEditorWindow.cs
@@ -7,6 +7,7 @@
using System.Net.Sockets;
using System.Threading;
using UnityEditor;
using TableConfig;
public class CrossServerTest : EditorWindow
{
@@ -26,6 +27,8 @@
        set { LocalSave.SetString("CrossServerIp", value); }
    }
    public bool autoOneVsOneMatch = false;
    [MenuItem("程序/跨服")]
    public static void Open()
    {
@@ -37,6 +40,14 @@
    public static void DisconnectCrossServer()
    {
        GameNetSystem.Instance.DisconnectCrossServer();
    }
    private void Update()
    {
        if (autoOneVsOneMatch)
        {
            AutoCrossServerOneVsOneMatching();
        }
    }
    private void OnGUI()
@@ -101,6 +112,60 @@
        }
        EditorGUILayout.EndHorizontal();
        autoOneVsOneMatch = EditorGUILayout.Toggle("自动匹配", autoOneVsOneMatch);
    }
    CrossServerOneVsOneModel oneVsOneModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
    float timer = 0f;
    private void AutoCrossServerOneVsOneMatching()
    {
        timer += Time.deltaTime;
        if (timer < 5f)
        {
            return;
        }
        timer = 0f;
        if (StageManager.Instance.isLoading)
        {
            return;
        }
        var mapId = PlayerDatas.Instance.baseData.MapID;
        var config = Config.Instance.Get<MapConfig>(mapId);
        if (config == null)
        {
            return;
        }
        if (config.MapFBType != (int)MapType.OpenCountry)
        {
            return;
        }
        if (StageManager.Instance.isLoading)
        {
            return;
        }
        if (oneVsOneModel.IsMatching)
        {
            return;
        }
        if (CrossServerLogin.Instance.IsEnterCrossServerPreparing())
        {
            return;
        }
        if (CrossServerLogin.Instance.busy)
        {
            return;
        }
        oneVsOneModel.SendCrossMatch(1);
    }
}