internal static void Create()
        {
            if (instance == null)
            {
                GameObject obj = new GameObject("Coroutine Handler");
                DontDestroyOnLoad(obj);
                instance = obj.AddComponent <CoroutineHandler>();

                IL2CPP.Il2CppTypeRegistry.AddBehaviour(instance);
            }
        }
 public override void DestroyInstance()
 {
     this.routines.Clear();
     Destroy(this.gameObject);
     instance = null;
 }
 private void Awake()
 {
     instance      = this;
     this.routines = new List <Routine>();
 }