public string TranslateName(IconName name, IconVariant variant) { string n; string v = ""; switch (variant) { case IconVariant.Outline: v = "-outline"; break; case IconVariant.Default: default: break; } switch (name) { case IconName.Home: n = "home"; break; default: n = "help"; break; } return($"{n}{v}"); }
private Texture2D GetItem(string name, IconSize size, IconColor color) { var variant = new IconVariant(name, size, color); if (!_icons.ContainsKey(variant)) { variant = new IconVariant(name, IconSize.Large, color); } if (!_icons.ContainsKey(variant)) { variant = new IconVariant(name, IconSize.Large, IconColor.Gray); } return(_icons[variant]); }
private Icons() { const string iconPath = "Packages/org.visualpinball.engine.unity/VisualPinball.Unity/VisualPinball.Unity.Editor/Resources/Icons"; foreach (var name in Names) { foreach (var size in Enum.GetValues(typeof(IconSize)).Cast <IconSize>()) { foreach (var color in Enum.GetValues(typeof(IconColor)).Cast <IconColor>()) { var variant = new IconVariant(name, size, color); var path = $"{iconPath}/{size.ToString().ToLower()}_{color.ToString().ToLower()}/{name}.png"; if (File.Exists(path)) { _icons[variant] = AssetDatabase.LoadAssetAtPath <Texture2D>(path); } } } } }
private Texture2D GetItem(string name, IconSize size, IconColor color) { var variant = new IconVariant(name, size, color); if (!_icons.ContainsKey(variant)) { variant = new IconVariant(name, IconSize.Large, color); } if (!_icons.ContainsKey(variant)) { variant = new IconVariant(name, IconSize.Large, IconColor.Gray); } if (!_icons.ContainsKey(variant)) { throw new InvalidOperationException($"Cannot find {variant.Size} {variant.Name} icon of color {variant.Color}."); } return(_icons[variant]); }