// Copyright (c) 2015 - 2023 Doozy Entertainment. All Rights Reserved. // This code can only be used under the standard Unity Asset Store End User License Agreement // A Copy of the EULA APPENDIX 1 is available at http://unity3d.com/company/legal/as_terms using Doozy.Editor.EditorUI; using Doozy.Editor.Reactor.Internal; using Doozy.Runtime.Colors; using Doozy.Runtime.Reactor; using Doozy.Runtime.Reactor.Easings; using Doozy.Runtime.Reactor.Internal; using Doozy.Runtime.Reactor.Reactions; using Doozy.Runtime.UIElements.Extensions; using UnityEngine; using UnityEngine.UIElements; // ReSharper disable MemberCanBePrivate.Global namespace Doozy.Editor.Reactor.Components { public class AnimationPreview : VisualElement { public TemplateContainer templateContainer { get; } public VisualElement layoutContainer { get; } public VisualElement easedPointerContainer { get; } public Image easedPointer { get; } public Label easedPointerLabel { get; } public VisualElement progressBarContainer { get; } public VisualElement progressBar { get; } public VisualElement linearPointerContainer { get; } public Image linearPointer { get; } public Label linearPointerLabel { get; } public FloatReaction easedReaction { get; } public FloatReaction linearReaction { get; } private float pointerTravelDistance => progressBar.resolvedStyle.width; private float easedPointerLeftPosition => 0f; private float easedPointerRightPosition => pointerTravelDistance + easedPointerLeftPosition; private float linearPointerLeftPosition => 0f; private float linearPointerRightPosition => pointerTravelDistance; public Color accentColor { get; private set; } private float easedPointerLabelColorAlpha => 0.6f; public AnimationPreview() { Add(templateContainer = EditorLayouts.Reactor.AnimationPreview.CloneTree()); templateContainer .AddStyle(EditorStyles.Reactor.AnimationPreview); layoutContainer = templateContainer.Q("LayoutContainer"); easedPointerContainer = layoutContainer.Q("EasedPointerContainer"); easedPointer = easedPointerContainer.Q("EasedPointer"); easedPointerLabel = easedPointerContainer.Q