using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Otter; namespace OtterApp { class Program { //ToDo's morgen (schule) -> TileExample neu Aufsetzen + arbeiten an csv-read um tiletabelle on the fly zeichnen und rendern zu können //Hier für wird die csv am besten ausgelesen und in ein Dictionary weggespeichert (reinke fragen wegen performance ob dicitionary //oder was anderes bessere performance bietet[weniger suchzeit] //Nach wegspeichern kann anhand von x-Pos des spielers seine Tile-Zeile identifiziert werden (wie in dem example mit der mausposition) //und von diesem punkt an +/- Y viele Tile-Reihen gerendert/gezeichnert werden sodass sich die map aufbaut wenn man über sie läuft // (eventuell 2 Tilemaps aufbauen und immer wenn eine äußere grenze überschritten wird an den rand der anderen tilemap zurück teleportieren // wo die neuen tiles bereits geladen wurden // später zu implementieren: globale koordinaten um zu tracken in welchem map bereich man sich gerade befindet und um hier objekte korrekt // und konsistend an den selben stellen spawnen zu können (gegebenfalls als objekt datenbank welche jedem objekt besondere merkmale mitgibt) // wie zum beispiel points of interesst(blickpunkte) oder "modi" in denen gewisse einflüsse und/oder ereignisse einfluss auf die erscheinung // oder das vorhandensein eines objektes nimmt (steins-gate-game concept) static void Main(string[] args) { // Create a Game. var game = new Game("TestingGround",1280,1024); List addingList = new List(); // Create a SceneHandler. var sceneH = new SceneHandler(); // Add Background var backGround = new ImageEntity(0,-200,"Background.png"); addingList.Add(backGround); // Add the Tiles Entity to the Scene. addingList.Add(new TileEntity()); //Create Player var player = new PlayerEntity(50,500); // Add the Player Entity to the Scene. addingList.Add(player); sceneH.addEntity(addingList); // Set the mouse visibility to true for this example. game.MouseVisible = true; // Start the Game. game.Start(sceneH); } } }