示例#1
0
        public void RestartGame()
        {
            renderList.Clear();
            score = 0;
            AddPointsToScore(0);
            tower           = new Tower(-(Height / 2));
            Instances.Tower = tower;

            var copy4 = AssetStorage.DeepCopy(steinModel);
            var copy5 = AssetStorage.DeepCopy(steinModel);

            firstTowerBlock = new TowerBlock(copy4, 0, -(Height / 2) + tower.GetBlockHeight() + 50);

            _camera.yOffset   = 0;
            _camera.mtxOffset = float4x4.CreateTranslation(0, 0, 0);

            renderList.Add(hintergrund);
            renderList.Add(environment);

            renderList.Add(firstTowerBlock);

            everyFrame.Clear();
            everyFrame.Add(firstTowerBlock);

            CreateNewBlock();
        }
示例#2
0
        public void CreateNewBlock()
        {
            tower.AddBlock();
            _camera.CheckCameraPosition(tower.GetCountBlocks());
            speed = Instances.Tower.countBlocks + 5;
            var copy3  = AssetStorage.DeepCopy(steinModel);
            var block2 = new TowerBlock(copy3, Width, Height, speed);

            renderList.Add(block2);
            everyFrame.Add(block2);
        }
示例#3
0
        // Init is called on startup.
        public override void Init()
        {
            // Instantiate our self-written renderer
            _renderer   = new Renderer(RC);
            _sceneScale = float4x4.CreateScale(0.1f);
            _camera     = new Camera();
            _gui        = new GUI();

            Instances.Main     = this;
            Instances.Renderer = _renderer;
            Instances.Camera   = _camera;
            Instances.GUI      = _gui;


            // Instantiate the enviroment


            environmentModel = AssetStorage.Get <SceneContainer>("plane2.fus");
            environment      = new SceneObject(environmentModel);
            environment.transformComponent.Translation.y = -400;
            environment.transformComponent.Translation.z = 100;
            environment.transformComponent.Scale.x       = 6;
            environment.transformComponent.Scale.z       = 1.5f;

            himmelModel = AssetStorage.Get <SceneContainer>("himmel.fus");
            hintergrund = new SceneObject(himmelModel);
            hintergrund.transformComponent.Translation.z = 100;
            hintergrund.transformComponent.Scale.x       = 1;
            hintergrund.transformComponent.Scale.z       = 1;


            //Instantiate Tower ans his first TowerBlock

            tower           = new Tower(-(Height / 2));
            Instances.Tower = tower;

            steinModel = AssetStorage.Get <SceneContainer>("stein.fus");
            tower.AddBlock();

            var copy1 = AssetStorage.DeepCopy(steinModel);

            firstTowerBlock = new TowerBlock(copy1, 0, -(Height / 2) + tower.GetBlockHeight() + 50);


            // Instantiate the first moving TowerBlock
            var copy2 = AssetStorage.DeepCopy(steinModel);

            firstMovingBlock = new TowerBlock(copy2, Width, Height, 10.0f);



            // Add everything to render
            renderList.Add(hintergrund);
            renderList.Add(environment);

            renderList.Add(firstTowerBlock);
            renderList.Add(firstMovingBlock);



            everyFrame.Add(firstMovingBlock);
            everyFrame.Add(firstTowerBlock);

            _gui.Init();



            // Set the clear color for the backbuffer
            RC.ClearColor = new float4(0.18f, 0.72f, 0.98f, 1);

            // RC.ClearColor = new float4(1, 1, 1, 1);
        }