Program.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. 
  2. using System;
  3. using AtomicEngine;
  4. using AtomicPlayer;
  5. class MyObject : ScriptObject
  6. {
  7. }
  8. class Spinner : CSComponent
  9. {
  10. public float Speed = 1.0f;
  11. override public void Start()
  12. {
  13. myObject = new MyObject ();
  14. SubscribeToEvent (myObject, "MyEvent", handleMyObjectEvent);
  15. var renderer = Atomic.GetSubsystem<Renderer> ();
  16. SubscribeToEvent (renderer, "BeginViewUpdate", handleEvent);
  17. }
  18. void handleMyObjectEvent(VariantMap eventData)
  19. {
  20. Console.WriteLine ("Got My Event");
  21. }
  22. void handleEvent(VariantMap eventData)
  23. {
  24. View view = eventData.Get<View> ("view");
  25. view.Camera.Zoom = zoom;
  26. zoom += .01f;
  27. myObject.SendEvent ("MyEvent");
  28. }
  29. override public void Update(float timeStep)
  30. {
  31. Node.Yaw (timeStep * 75 * Speed, TransformSpace.TS_LOCAL);
  32. }
  33. float zoom = 1.0f;
  34. MyObject myObject;
  35. }
  36. class MyGame
  37. {
  38. public static void Main (string[] args)
  39. {
  40. Atomic.RegisterAssemblyComponents (typeof(MyGame).Assembly);
  41. var player = Atomic.GetSubsystem<Player> ();
  42. var graphics = Atomic.GetSubsystem<Graphics> ();
  43. Console.WriteLine ("{0}, {1}", graphics.Width, graphics.Height);
  44. player.LoadScene ("Scenes/Scene.scene", null);
  45. var scene = player.CurrentScene;
  46. var zone = scene.GetComponent <Zone> (true);
  47. var name = zone.Node.Name;
  48. /*
  49. var chestNode = scene.GetChild ("Chest", true);
  50. var c = chestNode.AddComponent <Spinner> ();
  51. c.Speed = 10.0f;
  52. c.Destroy ();
  53. */
  54. zone.SetAmbientColor( new Color(1, 0, 0) );
  55. Atomic.Run ();
  56. }
  57. }