using ChivaXR; using System.Collections; using System.Collections.Generic; using UnityEngine; public delegate void PreprocessEventHandler(PreprocessBase process); /// /// 流程预处理 /// 语音/视角控制等 /// public class PreprocessBase : MonoBehaviour { [HideInInspector] public ProcessElement currentProcessElement; public event PreprocessEventHandler Preprocess_EnterEvent; public event PreprocessEventHandler Preprocess_ExitEvent; public event PreprocessEventHandler Preprocess_HalfExitEvent; /// /// 进入流程 /// /// public virtual void Enter(ProcessElement p) { currentProcessElement = p; Preprocess_EnterEvent?.Invoke(this); } /// /// 完成离开 /// public virtual void Exit() { Preprocess_ExitEvent?.Invoke(this); currentProcessElement.ProProcessFinished(); } /// /// 中途退出流程 /// public virtual void QuitHalfWay() { Preprocess_HalfExitEvent?.Invoke(this); } }