TheKingsRace/Assets/Scripts/Network/NetworkCommandLine.cs
Julia Butenhoff 60bf63d757 Base NetworkManager and Player Prefab Created
- Added a NetworkManager
- Added the NetworkCommandLine arguments
- Created a temporary Player prefab
2021-09-30 15:08:59 -05:00

48 lines
1.3 KiB
C#

using System.Collections.Generic;
using MLAPI;
using UnityEngine;
public class NetworkCommandLine : MonoBehaviour {
private NetworkManager netManager;
void Start() {
netManager = GetComponentInParent<NetworkManager>();
if (Application.isEditor) return;
var args = GetCommandlineArgs();
if (args.TryGetValue("-mlapi", out string mlapiValue)) {
switch (mlapiValue) {
case "server":
netManager.StartServer();
break;
case "host":
netManager.StartHost();
break;
case "client":
netManager.StartClient();
break;
}
}
}
private Dictionary<string, string> GetCommandlineArgs() {
Dictionary<string, string> argDictionary = new Dictionary<string, string>();
var args = System.Environment.GetCommandLineArgs();
for (int i = 0; i < args.Length; ++i) {
var arg = args[i].ToLower();
if (arg.StartsWith("-")) {
var value = i < args.Length - 1 ? args[i + 1].ToLower() : null;
value = (value?.StartsWith("-") ?? false) ? null : value;
argDictionary.Add(arg, value);
}
}
return argDictionary;
}
}