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(); }
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); }
// 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); }