万年素人からHackerへの道

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

  • ・寄付お願いします
    YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
    BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
    c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

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.