| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
-
- using System;
- using AtomicEngine;
- using AtomicPlayer;
- class MyObject : ScriptObject
- {
-
- }
- class Spinner : CSComponent
- {
- public float Speed = 1.0f;
- override public void Start()
- {
- myObject = new MyObject ();
- SubscribeToEvent (myObject, "MyEvent", handleMyObjectEvent);
- var renderer = Atomic.GetSubsystem<Renderer> ();
- SubscribeToEvent (renderer, "BeginViewUpdate", handleEvent);
- }
- void handleMyObjectEvent(VariantMap eventData)
- {
- Console.WriteLine ("Got My Event");
- }
- void handleEvent(VariantMap eventData)
- {
- View view = eventData.Get<View> ("view");
- view.Camera.Zoom = zoom;
- zoom += .01f;
- myObject.SendEvent ("MyEvent");
- }
- override public void Update(float timeStep)
- {
- Node.Yaw (timeStep * 75 * Speed, TransformSpace.TS_LOCAL);
- }
- float zoom = 1.0f;
- MyObject myObject;
- }
-
- class MyGame
- {
- public static void Main (string[] args)
- {
- Atomic.RegisterAssemblyComponents (typeof(MyGame).Assembly);
- var player = Atomic.GetSubsystem<Player> ();
- var graphics = Atomic.GetSubsystem<Graphics> ();
- Console.WriteLine ("{0}, {1}", graphics.Width, graphics.Height);
- player.LoadScene ("Scenes/Scene.scene", null);
- var scene = player.CurrentScene;
- var zone = scene.GetComponent <Zone> (true);
- var name = zone.Node.Name;
- /*
- var chestNode = scene.GetChild ("Chest", true);
- var c = chestNode.AddComponent <Spinner> ();
- c.Speed = 10.0f;
- c.Destroy ();
- */
- zone.SetAmbientColor( new Color(1, 0, 0) );
- Atomic.Run ();
- }
- }
|