Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }