A Smoll game engine
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

39 rindas
1.2 KiB

pirms 11 mēnešiem
pirms 11 mēnešiem
pirms 11 mēnešiem
pirms 11 mēnešiem
pirms 11 mēnešiem
pirms 11 mēnešiem
  1. using System.Numerics;
  2. using Raylib_cs;
  3. namespace Smoll.Ex1 {
  4. class RectangleGizmoComponent : Smoll.Component {
  5. Complex size;
  6. Color color;
  7. Transform2DComponent? ownerTransform;
  8. public RectangleGizmoComponent(int width, int height, Color color)
  9. {
  10. this.size = width + Complex.ImaginaryOne*height;
  11. this.color = color;
  12. }
  13. public override void OnAttached() {
  14. ownerTransform = owner.GetComponent<Transform2DComponent>();
  15. }
  16. public override void Draw(Smoll.Layer.DrawMode drawMode) {
  17. ownerTransform ??= owner.GetComponent<Transform2DComponent>();
  18. ownerTransform ??= new Transform2DComponent();
  19. var tr = ownerTransform.AbsoluteTransform();
  20. Raylib.DrawRectanglePro(
  21. new Rectangle(
  22. (float)tr.position.Real,
  23. (float)tr.position.Imaginary,
  24. (float)(size.Real*tr.scale),
  25. (float)(size.Imaginary*tr.scale)
  26. ),
  27. new Vector2(
  28. (float)(0),
  29. (float)(0)
  30. ),
  31. tr.angle*180f/MathF.PI,
  32. color
  33. );
  34. }
  35. }
  36. }