Exemplo n.º 1
0
        public static void Load(GameWindow window)
        {
            Window = window;

            ResizeFrameBuffers();
            Window.Resize += (sender, args) => ResizeFrameBuffers();

            WorldGeometryShader = ResourceReader.ReadShader(PluginDir + "Shaders/WorldGeometry");
            CompositionShader   = ResourceReader.ReadShader(PluginDir + "Shaders/Composition");
            PointLightShader    = ResourceReader.ReadShader(PluginDir + "Shaders/PointLight");
            BlockOutlineShader  = ResourceReader.ReadShader(PluginDir + "Shaders/BlockOutline");
            SpriteShader        = ResourceReader.ReadShader(PluginDir + "Shaders/Sprite");

            ScreenRectVao = new SpriteVertexArrayObject();
            ScreenRectVao.Add(new Vector2(-1, +1), Vector2.Zero, Vector3.Zero);
            ScreenRectVao.Add(new Vector2(+1, +1), Vector2.Zero, Vector3.Zero);
            ScreenRectVao.Add(new Vector2(-1, -1), Vector2.Zero, Vector3.Zero);
            ScreenRectVao.Add(new Vector2(+1, -1), Vector2.Zero, Vector3.Zero);
            ScreenRectVao.AddFace(new uint[] { 0, 2, 1, 1, 2, 3 });
            ScreenRectVao.Upload();

            Samplers.Load();

            MissingModel   = ResourceReader.ReadBlockModel("System/Models/MissingModel.json");
            MissingTexture = ResourceReader.ReadBlockTexture("System/Textures/Blocks/MissingTexture.png");

            //TODO: Remove

            var lines = File.ReadAllLines("Keybindings.txt");

            foreach (var line in lines)
            {
                var splits = line.Split('=');

                if (splits.Length != 2)
                {
                    continue;
                }

                if (Enum.TryParse(splits[0], true, out Key key))
                {
                    Keybindings.Add(key, splits[1]);
                }
            }
        }