protected virtual ReceptionistConfig GetReceptionistConfig(string workerType) { ReceptionistConfig config; if (Application.isEditor) { config = new ReceptionistConfig { WorkerType = workerType, WorkerId = $"{workerType}-{Guid.NewGuid()}", UseExternalIp = UseExternalIp }; } else { var commandLineArguments = Environment.GetCommandLineArgs(); var commandLineArgs = CommandLineUtility.ParseCommandLineArgs(commandLineArguments); config = ReceptionistConfig.CreateConnectionConfigFromCommandLine(commandLineArgs); config.UseExternalIp = UseExternalIp; if (!commandLineArgs.ContainsKey(RuntimeConfigNames.WorkerId)) { config.WorkerId = $"{workerType}-{Guid.NewGuid()}"; } } return(config); }
public void CreateConnectionConfigFromCommandLine_should_provide_defaults_for_missing_values() { var parsedArgs = new Dictionary <string, string>(); var config = ReceptionistConfig.CreateConnectionConfigFromCommandLine(parsedArgs); Assert.AreEqual(RuntimeConfigDefaults.ReceptionistHost, config.ReceptionistHost); Assert.AreEqual(RuntimeConfigDefaults.ReceptionistPort, config.ReceptionistPort); Assert.AreEqual(RuntimeConfigDefaults.LinkProtocol, config.LinkProtocol); }
public void CreateConnectionConfigFromCommandLine_should_parse_correctly() { const string host = "myhost"; const short port = 10; var networkType = NetworkConnectionType.Tcp.ToString(); var parsedArgs = new Dictionary <string, string> { { RuntimeConfigNames.ReceptionistHost, host }, { RuntimeConfigNames.ReceptionistPort, port.ToString() }, { RuntimeConfigNames.LinkProtocol, networkType } }; var config = ReceptionistConfig.CreateConnectionConfigFromCommandLine(parsedArgs); Assert.AreEqual(host, config.ReceptionistHost); Assert.AreEqual(port, config.ReceptionistPort); Assert.AreEqual(networkType, config.LinkProtocol.ToString()); }