1

一部のプロパティ フィールドがプレハブの [適用] ボタンによって変更されるのを防ぎたいのですが、プロパティ フィールドの値が変更されたことをプログラムでマークする方法はありますか (常に太字にする)。

4

2 に答える 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 に答える