public FlashOverlay(double duration) : base(nameof(FlashOverlay))
 {
     _timer          = IoCManager.Resolve <IGameTiming>();
     _displayManager = IoCManager.Resolve <IClyde>();
     StartTime       = _timer.CurTime;
     Duration        = duration;
 }
Esempio n. 2
0
        //TODO: Think about a factory for this
        public DebugCoordsPanel(IPlayerManager playerMan,
                                IEyeManager eyeMan,
                                IInputManager inputMan,
                                IStateManager stateMan,
                                IClyde displayMan,
                                IMapManager mapMan)
        {
            playerManager   = playerMan;
            eyeManager      = eyeMan;
            inputManager    = inputMan;
            stateManager    = stateMan;
            _displayManager = displayMan;
            _mapManager     = mapMan;

            SizeFlagsHorizontal = SizeFlags.None;

            contents = new Label
            {
                FontColorShadowOverride = Color.Black,
            };
            AddChild(contents);

            PanelOverride = new StyleBoxFlat
            {
                BackgroundColor           = new Color(67, 105, 255, 138),
                ContentMarginLeftOverride = 5,
                ContentMarginTopOverride  = 5
            };

            MouseFilter = contents.MouseFilter = MouseFilterMode.Ignore;
        }
Esempio n. 3
0
 public override void Initialize()
 {
     base.Initialize();
     IoCManager.InjectDependencies(this);
     if (GameController.Mode == GameController.DisplayMode.Clyde)
     {
         _clyde = IoCManager.Resolve <IClyde>();
     }
 }
Esempio n. 4
0
        public AlertsUI(IClyde clyde)
        {
            _clyde = clyde;
            var panelContainer = new PanelContainer
            {
                StyleClasses      = { StyleNano.StyleClassTransparentBorderedWindowPanel },
                SizeFlagsVertical = SizeFlags.FillExpand,
            };

            AddChild(panelContainer);

            Grid = new GridContainer
            {
                MaxHeight       = CalcMaxHeight(clyde.ScreenSize),
                ExpandBackwards = true
            };
            panelContainer.AddChild(Grid);
            clyde.OnWindowResized += ClydeOnOnWindowResized;

            LayoutContainer.SetGrowHorizontal(this, LayoutContainer.GrowDirection.Begin);
            LayoutContainer.SetAnchorAndMarginPreset(this, LayoutContainer.LayoutPreset.TopRight, margin: 10);
            LayoutContainer.SetMarginTop(this, 250);
        }
Esempio n. 5
0
 internal static void LoadTexture(IClyde clyde, LoadStepData loadStepData)
 {
     loadStepData.AtlasTexture = clyde.LoadTextureFromImage(
         loadStepData.AtlasSheet,
         loadStepData.Path.ToString());
 }
