Spawner.cs 969 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using AtomicEngine;
  3. public class Spawner : CSComponent
  4. {
  5. void Start()
  6. {
  7. viewport = AtomicNET.GetSubsystem<Renderer>().GetViewport(0);
  8. }
  9. void Update(float timeStep)
  10. {
  11. var input = AtomicNET.GetSubsystem<Input>();
  12. if (input.GetMouseButtonDown(Constants.MOUSEB_LEFT))
  13. {
  14. var mousePos = input.GetMousePosition();
  15. for (var i = 0; i < 10; i++)
  16. createButterflyNode(new Vector2(mousePos.X, mousePos.Y));
  17. }
  18. }
  19. void createButterflyNode(Vector2 pos)
  20. {
  21. //project mouse screen position to the world position
  22. var screenPos = viewport.ScreenToWorldPoint((int) pos.X, (int) pos.Y, 0);
  23. //create butterfly node
  24. var node = Scene.CreateChild("Butterfly");
  25. node.Position2D = new Vector2(screenPos.X, screenPos.Y);
  26. var butterfly = node.CreateComponent<Butterfly>();
  27. }
  28. Viewport viewport;
  29. }