// завершающий метод
void CallbackMethod(){
// сделать что-то при завершении
}
// Action это делегат (ссылка на метод)
IEnumerator MyCoroutine(Action callback){
yield... yield... yield; // выполнение долгого действия
// вызов делегата по завершении
if(callback!= null) callback();
}
// использование
// передача делегата
StartCoroutine(MyCoroutine(CallbackMethod));
или
// передача лямбда функции
StartCoroutine(MyCoroutine(() =>{
// сделать что-то при завершении
}));