예제 #1
0
        public TileRenderer(GameStateRenderer master)
        {
            _master = master;

            _gl     = _master.Gl;
            _shader = ResourceManager.LoadShader("tileVertexShader", "tileFragmentShader");
            _vao    = ResourceManager.CreateVao();
            InitRenderData();
        }
예제 #2
0
        public void Start()
        {
            TileTexture.Init();
            _level = new Level(this);
            _manager.Game.Camera.MaxXDistance = _level.PixelWidth / 2.0f;
            _manager.Game.Camera.MaxYDistance = _level.PixelHeight / 2.0f;
            _manager.Game.Camera.CanZoom      = true;

            _renderer = new GameStateRenderer(this);

            _finishButton = new Button(1150.0f, 50.0f, 100.0f, 100.0f, Finish);
            _resetButton  = new Button(1150.0f, 175.0f, 100.0f, 100.0f, Reset);
            _reset        = ResourceManager.LoadTexture("Reset_Button");
            _finish       = ResourceManager.LoadTexture("Finish_Button");
            _star         = ResourceManager.LoadTexture("Sun");

            _stopwatch = Stopwatch.StartNew();

            AudioManager.Stop();
            MusicMaster.State = MusicState.Game;

            switch (LevelMeta.name)
            {
            case "level1":
                AudioManager.Play("./Assets/Sound/Introduction.wav");
                break;

            case "level4":
                AudioManager.Play("./Assets/Sound/Coversation_1.wav");
                break;

            case "level7":
                AudioManager.Play("./Assets/Sound/Coversation_2.wav");
                break;
            }
        }
예제 #3
0
 private void Render()
 {
     lastRender = GameStateRenderer.Render(0, 700, 400, currentGameState, ref bound);
 }