private TutorialPointer ShowPointer(GameObject obj, bool changeParent, Action onHide) { var element = UIManager.Instance.GetElement <TutorialElement>(); Action restoreParent = null; if (changeParent) { restoreParent = TutorialService.Instance.ChangeParent(obj.transform, element.ObjectParent); element.ShowLockLayer(); } element.ShowPointer(obj); Action hideAction = () => { ActionUtil.ExecuteOnce(ref restoreParent); element.HideLockLayer(); element.HidePointer(); onHide.Execute(); }; var pointer = new TutorialPointer { Pointer = element.Pointer, HideAction = hideAction }; return(pointer); }
private void Start() { testObject = GetComponentInChildren <TestObject>(); tutorialArea = GetComponentInParent <TutorialArea>(); pointer = FindObjectOfType <TutorialPointer>(); InitButtons(); }