private void CreateRendererStates()
        {
            _logRendererState = new LogRendererState
            {
                Visible = _logConfiguration.Visible,
                MaximumVisibleLogLines = _logConfiguration.MaximumVisibleLogLines,
                MinimumWindowWidth     = _logConfiguration.MinimumWindowWidth,
                LogEntryLifetime       = _logConfiguration.LogEntryLifetime,
                ShowTimestamps         = _logConfiguration.ShowTimestamps,
                ShowRaisingEvents      = _logConfiguration.ShowRaisingEvents
            };
            _worldTimeRendererState = new WorldTimeRendererState
            {
                Visible = _worldTimeConfiguration.Visible
            };

            var worldTime     = new WorldTime(_worldTimeRendererState);
            var worldObserver = new WorldObserver(worldTime, _logRendererState);

            _worldInstance = new WorldInstance(_world, _player, worldTime, worldObserver, _multimediaPlayer);

            _boardRendererState = new BoardRendererState(_worldInstance.Player);
            _fpsRendererState   = new FpsRendererState
            {
                Visible = _fpsConfiguration.Visible
            };
        }
        public WorldObserver(WorldTime worldTime, LogRendererState logRendererState)
        {
            worldTime.ThrowIfNull("worldTime");
            logRendererState.ThrowIfNull("logRendererState");

            _worldTime = worldTime;
            _logRendererState = logRendererState;
        }
        public WorldObserver(WorldTime worldTime, LogRendererState logRendererState)
        {
            worldTime.ThrowIfNull("worldTime");
            logRendererState.ThrowIfNull("logRendererState");

            _worldTime        = worldTime;
            _logRendererState = logRendererState;
        }
        private void CreateRendererStates()
        {
            _logRendererState = new LogRendererState
                {
                    Visible = _logConfiguration.Visible,
                    MaximumVisibleLogLines = _logConfiguration.MaximumVisibleLogLines,
                    MinimumWindowWidth = _logConfiguration.MinimumWindowWidth,
                    LogEntryLifetime = _logConfiguration.LogEntryLifetime,
                    ShowTimestamps = _logConfiguration.ShowTimestamps,
                    ShowRaisingEvents = _logConfiguration.ShowRaisingEvents
                };
            _worldTimeRendererState = new WorldTimeRendererState
                {
                    Visible = _worldTimeConfiguration.Visible
                };

            var worldTime = new WorldTime(_worldTimeRendererState);
            var worldObserver = new WorldObserver(worldTime, _logRendererState);

            _worldInstance = new WorldInstance(_world, _player, worldTime, worldObserver, _multimediaPlayer);

            _boardRendererState = new BoardRendererState(_worldInstance.Player);
            _fpsRendererState = new FpsRendererState
                {
                    Visible = _fpsConfiguration.Visible
                };
        }