一部のプロパティ フィールドがプレハブの [適用] ボタンによって変更されるのを防ぎたいのですが、プロパティ フィールドの値が変更されたことをプログラムでマークする方法はありますか (常に太字にする)。
質問する
1836 次
2 に答える
0
インスタンス化された NPC ごとに一意になるように、Waypath のさまざまなインスタンスが必要です。
于 2015-01-22T12:42:13.967 に答える
0
あなたの質問はとても興味深いです。良い答えを出すために簡単な調査を行いましたが、できませんでした。Unity には、これに対する組み込みのソリューションがありません。確かに便利ですが、申し訳ありません。
私が役に立つと思ったが、自分で試したことのない唯一のものは、このフォーラムの投稿です。著者は、彼が使用している回避策の優れたコードで自分自身に答えます。必要に応じて適応することができます。
簡単にするために、ここに貼り付けます。
public override void OnInspectorGUI ()
{
serializedObject.Update ();
DrawDefaultInspector ();
SerializedProperty myProperty = serializedObject.FindProperty ("maxDistance");
if (tick) {
myProperty.floatValue = tempValue;
tick = false;
}
if(!Application.isPlaying)
{
if (!myProperty.prefabOverride) {
GUI.color = Color.red;
tick = true;
tempValue =myProperty.floatValue;
myProperty.floatValue += 1;
}
else
GUI.color = Color.green;
}
EditorGUILayout.PropertyField (myProperty);
if (GUI.changed) {
EditorUtility.SetDirty (target);
}
serializedObject.ApplyModifiedProperties ();
}
質問の日付が原因で、これがお役に立てば幸いです。幸運を!
于 2015-09-30T15:30:04.593 に答える