Cinemachine3rdPersonFollowEditor.cs 1.2 KB

123456789101112131415161718192021222324252627282930
  1. using UnityEngine;
  2. using UnityEditor;
  3. using System.Collections.Generic;
  4. namespace Cinemachine.Editor
  5. {
  6. [CustomEditor(typeof(Cinemachine3rdPersonFollow))]
  7. internal class Cinemachine3rdPersonFollowEditor : BaseEditor<Cinemachine3rdPersonFollow>
  8. {
  9. [DrawGizmo(GizmoType.Active | GizmoType.Selected, typeof(Cinemachine3rdPersonFollow))]
  10. static void Draw3rdPersonGizmos(Cinemachine3rdPersonFollow target, GizmoType selectionType)
  11. {
  12. if (target.IsValid)
  13. {
  14. Color originalGizmoColour = Gizmos.color;
  15. Gizmos.color = CinemachineCore.Instance.IsLive(target.VirtualCamera)
  16. ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour
  17. : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour;
  18. target.GetRigPositions(out Vector3 root, out Vector3 shoulder, out Vector3 hand);
  19. Gizmos.DrawLine(root, shoulder);
  20. Gizmos.DrawLine(shoulder, hand);
  21. Gizmos.DrawSphere(root, 0.02f);
  22. Gizmos.DrawSphere(shoulder, 0.02f);
  23. Gizmos.DrawSphere(hand, 0.03f);
  24. Gizmos.color = originalGizmoColour;
  25. }
  26. }
  27. }
  28. }