示例#1
0
        public Engine()
        {
            _graphics = new GraphicsDeviceManager(this);
            IsFixedTimeStep = false;

            Content.RootDirectory = "Content";
            TargetElapsedTime = TimeSpan.FromTicks(333333);

            Settings = new SettingsManager();

            _screenFactory = new ScreenFactory();
            Services.AddService(typeof(IScreenFactory), _screenFactory);

            _screenManager = new ScreenManager(this);

            Components.Add(_screenManager);
            AddInitialScreens();

            InitGraphicsMode(Settings.GameSettings.ScreenWidth, Settings.GameSettings.ScreenHeight, Settings.GameSettings.Fullscreen);

            _keyboardHandler = new KeyboardHandler();

            GUIManager = new GUIManager(this);
            ClientDatabase = new Database();

            //Set Master Volumes. Replace later with user options
            SoundEffect.MasterVolume = Settings.GameSettings.MasterVolume / 100;
            MediaPlayer.Volume = Settings.GameSettings.MusicVolume / 100;
        }
示例#2
0
        private LoadingScreen(ScreenManager screenManager, bool loadingIsSlow, GameScreen[] screensToLoad)
        {
            _loadingIsSlow = loadingIsSlow;
            _screensToLoad = screensToLoad;
            Message = "Loading...";

            TransitionOnTime = TimeSpan.FromSeconds(0.5);
        }
示例#3
0
        public static void Load(ScreenManager screenManager, bool loadingIsSlow, string message = "Loading...", params GameScreen[] screensToLoad)
        {
            foreach (GameScreen gameScreen in screenManager.GetScreens())
            {
                gameScreen.ExitScreen();

            }

            LoadingScreen loadingScreen = new LoadingScreen(screenManager, loadingIsSlow, screensToLoad) {Message = message};
            screenManager.AddScreen(loadingScreen);
        }