using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace uc { [RequireComponent(typeof(CanvasGroup))] public class CanvasActivity : ActivityBase { [SerializeField] protected float fadeTime = 0.5f; [SerializeField] protected float fadeOutTime = 0.5f; [SerializeField] float touchDelayTime = 0.0f; public List sharedComponents = new List(); CanvasGroup canvas_group; List canvas_activities = new List(); bool CanvasGroupProperty { set { canvas_group.interactable = canvas_group.blocksRaycasts = value; } } float CanvasGroupAlpha { set { canvas_group.alpha = value; } get { return canvas_group.alpha; } } float active_stamp; public float ActiveStamp { get { return active_stamp; } } private void Awake() { var acts = transform.GetComponentsInChildren(true); canvas_activities.AddRange(acts); canvas_activities.Remove(this); // search all ui component to refresh stamp foreach (var button in GetComponentsInChildren