public ParticleEditorController(GameWorld gameWorld) { _gameWorld = gameWorld; var scene = new Scene(); scene.PhysicalWorld = new FarseerPhysicalWorld(Vector2.Zero); _gameWorld.AddScene(scene); _gameWorld.SetActiveScene(scene); _particleEffectActor = scene.AddWorldEntity<ParticleEffectActor>(); _addParticleEmitterCommand = new AddParticleEmitterCommand(this); _setParticleSpawnProcessorCommand = new SetParticleSpawnProcessorCommand(this); _setParticleProcessorCommand = new SetParticleProcessorCommand(this); _removeParticleProcessorCommand = new RemoveParticleProcessorCommand(this); ParticleEffectViewModel = new ObservableCollection<ParticleEffectViewModel>(); _effectViewModel = new ParticleEffectViewModel("Particle effect", this, _addParticleEmitterCommand); ParticleEffectViewModel.Add(_effectViewModel); //ToDo: delete these lines in the future var bitmap = gameWorld.GraphicsContext.LoadTexture2D("default"); var asset = new Static2DRenderableAsset(); asset.Texture2D = bitmap; _particleEffectActor.RenderableAsset = asset; var name = "one"; _particleEffectActor.Body = _particleEffectActor.Scene.PhysicalWorld.CreateRectangularBody(160f, 160f, 1f, name); }
public void AddParticleEmitterTo(ParticleEffectViewModel particleEffectViewModel) { var emitter = ParticleEffect.AddEmitter(); var emitterViewModel = new ParticleEmitterViewModel("name", this, _setParticleSpawnProcessorCommand, _setParticleProcessorCommand, particleEffectViewModel, emitter); SetParticleEmitterDefaultValues(emitter, emitterViewModel); particleEffectViewModel.Children.Add(emitterViewModel); }