万年素人からHackerへの道

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

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    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.