diff --git a/Butterflies/CSharp/Resources/Components/Spawner.cs b/Butterflies/CSharp/Resources/Components/Spawner.cs index dc279bd..60e5a36 100644 --- a/Butterflies/CSharp/Resources/Components/Spawner.cs +++ b/Butterflies/CSharp/Resources/Components/Spawner.cs @@ -20,7 +20,13 @@ void Update(float timeStep) for (var i = 0; i < 10; i++) createButterflyNode(new Vector2(mousePos.X, mousePos.Y)); - } + } + else if (input.GetMouseButtonDown(Constants.MOUSEB_RIGHT)) + { + var mousePos = input.GetMousePosition(); + + createButterflyParticle(new Vector2(mousePos.X, mousePos.Y)); + } } @@ -38,6 +44,21 @@ void createButterflyNode(Vector2 pos) } + void createButterflyParticle(Vector2 pos) + { + //project mouse screen position to the world position + var screenPos = viewport.ScreenToWorldPoint((int) pos.X, (int) pos.Y, 0); + + //create particle emitter + var emitter = Scene.CreateChild("ButterflyEmitter"); + + emitter.Position2D = new Vector2(screenPos.X, screenPos.Y); + + var pex = emitter.CreateComponent(); + + pex.SetEffect(GetSubsystem().GetResource ("Particles/particle.pex")); + + } Viewport viewport; diff --git a/Butterflies/JavaScript/Resources/Scripts/main.js b/Butterflies/JavaScript/Resources/Scripts/main.js index 5ca54dd..3dc74ba 100644 --- a/Butterflies/JavaScript/Resources/Scripts/main.js +++ b/Butterflies/JavaScript/Resources/Scripts/main.js @@ -3,6 +3,9 @@ // create a scene var scene = new Atomic.Scene(); +// assign scene into global so it's not GC'd +Atomic.Player.currentScene = scene; + // create an octree component scene.createComponent("Octree");