using System.Collections.Specialized;
|
|
using System.Numerics;
|
|
using Raylib_cs;
|
|
|
|
namespace Smoll.Ex1 {
|
|
class CrosshairGizmoComponent : Smoll.Component {
|
|
Transform2DComponent? ownerTransform;
|
|
|
|
public CrosshairGizmoComponent()
|
|
{}
|
|
|
|
public override void OnAttached() {
|
|
ownerTransform = owner.GetComponent<Transform2DComponent>();
|
|
}
|
|
|
|
public override void Draw(Smoll.Layer.DrawMode drawMode) {
|
|
if(drawMode == Layer.DrawMode.Debug) {
|
|
ownerTransform ??= owner.GetComponent<Transform2DComponent>();
|
|
ownerTransform ??= new Transform2DComponent();
|
|
var tr = ownerTransform.AbsoluteTransform();
|
|
Raylib.DrawCircleLines((int)tr.position.Real, (int)tr.position.Imaginary, 5.5f, Color.Black);
|
|
|
|
Raylib.DrawLine(
|
|
(int)tr.position.Real,
|
|
(int)tr.position.Imaginary-10,
|
|
(int)tr.position.Real,
|
|
(int)tr.position.Imaginary+10,
|
|
Color.Lime);
|
|
Raylib.DrawLine(
|
|
(int)tr.position.Real-10,
|
|
(int)tr.position.Imaginary,
|
|
(int)tr.position.Real+10,
|
|
(int)tr.position.Imaginary,
|
|
Color.Red);
|
|
Raylib.DrawText(
|
|
tr.angle.ToString(),
|
|
(int)tr.position.Real+7,
|
|
(int)tr.position.Imaginary+7,
|
|
14,
|
|
Color.Magenta
|
|
);
|
|
Raylib.DrawText(
|
|
tr.position.Real.ToString(),
|
|
(int)tr.position.Real+7,
|
|
(int)tr.position.Imaginary+23,
|
|
14,
|
|
Color.Red
|
|
);
|
|
Raylib.DrawText(
|
|
tr.position.Imaginary.ToString(),
|
|
(int)tr.position.Real+7,
|
|
(int)tr.position.Imaginary+39,
|
|
14,
|
|
Color.Lime
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|