using UnityEngine; using UnityEditor; namespace CreatureControl { [CustomEditor(typeof(TargetLeg))] public class TargetLeg_Editor : Editor { protected TargetLeg targetLeg; private void OnEnable() { targetLeg = (TargetLeg)target; CheckLegTarget(targetLeg); } void CheckLegTarget(TargetLeg targetLeg) { LegTarget legTarget = targetLeg.target.GetComponent(); if (legTarget == null) legTarget = targetLeg.target.gameObject.AddComponent(); legTarget.leg = targetLeg; } public override void OnInspectorGUI() { base.OnInspectorGUI(); EditorGUI.BeginDisabledGroup(true); EditorGUILayout.FloatField("Femur Length", targetLeg.femurLength); EditorGUI.EndDisabledGroup(); } public float PrefabFemurLength() { Object prefabSource = PrefabUtility.GetCorrespondingObjectFromSource(serializedObject.targetObject); if (prefabSource == null) return 0; SerializedObject targetLegPrefabObj = new(prefabSource); //SerializedProperty targetBonesPrefabProp = targetLegPrefabObj.FindProperty(nameof(TargetLeg.bones)); return 0; } } }