DbgGizmo.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using BansheeEngine;
  7. namespace BansheeEditor
  8. {
  9. class DbgGizmo
  10. {
  11. private static SpriteTexture iconTexture;
  12. [DrawGizmo(DrawGizmoFlags.NotSelected | DrawGizmoFlags.Pickable)]
  13. private static void DrawDbgComponentGizmo(DbgGizmoComponent target)
  14. {
  15. if (iconTexture == null)
  16. {
  17. Texture2D iconTex = ProjectLibrary.Load<Texture2D>("debugIcon.psd");
  18. iconTexture = new SpriteTexture(iconTex);
  19. }
  20. Gizmos.DrawCube(target.SceneObject.Position, new Vector3(1, 1, 1));
  21. Gizmos.DrawSphere(target.SceneObject.Position + 2 * Vector3.xAxis, 1.0f);
  22. Gizmos.DrawWireCube(target.SceneObject.Position + 4 * Vector3.xAxis, new Vector3(1, 1, 1));
  23. Gizmos.DrawWireSphere(target.SceneObject.Position + 6 * Vector3.xAxis, 1.0f);
  24. Gizmos.DrawLine(target.SceneObject.Position + 7.5f * Vector3.xAxis,
  25. target.SceneObject.Position + 8.5f * Vector3.xAxis);
  26. Gizmos.DrawFrustum(target.SceneObject.Position + 10 * Vector3.xAxis, 1920.0f / 1080.0f, 90, 1.0f, 1000.0f);
  27. Gizmos.DrawIcon(target.SceneObject.Position + new Vector3(0, 10, 0), iconTexture, false);
  28. }
  29. }
  30. }