using System; using UnityEngine; using UnityEngine.UIElements; namespace DanieleMarotta.RiversongCodeShowcase { [CreateAssetMenu(fileName = "UITemplateLibrary", menuName = "Riversong Code Showcase/UI Template Library")] public class UITemplateLibrary : ScriptableObject { public CommonTemplateLibrary Common; public WorldUITemplateLibrary WorldUI; public BuildMenuTemplateLibrary BuildMenu; public BuildingPanelTemplateLibrary BuildingPanel; public OnboardingPanelTemplateLibrary OnboardingPanel; [Serializable] public class CommonTemplateLibrary { public VisualTreeAsset ProductAmount; } [Serializable] public class WorldUITemplateLibrary { public VisualTreeAsset Badge; public Vector2 BadgeYOffset = new(32, 64); public Vector2 BadgeScale = new(4, 1); public float BadgeZoomCullThreshold = 90; } [Serializable] public class BuildMenuTemplateLibrary { public VisualTreeAsset Button; } [Serializable] public class BuildingPanelTemplateLibrary { public VisualTreeAsset Need; public VisualTreeAsset UpgradeMaterial; public VisualTreeAsset StorageProduct; } [Serializable] public class OnboardingPanelTemplateLibrary { public VisualTreeAsset Message; } } }