Ejemplo n.º 1
0
        protected override void Awake()
        {
            base.Awake();
            Connection = new GameObject("Connection");
            CameraManager.Instance.CurrentCamera = GameObject.Find("Main Camera").GetComponent <Camera>();

            DontDestroyOnLoad(GameObject.Find("EventSystem"));

            if (_firstStart)
            {
                API.ConsoleFramework.Console.Init();
            }
            else
            {
                API.ConsoleFramework.Console.Instance.ClearCommands();
            }

            DefaultConsoleCommands defaultCmds = new DefaultConsoleCommands();

            API.ConsoleFramework.Console.Instance.RegisterCommands(defaultCmds);

            if (_firstStart)
            {
                InternalObjectUtils.CheckObjects();
                if (!Debug.isDebugBuild && SteamAPI.RestartAppIfNecessary(GameInfo.ID))
                {
                    Application.Quit();
                    return;
                }

                Fading.Init();

                _parser = new FluentCommandLineParser <ApplicationArguments>();

                _parser.Setup(arg => arg.Dedicated)
                .As('d', "dedicated")
                .Callback(DedicatedCallback)
                .SetDefault(false);

                _parser.Setup(arg => arg.Lan)
                .As('l', "lan")
                .SetDefault(false);

                var result = _parser.Parse(Environment.GetCommandLineArgs());
                if (result.HasErrors)
                {
                    LogUtils.LogError("Couldn't parse arguments: " + result.ErrorText);
                }

                _firstStart = false;
            }


#if !UNITY_EDITOR
            LogUtils.Debug("Commandline: " + Environment.CommandLine);

            if (Debug.isDebugBuild)
            {
                LogUtils.Debug("##### Debug build #####");
            }
#endif
        }