using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.AddressableAssets; [Serializable] public class GuidanceDefine { public string Description; public string panelName; public string buttonPath; public string popupNode; public string[] highlightedNode; public AssetReferenceT assetReference; [Header("Mask")] public MaskType maskType; public HollowedType hollowedType; public float maskRadius; public float maskDelayed; public bool maskScale = true; [Header("TextBox")] public TextBoxType textBoxType; public Vector2 pos; public string anchorPath; public float textDelayed; public string textContent; [Header("Finger")] public bool isFinger = true; public FingerType fingerType; public float holdTime; public float fingerRotate; public float fingerDelayed; [Header("Complete")] public CompleteType completeType; public string completeTypeParameter; public bool isDelayedClick; public float clickDelayed; public bool isOutHide; public float outHideDelayed; public bool isAutoNext = true; public string hideRootPath; public bool endAutoShow = true; public string showRootPath; public bool isKey; public int JumpIndex; } [Serializable] public class GuidanceGroupDefine { public string Description; public GroupName groupName; public GuideTriggerConditions TriggerConditionsType; public string TriggerConditionsParameter; public GuidanceDefine[] guidanceDefines; } public class GuidanceDefineSetting : ScriptableObject { public float duration = 0.3f; public int MaxClickNum = 5; public float ShowSkipTimer = 5f; public List SkipGroupNames = new List(); public int SkipLevel = 40; public GuidanceGroupDefine[] guidanceGroupDefines; }