using System; using UnityEngine; namespace Game { abstract class ProcedureBase : IProcedure { private ProcedureType _procedureType; public ProcedureType procedureType => this._procedureType; public virtual void Init() { var value = this.GetType().ToString().Split("."); this._procedureType = Enum.Parse(value[^1]) ; } public virtual void OnEnter() { Debug.Log($"Enter {procedureType} procedure !!!"); } public virtual void OnUpdate(float dateTime) { } public virtual void OnLeave() { Debug.Log($"Leave {procedureType} procedure !!!"); } } }