万年素人からHackerへの道

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

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

    50 Tips for Working with Unity (Best Practices)で(僕が)分からないのを書いていく(Unity C#)

    URL:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/
    →翻訳:http://warapuri.tumblr.com/post/28972633000/unity-50-tips

    ExtensionとMonoBehaviourBase

    23、インターフェースの共有するコンポーネントを使うためのextensionを使おう

    MonoBehaviour[] monoBehaviours = FindObjectsOfType<MonoBehaviour>();
    

    これはFindObjectsOfTypeがobjectを返してしまうので、↓こうしないと動かないね。

    MonoBehaviour[] monoBehaviours = FindObjectsOfType(typeof(MonoBehaviour)) as MonoBehaviour[];
    

    クラス設計

    29、シングルトンは便利だ

    Singleton.csはこうしないとダメ。アタッチするものではないみたい。

    Singleton<MonoBehaviour> singleton = new Singleton<MonoBehaviour>();


    インスペクター描画の再実装の仕方

    コンポーネントを描画する再起とリフレクションを使おう
    おそらく、「リフレクションを使い、コンポーネント再帰的に描画しよう」だと思う。

    インスペクター描画の再実装の仕方

    2. コンポーネントを描画する再起とリフレクションを使おう
    「上の関数はこんな感じに助けてくれる」→「上の関数は下のヘルパーを使う」の誤訳すだと思う。


    ちなみに、↓にあるSplitCamelCase()メソッドはそのままで動かない。

    field.Name.SplitCamelCase();    
    

    ・Stringを拡張する「StringExtension」を作っておく。

    using System.Text.RegularExpressions;
    
    public static class StringExtension
    {
        public static string SplitCamelCase(this string str)
        {
            return Regex.Replace( Regex.Replace( str, @"(\P{Ll})(\P{Ll}\p{Ll})", "$1 $2" ), @"(\p{Ll})(\P{Ll})", "$1 $2" );
        }
    }
    

    例えばこう使う。

    string str = "HogeBar";
    str.SplitCamelCase(); 
    

    "HogeBar"が、"Hoge Bar"みたいにスペースが入ったもので返り値が来る。
    → 他のとこに書いてある、「VampireDark じゃなくて DarkVampire; ButtonPaused じゃなくて PauseButton。で、インスペクター上では「pause button」となってるから見つけやすい。」
    のためだと思う