private TextureConfig[] LoadAllTextures() { TextureConfig[] allConfigs = new ConfigLoader <TextureConfig>(new[] { config.textureFolder }).AllConfigs(); // Load all files in Textures folder Texture2D[] sourceTextures = Resources.LoadAll <Texture2D>(config.textureFolder); Dictionary <string, Texture2D> sourceTexturesLookup = new Dictionary <string, Texture2D>(); foreach (var texture in sourceTextures) { sourceTexturesLookup.Add(texture.name, texture); } for (int i = 0; i < allConfigs.Length; i++) { var cfg = allConfigs[i]; for (int n = 0; n < cfg.textures.Length; n++) { cfg.textures[n].texture2d = Texture2DFromConfig(cfg.textures[n], sourceTexturesLookup); } if (cfg.type == TextureConfigType.Connected) { // Create all 48 possibilities from the 5 supplied textures Texture2D[] newTextures = ConnectedTextures.ConnectedTexturesFromBaseTextures(cfg.textures); TextureConfig.Texture[] connectedTextures = new TextureConfig.Texture[48]; for (int x = 0; x < newTextures.Length; x++) { connectedTextures[x].index = x; connectedTextures[x].texture2d = newTextures[x]; } cfg.textures = connectedTextures; } } return(allConfigs); }