万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

UnityScriptはインターフェイスではコルーチンできない?

このインターフェイスの場合

public interface IHoge {
    function Method();
}

実装先ではコルーチンな場合、エラーになる

public class Bar extends MonoBehaviour implements IHoge {
    function Method() {
        yield WaitForSeconds(1); // ここがコルーチン使ってる
    }
}

よって、IEnumeratorをきちんと書く

public interface IHoge {
    function Method() : IEnumerator;
}

実装先でも書いてみる

public class Bar extends MonoBehaviour implements IHoge {
    function Method() : IEnumerator {
        yield WaitForSeconds(1);
    }
}


そうしてしまうと、
BCE0073: Abstract method 'IHoge.Method()' cannot have a body.