public ICommand DefineAsyncCommand(string name, bool is_parallel, Func <UniTask> OnExecute, Action OnCancel = null) { var cmd = new AsyncCommand(name, is_parallel, task_manager, OnExecute, OnCancel); defined_cmds.Add(cmd.GetNameHash(), cmd); return(cmd); }