Esempio n. 6
0
        private void Startup()
        {
            ThreadUtility.MainThread = Thread.CurrentThread;
            InitIoC();
            SetupLogging();

            // Set up custom synchronization context.
            // Sorry Godot.
            _taskManager.Initialize();

            // Load config.
            _configurationManager.LoadFromFile(PathHelpers.ExecutableRelativeFile("client_config.toml"));

            if (Mode == DisplayMode.Clyde)
            {
                _clyde = IoCManager.Resolve <IClyde>();
            }

            // Init resources.
            // Doesn't do anything right now because TODO Godot asset management is a bit ad-hoc.
            _resourceCache.LoadBaseResources();
            _resourceCache.LoadLocalResources();

            // Bring display up as soon as resources are mounted.
            _displayManager.Initialize();
            _displayManager.SetWindowTitle("Space Station 14");

            if (Mode == DisplayMode.Clyde)
            {
                _fontManager = IoCManager.Resolve <IFontManagerInternal>();
                _fontManager.Initialize();
            }

            //identical code for server in baseserver
            if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared"))
            {
                Logger.Warning($"[ENG] Could not load any Shared DLL.");
            }

            if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client"))
            {
                Logger.Warning($"[ENG] Could not load any Client DLL.");
            }

            // Call Init in game assemblies.
            AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.Init);

            _eyeManager.Initialize();
            _serializer.Initialize();
            _userInterfaceManager.Initialize();
            _networkManager.Initialize(false);
            _inputManager.Initialize();
            _console.Initialize();
            _prototypeManager.LoadDirectory(new ResourcePath(@"/Prototypes/"));
            _prototypeManager.Resync();
            _tileDefinitionManager.Initialize();
            _mapManager.Initialize();
            _lightManager.Initialize();
            _entityManager.Initialize();
            _gameStateManager.Initialize();
            _overlayManager.Initialize();
            _placementManager.Initialize();
            _viewVariablesManager.Initialize();

            RichPresenceClient presence = new RichPresenceClient();

            _client.Initialize();

            AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.PostInit);

            _stateManager.RequestStateChange <MainScreen>();

            _clyde?.Ready();

            var args = GetCommandLineArgs();

            if (args.Contains("--connect"))
            {
                _client.ConnectToServer("127.0.0.1", 1212);
            }
        }
Esempio n. 7
0
        private void Startup()
        {
            ThreadUtility.MainThread = Thread.CurrentThread;
            InitIoC();
            SetupLogging();

            var args = GetCommandLineArgs();

            // Set up custom synchronization context.
            // Sorry Godot.
            _taskManager.Initialize();

            // Figure out user data directory.
            var userDataDir = _getUserDataDir(args);

            var configFile = Path.Combine(userDataDir, "client_config.toml");

            if (File.Exists(configFile))
            {
                // Load config from user data if available.
                _configurationManager.LoadFromFile(configFile);
            }
            else
            {
                // Else we just use code-defined defaults and let it save to file when the user changes things.
                _configurationManager.SetSaveFile(configFile);
            }

            if (Mode == DisplayMode.Clyde)
            {
                _clyde = IoCManager.Resolve <IClyde>();
            }

            _resourceCache.Initialize(userDataDir);
            _resourceCache.LoadBaseResources();

            // Bring display up as soon as resources are mounted.
            _displayManager.Initialize();
            _displayManager.SetWindowTitle("Space Station 14");

            if (Mode == DisplayMode.Clyde)
            {
                _fontManager = IoCManager.Resolve <IFontManagerInternal>();
                _fontManager.Initialize();
            }

            //identical code for server in baseserver
            if (!AssemblyLoader.TryLoadAssembly <GameShared>(_resourceManager, $"Content.Shared"))
            {
                Logger.Warning($"[ENG] Could not load any Shared DLL.");
            }

            if (!AssemblyLoader.TryLoadAssembly <GameClient>(_resourceManager, $"Content.Client"))
            {
                Logger.Warning($"[ENG] Could not load any Client DLL.");
            }

            // Call Init in game assemblies.
            AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.Init);

            _eyeManager.Initialize();
            _serializer.Initialize();
            _userInterfaceManager.Initialize();
            _networkManager.Initialize(false);
            _inputManager.Initialize();
            _console.Initialize();
            _prototypeManager.LoadDirectory(new ResourcePath(@"/Prototypes/"));
            _prototypeManager.Resync();
            _mapManager.Initialize();
            _lightManager.Initialize();
            _entityManager.Initialize();
            _gameStateManager.Initialize();
            _overlayManager.Initialize();
            _placementManager.Initialize();
            _viewVariablesManager.Initialize();

            _client.Initialize();
            _discord.Connect();
            AssemblyLoader.BroadcastRunLevel(AssemblyLoader.RunLevel.PostInit);

            _stateManager.RequestStateChange <MainScreen>();

            _clyde?.Ready();

            if (args.Contains("--connect"))
            {
                _client.ConnectToServer("127.0.0.1", 1212);
            }
        }