チリペヂィア

リンクフリー。サンプルコードなどは関連記事内でライセンスについて明示されない限り商用利用なども自由に行って構いませんが、自己責任でお願いします。またこれら日記内容の著作権自体は放棄していません。引用部分については引用元の権利に従ってください。

C#

Enterするまで入力を反映しないテキストボックス再考

Unityのエディタ拡張で、入力フィールドのエンターやフォーカスロストを見張るTips修正版。

AnimationCurveを近似する折れ線を適度に生成

(…誰得?)とりあえず ある区間内で一定よりもキツい角度で曲がってたら前後二つに分けて再帰する。 あんまり細かくなったらやめる。 ていうお決まり感あふれる作戦にて候*1。さて挿入を繰り返すという手順から純粋に理論的に考えますと、データ構造はリン…

Editorクラスの寿命とか

まったりUnity記事再開。あまり気にしたことが無かったんだけどUnityEditor.Editorでインスペクタ拡張する時のEditorクラスの寿命メモ。GameObjectが選択される時:Editor.Awake()→Editor.OnEnable() GameObjectが非選択になる時:Editor.OnDisable()→Editor…

C#でCSV読む

C#

DOBONをうろついていたら久しぶりに目から鱗が落ちたですよCSV形式のファイルをDataTableや配列等として取得する: .NET Tips: C#, VB.NET 「改行混じり」CSV、行中のダブルクオートが偶数になるまで行結合を繰り返すだけで読めるってよ…。はえ?…。ほ、本当…

System.Enum比較する時はCompareTo()

いやぁまぁ表題の通りなんですが、System.Enumと言えばEnum用に型と値を格納するコンテナクラスですね。ジェネリック化の難しいEnumをどうにかこうにか近い形に持って行ってくれるそれなりに便利なクラスですが、Nullableとかと違って比較演算子とかはオーバ…

.Netで、任意の場所のDLLをロードさせたい時

C#

(とりあえず.Net2010)1.アプリケーション構成ファイルを使用する いわゆるconfigファイルにデフォルトのロードディレクトリを指定してしまう方法です。おそらく標準的な方法のように思われますが今回はスルーします。DLLにはconfig設定できなさそう。そうい…

ISerializableなクラスをシリアライズして、別のISerializableなクラスにデシリアライズ(型変換)

C#

SerializationBinderクラスを継承してIFormatter.Binderをカスタマイズすると、デシリアライズ時の変換先の型を設定できるようです(*1)。つまりは一種の型変換です。でわ早速、「3次元ベクトルクラスのz要素を切り落として2次元ベクトルクラスに変換」…