Ejemplo n.º 1
0
        public async Task InitializeAsync()
        {
            foreach (var loaderConfig in cgSources)
            {
                // 1. Locate all the available textures under the source path.
                var loader        = new LocalizableResourceLoader <Texture2D>(loaderConfig, providerManager, localizationManager);
                var resourcePaths = await loader.LocateAsync(string.Empty);

                // 2. Iterate the textures, adding them to the grid as CG slots.
                foreach (var resourcePath in resourcePaths)
                {
                    var textureLocalPath = loader.BuildLocalPath(resourcePath);
                    var unlockableId     = $"{unlockableIdPrefix}/{textureLocalPath}";
                    if (grid.SlotExists(unlockableId))
                    {
                        continue;
                    }
                    grid.AddSlot(new CGGalleryGridSlot.Constructor(grid.SlotPrototype, unlockableId, textureLocalPath, loader, HandleSlotClicked).ConstructedSlot);
                }
            }
        }