Exemple #1
0
    private void Awake()
    {
        if (Instance != null)
        {
            return;
        }

        if (Instance == null)
        {
            DontDestroyOnLoad(gameObject);
            Instance = this;
        }
        else if (Instance != this)
        {
            Destroy(gameObject);
        }
    }
Exemple #2
0
        public SpaceInvaders()
        {
            this.m_GraphicsMgr = new GraphicsDeviceManager(this);
            this.m_GraphicsMgr.IsFullScreen              = false;
            this.m_GraphicsMgr.PreferredBackBufferWidth  = (int)SpaceInvadersConfig.k_DefaultWindowSize.X;
            this.m_GraphicsMgr.PreferredBackBufferHeight = (int)SpaceInvadersConfig.k_DefaultWindowSize.Y;
            this.m_GraphicsMgr.ApplyChanges();
            this.Window.Title = "Space Invaders";

            this.Services.AddService(typeof(Random), new Random());

            this.m_SoundManager = new SoundManager(this);
            new ScreenSettingsManager(this, SpaceInvadersConfig.k_DefaultWindowSize);
            this.m_SoundSettingsManager = new SoundSettingsManager(this);
            new CollisionsManager(this);
            this.m_InputManager = new InputManager(this);

            ScreensMananger screensMananger = new ScreensMananger(this);

            new SpaceInvadersEngine(this);
            GameScreen welcomeScreen  = new WelcomeScreen(this);
            GameScreen gameOverScreen = new GameOverScreen(this);

            screensMananger.AddScreen(welcomeScreen);
            screensMananger.AddScreen(gameOverScreen);
            screensMananger.AddScreen(new PlayScreen(this));
            screensMananger.AddScreen(new MainMenuScreen(this));
            screensMananger.AddScreen(new PauseScreen(this));
            screensMananger.AddScreen(new ScreenSettingsScreen(this));
            screensMananger.AddScreen(new SoundSettingsScreen(this));
            screensMananger.AddScreen(new LevelTransitionScreen(this));

            screensMananger.SetCurrentScreen(welcomeScreen);

            Content.RootDirectory = "Content";
        }