using System.Collections; using System.Collections.Generic; using UnityEngine; using TcgEngine.UI; namespace TcgEngine.Client { /// /// TutoStep inside a group will all be triggered sequentially, game proceed to next step when end_trigger is met, or when another group is triggered /// public class TutoStep : UIPanel { [Header("Tuto Step")] public TutoEndTrigger end_trigger; public CardData trigger_target; public bool forced; //Player MUST do the end_trigger action to proceed private TutoStepGroup group; private int step; private TutoBox tuto_box; private static List steps = new List(); protected override void Awake() { base.Awake(); step = transform.GetSiblingIndex(); group = GetComponentInParent(); tuto_box = GetComponentInChildren(); steps.Add(this); } protected override void Start() { base.Start(); tuto_box.SetNextButton(end_trigger == TutoEndTrigger.Click); } protected virtual void OnDestroy() { steps.Remove(this); } public int GetStepIndex() { return step; } public static TutoStep Get(TutoStepGroup group, int step) { foreach (TutoStep s in steps) { if (s.group == group && s.step == step) return s; } return null; } public static void HideAll() { foreach (TutoStep s in steps) { s.Hide(); } } } }