Beispiel #1
0
        public static void End()
        {
            _pixels     = null;
            _surfaceW   = 0;
            _surfaceH   = 0;
            _ready      = false;
            _clipRect   = Rect.Empty;
            CurrentFont = DefaultFont;

            if (_textureTarget != null && _blitterDirty)
            {
                _textureTarget.ReloadPixels();
                _textureTarget = null;
                _blitterDirty  = false;
            }
        }
Beispiel #2
0
        public void LoadContentPack(string pakName)
        {
            ResourcePak pak = ResourceLoader.LoadPak(pakName);

            if (pak.TotalResourcesCount == 0)
            {
                return;
            }

            int res_name_map_idx = 0;

            _pakMap.Add(pakName, new string[pak.TotalResourcesCount]);

            if (pak.Images != null)
            {
                foreach (var(imageKey, imageData) in pak.Images)
                {
                    Texture2D texture = ResourceLoader.LoadTexture(imageData);
                    _loadedResources.Add(texture.Id, texture);
                    _pakMap[pakName][res_name_map_idx++] = imageKey;
                }
            }

            if (pak.Atlases != null)
            {
                foreach (var(atlasKey, atlasData) in pak.Atlases)
                {
                    TextureAtlas atlas = ResourceLoader.LoadAtlas(atlasData);
                    _loadedResources.Add(atlas.Id, atlas);
                    _pakMap[pakName][res_name_map_idx++] = atlasKey;
                }
            }

            if (pak.Fonts != null)
            {
                foreach (var(fontKey, fontData) in pak.Fonts)
                {
                    TextureFont font = ResourceLoader.LoadFont(fontData);
                    _loadedResources.Add(font.Id, font);
                    _pakMap[pakName][res_name_map_idx++] = fontKey;
                }
            }

            if (pak.Shaders != null)
            {
                foreach (var(shaderKey, shaderProgramData) in pak.Shaders)
                {
                    ShaderProgram shader = ResourceLoader.LoadShader(shaderProgramData);
                    _loadedResources.Add(shader.Id, shader);
                    _pakMap[pakName][res_name_map_idx++] = shaderKey;
                }
            }

            if (pak.TextFiles != null)
            {
                foreach (var(txtKey, textFileData) in pak.TextFiles)
                {
                    TextFile text_file = ResourceLoader.LoadTextFile(textFileData);
                    _loadedResources.Add(text_file.Id, text_file);
                    _pakMap[pakName][res_name_map_idx++] = txtKey;
                }
            }

            //foreach (var sfx_res in pak.Sfx)
            //{
            //    Effect effect = _loader.LoadEffect(sfx_res.Value);

            //    _loaded_resources.Add(effect.Id, effect);
            //}

            //foreach (var song_res in pak.Songs)
            //{
            //    Song song = _loader.LoadSong(song_res.Value);

            //    _loaded_resources.Add(song.Id, song);
            //}
        }