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);
}
}