44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
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<LegTarget>();
|
|
if (legTarget == null)
|
|
legTarget = targetLeg.target.gameObject.AddComponent<LegTarget>();
|
|
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;
|
|
}
|
|
}
|
|
|
|
} |