C#と格闘
C#の圧倒的な経験値不足です…C++ばっかりだったから勝手が分からなーい。でもMS製言語なだけあってVSとの親和性の高さがすごい。インテリセンスなんて一瞬で終わるし(コード規模が小さいのが大きいだろうけど)。変数名の一括変更も、すげぇ!って感じ。Grepとかもうやってらんね。
ほかには、Javadoc系のコメントでずっとやってましたがAPIリファレンス対応のコメント(///
やっとプロパティにも慣れてきた。インデックスつきプロパティが無いのはどうなの?っておもうけど。
全部いまさら過ぎるw初心者丸出しだなこれw
弾の初期パラメータ設定テーブル
BulletSystemに配列メンバとして持たせる。で、各Bulletの初期化で弾Typeを添え字にしてテーブルからデータ引っ張ってきて初期化する。パラメータはBulletSystemのインスペクタ上から編集する。
ドロップダウンリスト
できないと思ってたらできるんだね、そうだよね。
_editBulletType = ( BulletSystem.BulletType )EditorGUILayout.EnumPopup( "Edit Bullet Type", _editBulletType );
PropertyField
SerializedObjectをBulletSystemでつくり。SerializedPropertyをFindProperty( "_targettingType" );でつくり。OnGUIでEditorGUILayout.PropertyField( serializedProp );する。するとUnityの応答が無くなる。んガッ!
class MyWindow : EditorWindow { 〜〜〜 BulletSystem.SettingInfo settingInfo = fn.system.BulletSystem.Settings[ BulletSystem.BulletType.Simple ]; SerializedObject serializedObj = new SerializedObject( fn.system.BulletSystem ); SerializedProperty serializedProp = serializedObj.FindProperty( "_targettingType" ); 〜〜〜 EditorGUILayout.PropertyField( serializedProp );
なんだろうね。
http://unity3d.com/support/documentation/ScriptReference/SerializedProperty.html
こういうところを見ると
SerializedProperty is used in conjunction with SerializedObject and Editor classes.
って書いてあるし、EditorWindowでは使ったらダメなのか?Windowの用途としてどうなんだろう…んーーー…今日はオシマイ