public object Deserialize(string path) { try { var serializer = new XmlSerializer(typeof(ConsoleMaterial)); using (Stream reader = new FileStream(path, FileMode.Open)) { var mat = (ConsoleMaterial)serializer.Deserialize(reader); if (mat != null) { mat.texture = resourcesSystem.Load <ConsoleSprite>(mat.texturePath); } return(mat); } } catch { return(null); } }
public void Setup(InputSystem inputSystem, ResourcesSystem resourcesSystem) { this.inputSystem = inputSystem; Handle = CreateFile("CONOUT$", 0x40000000, 2, IntPtr.Zero, FileMode.Open, 0, IntPtr.Zero); Map = string.Empty; Map += "MMMMMMMMMMMMMMMM"; Map += "M..............M"; Map += "M..............M"; Map += "MFFFF..........M"; Map += "M..............M"; Map += "M..............M"; Map += "M..........OOOOM"; Map += "M..............M"; Map += "M..............M"; Map += "M..............M"; Map += "MMMMMMMMMMMMMMMM"; DisplayMap = string.Empty; DisplayMap += "###~LEVEL-1~####"; DisplayMap += "# #"; DisplayMap += "# #"; DisplayMap += "# #"; DisplayMap += "# #####"; DisplayMap += "# #"; DisplayMap += "# #"; DisplayMap += "##### #"; DisplayMap += "# #"; DisplayMap += "# #"; DisplayMap += "################"; ScreenSize = new Vector2Int(Console.WindowWidth, Console.WindowHeight); Cameras = new List <ICameraComponent>(); var camera = CreateCamera(); camera.ViewPort = new Rect(0f, 0f, 1f, 1f); camera.Entity.GetComponent <ITransformComponent>().Position = new Vector2(8f, 5f); Cameras.Add(camera); //var camera2 = CreateCamera(); //camera2.ViewPort = new Rect(0.5f, 0.5f, 0.5f, 0.5f); //camera2.Entity.GetComponent<ITransformComponent>().Position = new Vector2(8f, 5f); //Cameras.Add(camera2); wallMaterial = resourcesSystem.Load <ConsoleMaterial>("Materials/BrickMaterial"); floorSprite = resourcesSystem.Load <ConsoleSprite>("Textures/brick_wall"); Renderers = new List <IRendererComponent>(); var cat = CreateCat(); cat.Entity.GetComponent <ITransformComponent>().Position = new Vector2(8.5f, 8.5f); cat.Entity.GetComponent <IRendererComponent>().Material = resourcesSystem.Load <ConsoleMaterial>("Materials/CatMaterial"); Renderers.Add(cat); cat = CreateCat(); cat.Entity.GetComponent <ITransformComponent>().Position = new Vector2(9.5f, 9.5f); cat.Entity.GetComponent <IRendererComponent>().Material = resourcesSystem.Load <ConsoleMaterial>("Materials/CatMaterial"); Renderers.Add(cat); UpdateCharBuffer(); skybox = resourcesSystem.Load <SkyboxMaterial>("Materials/Skybox"); }