Seven is the number.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

84 lines
2.1 KiB

using UdpKit;
using UnityEngine;
using Process = System.Diagnostics.Process;
public partial class BoltDebugStart : BoltInternal.GlobalEventListenerBase
{
UdpEndPoint _serverEndPoint;
UdpEndPoint _clientEndPoint;
void Awake()
{
DontDestroyOnLoad(gameObject);
Application.targetFrameRate = 60;
}
void Start()
{
#if UNITY_EDITOR_OSX
Process p = new Process();
p.StartInfo.FileName = "osascript";
p.StartInfo.Arguments =
@"-e 'tell application """ + UnityEditor.PlayerSettings.productName + @"""
activate
end tell'";
p.Start();
#endif
BoltRuntimeSettings settings = BoltRuntimeSettings.instance;
_serverEndPoint = new UdpEndPoint(UdpIPv4Address.Localhost, (ushort)settings.debugStartPort);
_clientEndPoint = new UdpEndPoint(UdpIPv4Address.Localhost, 0);
BoltConfig cfg;
cfg = settings.GetConfigCopy();
cfg.connectionTimeout = 60000000;
cfg.connectionRequestTimeout = 500;
cfg.connectionRequestAttempts = 1000;
if (string.IsNullOrEmpty(settings.debugStartMapName) == false)
{
if (BoltDebugStartSettings.DebugStartIsServer)
{
BoltLauncher.StartServer(_serverEndPoint, cfg);
}
else if (BoltDebugStartSettings.DebugStartIsClient)
{
BoltLauncher.StartClient(_clientEndPoint, cfg);
}
BoltDebugStartSettings.PositionWindow();
}
else
{
BoltLog.Error("No map found to start from");
}
}
public override void BoltStartFailed()
{
BoltLog.Error("Failed to start debug mode");
}
public override void BoltStartDone()
{
if (BoltNetwork.IsServer)
{
BoltNetwork.LoadScene(BoltRuntimeSettings.instance.debugStartMapName);
}
else
{
BoltNetwork.Connect((ushort)BoltRuntimeSettings.instance.debugStartPort);
}
}
public override void SceneLoadLocalDone(string map)
{
Destroy(gameObject);
}
}