public override void Draw(DrawingContext context, IList <IDrawableObject> drawables) { if (content == null) { return; } //if (this.Viewport == BoundingRectangle.Empty) if (!this.Viewport.Equals(context.GraphicsDevice.Viewport.TitleSafeArea)) { this.Viewport = (BoundingRectangle)context.GraphicsDevice.Viewport.TitleSafeArea; } Messure(); if (Renderer == null) { Renderer = new SpriteBatchRenderer(context.GraphicsDevice); } Renderer.elapsedTime = context.ElapsedTime; Renderer.Begin(context); content[0].Render(Renderer); Renderer.End(context); }
public override void Draw(DrawingContext context, System.Collections.Generic.IList <IDrawableObject> drawables) { if (this.Viewport == BoundingRectangle.Empty) // Should this be set? { this.Viewport = (BoundingRectangle)context.GraphicsDevice.Viewport.TitleSafeArea; } windowBorder.Measure(new Vector2(Viewport.Width, Viewport.Height)); windowBorder.Arrange(Viewport); BoundingRectangle titleBounds = new BoundingRectangle { X = Viewport.X, Y = Viewport.Y, Width = Viewport.Width, Height = windowBorder.BorderThickness.Top, }; title.Measure(new Vector2(titleBounds.Width, windowBorder.BorderThickness.Top)); title.Arrange(titleBounds); if (Renderer == null) { Renderer = new SpriteBatchRenderer(context.GraphicsDevice); } Renderer.elapsedTime = context.ElapsedTime; Renderer.Begin(context); windowBorder.Render(Renderer); title.Render(Renderer); //DebugDraw(); Renderer.End(context); }
public override void Initialize() { Renderer = new SpriteBatchRenderer { BlendMode = SpriteBlendMode.Additive, Batch = CurrGame.SpriteBatch }; //TowerSelector = CurrGame.Content.Load<RectEmitter>("GUI/TowerSelector"); TowerSelector = new RectEmitter { ReleaseColour = Color.Lime.ToVector3(), ReleaseOpacity = 1, ReleaseQuantity = 100, ReleaseScale = new VariableFloat { Anchor = 15, Variation = 1 }, ReleaseSpeed = new VariableFloat { Anchor = 10, Variation = 5 }, Frame = true, Height = 50, Width = 50, Budget = 10000, Term = 0.5f }; TowerSelector.Initialize(); TowerSelector.LoadContent(CurrGame.Content); base.Initialize(); }
public void OnGraphicsDeviceCreated(GraphicsDeviceCreated message) { var content = ((ContentSystem)Manager.GetSystem(ContentSystem.TypeId)).Content; if (_renderer == null) { _renderer = new SpriteBatchRenderer { GraphicsDeviceService = message.Graphics }; } _renderer.LoadContent(content); foreach (var component in Components) { foreach (var effect in component.Effects) { if (effect.Effect == null) { effect.Effect = content.Load <ParticleEffect>(effect.AssetName).DeepCopy(); effect.Effect.LoadContent(content); effect.Effect.Initialise(); } else { effect.Effect.LoadContent(content); } } } foreach (var effect in _effects) { effect.Value.LoadContent(content); } }
public void OnAdded() { _texture = Texture.LoadTexture(@"C:\dev\csharp\nephilim\Nephilim.Sandbox\Resources\Sprites\God_00000.png"); ICamera camera = new OrthoCameraComponent(Matrix4.Identity); SpriteBatchRenderer.Init(camera); }
protected override void Initialize() { if (_content == null) { _content = new PlainContentManager(Services); } if (_renderer == null) { _renderer = new SpriteBatchRenderer(); } _renderer.GraphicsDeviceService = (IGraphicsDeviceService)Services.GetService(typeof(IGraphicsDeviceService)); if (_circle == null) { try { _circle = new FilledEllipse(_content, GraphicsDeviceManager) { Gradient = 2, Color = Color.SlateBlue * 0.5f }; } catch (Exception ex) { Console.WriteLine("Failed initializing ellipse: " + ex); } } LoadContent(); }
public Video(Engine engine) : base(engine) { // particle effects ParticleRenderer = new SpriteBatchRenderer { GraphicsDeviceService = Global.GraphicsDeviceManager }; GraphicsDevice = Global.Game.GraphicsDevice; Engine.AddComponent(this); }
/// <summary> /// Instantiates the renderer. /// </summary> private Renderer InstantiateRenderer() { Trace.WriteLine("Instantiating particle renderer...", "CORE"); Renderer renderer = new SpriteBatchRenderer { GraphicsDeviceService = GraphicsDeviceService.Instance }; renderer.LoadContent(null); return(renderer); }
public GameEnvironment(Controller ctrl) : base(ctrl) { Pressure = 0.0f; Sound.StopAll(true); // Camera. Camera = new Camera2D(this); //Camera.Position = new Vector2(1280.0f, k_idealScreenSize.Y * 0.5f); Camera.MoveSpeed = defaultCameraMoveSpeed; Camera.ResetEffectScale(1.0f); // Set at slightly higher than 1.0 so we can do a zoom out pressure effect. // Window. Controller.Window.ClientSizeChanged += WindowSizeChanged; WindowSizeChanged(null, null); Controller.IsMouseVisible = true; // Collision. CollisionWorld = new Physics.Dynamics.World(Vector2.Zero); // Create a new SpriteBatch which can be used to draw textures. m_spriteBatch = new SpriteBatch(ctrl.GraphicsDevice); ParticleRenderer = new SpriteBatchRenderer { GraphicsDeviceService = ctrl.Graphics }; ParticleRenderer.LoadContent(contentManager); // Create collision notification callbacks. CollisionWorld.ContactManager.PreSolve += PreSolve; CollisionWorld.ContactManager.BeginContact += BeginContact; CollisionWorld.ContactManager.EndContact += EndContact; CollisionWorld.ContactManager.ContactFilter += ContactFilter; // HUD. HUD = new Menus.HUD(this); // Effects. m_tintEffect = contentManager.Load <Effect>("TintEffect"); FadeOut = new FaderOuter(this); SpawnController = new SpawnController(this); // Farseer freaks out unless we call Update here when changing Environments. FIXME: Why? Update(0.0f); }
protected override void Initialize() { if (_content == null) { _content = new PlainContentManager(Services); } if (_renderer == null) { _renderer = new SpriteBatchRenderer(); } _renderer.GraphicsDeviceService = (IGraphicsDeviceService)Services.GetService(typeof(IGraphicsDeviceService)); if (!string.IsNullOrWhiteSpace(_assetName) && _effect == null) { LoadContent(); } }
public Pax4ParticleEffect() { _current = this; if (_particleRenderer == null) { _particleRenderer = new SpriteBatchRenderer { GraphicsDeviceService = Pax4Game._graphicsDeviceManager }; _particleRenderer.LoadContent(Pax4Game._current.Content); _particleRenderer3 = new QuadRenderer(10000) { GraphicsDeviceService = Pax4Game._graphicsDeviceManager }; _particleRenderer3.LoadContent(Pax4Game._current.Content); } ParticleEffect particleEffect = null; Texture2D particleTexture = null; AbstractEmitter emitter = null; float scale = 1.0f; if (Pax4Camera._backBufferWidth <= 320) { scale = Pax4Camera._current._scale.X * 0.9f; } else { scale = Pax4Camera._current._scale.X; } int budgetFactor = 3; #region Default //**************************** //Default //**************************** budgetFactor = 3; particleEffect = new ParticleEffect(); Pax4Texture2D._current.Load("ParticleEffect/FlowerBurst"); particleTexture = Pax4Texture2D._current.Get("ParticleEffect/FlowerBurst"); emitter = new PointEmitter { Budget = 64 * budgetFactor, Term = 1.0f, ReleaseQuantity = 5, Enabled = true, ReleaseSpeed = new Range(0.0f, 50.0f), // { Value = 25f, Variation = 25f }, ReleaseColour = new ColourRange { Red = new Range(0.0f, 0.8f), Green = new Range(0.0f, 1.0f), Blue = new Range(0.0f, 1.0f) }, ReleaseOpacity = new Range(1.0f, 1.0f), ReleaseScale = new Range(16.0f * scale, 48.0f * scale), // { Value = 32f, Variation = 16f }, //ReleaseRotation //ReleaseImpulse ParticleTexture = particleTexture, Modifiers = new ModifierCollection { new OpacityFastFadeModifier { InitialOpacity = 1.0f } }, BlendMode = EmitterBlendMode.Add, Controllers = new ControllerPipeline { new TriggerOffsetController { TriggerOffset = Vector3.Zero }, //new TriggerRotationController //{ // TriggerRotation = Vector3.Zero //} }, //TriggerOffset //MinimumTriggerPeriod }; emitter.Initialise(); particleEffect.Emitters.Add(emitter); _particleEffectDefault = particleEffect; AddUpdate(particleEffect); AddDraw(particleEffect); #endregion //Default #region IceStarTrail //**************************** //IceStarTrail //**************************** budgetFactor = 1; particleEffect = new ParticleEffect(); Pax4Texture2D._current.Load("ParticleEffect/Star"); particleTexture = Pax4Texture2D._current.Get("ParticleEffect/Star"); emitter = new PointEmitter//Sparkles { Budget = 42 * budgetFactor, Term = 0.5f, ReleaseQuantity = 1, Enabled = true, ReleaseSpeed = new Range(32.0f, 160.0f), ReleaseColour = new ColourRange { Red = new Range(1.0f, 1.0f), Green = new Range(1.0f, 1.0f), Blue = new Range(1.0f, 1.0f) }, ReleaseOpacity = new Range(1.0f, 1.0f), ReleaseScale = new Range(16.0f * scale, 16.0f * scale), ReleaseRotation = new RotationRange { Yaw = new Range(0.0f, 0.0f), Pitch = new Range(0.0f, 0.0f), Roll = new Range(0.0f, 6.28f), }, //ReleaseImpulse ParticleTexture = particleTexture, Modifiers = new ModifierCollection { new OpacityInterpolator3 { InitialOpacity = 0.0f, MedianOpacity = 1.0f, Median = 0.75f, FinalOpacity = 0.0f }, new DampingModifier { DampingCoefficient = 3.0f }, new ColourInterpolator2 { InitialColour = new Vector3(0.7529412f, 0.7529412f, 1.0f), FinalColour = new Vector3(0.7529412f, 1.0f, 1.0f) }, new LinearGravityModifier { GravityVector = new Vector3(0.0f, 1.0f, 0.0f), Strength = 150.0f } }, BlendMode = EmitterBlendMode.Add, Controllers = new ControllerPipeline { new TriggerOffsetController { TriggerOffset = Vector3.Zero }, //new TriggerRotationController //{ // TriggerRotation = Vector3.Zero //} }, //TriggerOffset //MinimumTriggerPeriod }; emitter.Initialise(); particleEffect.Emitters.Add(emitter); particleTexture = Pax4Texture2D._current.Get("ParticleEffect/Star"); emitter = new PointEmitter//Flakes { Budget = 42 * budgetFactor, Term = 0.5f, ReleaseQuantity = 1, Enabled = true, ReleaseSpeed = new Range(0.0f, 48.0f), ReleaseColour = new ColourRange { Red = new Range(1.0f, 1.0f), Green = new Range(1.0f, 1.0f), Blue = new Range(1.0f, 1.0f) }, ReleaseOpacity = new Range(1.0f, 1.0f), ReleaseScale = new Range(8.0f * scale, 24.0f * scale), ReleaseRotation = new RotationRange { Yaw = new Range(0.0f, 0.0f), Pitch = new Range(0.0f, 0.0f), Roll = new Range(0.0f, 3.14f), }, //ReleaseImpulse ParticleTexture = particleTexture, Modifiers = new ModifierCollection { new ColourInterpolator2 { InitialColour = new Vector3(0.7529412f, 0.7529412f, 1.0f), FinalColour = new Vector3(0.7529412f, 1.0f, 1.0f) }, new OpacityInterpolator2 { InitialOpacity = 1.0f, FinalOpacity = 0.0f }, }, BlendMode = EmitterBlendMode.Add, Controllers = new ControllerPipeline { new TriggerOffsetController { TriggerOffset = Vector3.Zero }, //new TriggerRotationController //{ // TriggerRotation = Vector3.Zero //} }, //TriggerOffset //MinimumTriggerPeriod }; emitter.Initialise(); particleEffect.Emitters.Add(emitter); _particleEffectIceStarTrail = particleEffect; AddUpdate(particleEffect); AddDraw(particleEffect); #endregion //IceStarTrail #region ChainLinkBreak //**************************** //ChainLinkBreak //**************************** budgetFactor = 5; particleEffect = new ParticleEffect(); Pax4Texture2D._current.Load("ParticleEffect/Particle005"); particleTexture = Pax4Texture2D._current.Get("ParticleEffect/Particle005"); emitter = new PointEmitter//Sparks { Budget = 20 * budgetFactor, Term = 0.75f, ReleaseQuantity = 20, Enabled = true, ReleaseSpeed = new Range(0.0f, 250.0f), ReleaseColour = new ColourRange { Red = new Range(1.0f, 1.0f), Green = new Range(1.0f, 1.0f), Blue = new Range(1.0f, 1.0f) }, ReleaseOpacity = new Range(1.0f, 1.0f), ReleaseScale = new Range(0.0f * scale, 8.0f * scale), //ReleaseRotation, //ReleaseImpulse, ParticleTexture = particleTexture, Modifiers = new ModifierCollection { new OpacityInterpolator2 { InitialOpacity = 1.0f, FinalOpacity = 0.0f }, new DampingModifier { DampingCoefficient = 2.0f }, new LinearGravityModifier { GravityVector = new Vector3(0.0f, 1.0f, 0.0f), Strength = 1000.0f } }, BlendMode = EmitterBlendMode.Add, Controllers = new ControllerPipeline { new TriggerOffsetController { TriggerOffset = Vector3.Zero }, //new TriggerRotationController //{ // TriggerRotation = Vector3.Zero //} }, //TriggerOffset //MinimumTriggerPeriod }; emitter.Initialise(); particleEffect.Emitters.Add(emitter); particleTexture = Pax4Texture2D._current.Get("ParticleEffect/Particle005"); emitter = new PointEmitter//Flash { Budget = 1 * budgetFactor, Term = 0.1f, ReleaseQuantity = 1, Enabled = true, ReleaseSpeed = new Range(50.0f, 50.0f), ReleaseColour = new ColourRange { Red = new Range(1.0f, 1.0f), Green = new Range(1.0f, 1.0f), Blue = new Range(1.0f, 1.0f) }, ReleaseOpacity = new Range(0.0f, 0.5f), ReleaseScale = new Range(100.0f * scale, 100.0f * scale), //ReleaseRotation, //ReleaseImpulse, ParticleTexture = particleTexture, Modifiers = new ModifierCollection { new OpacityInterpolator2 { InitialOpacity = 1.0f, FinalOpacity = 0.0f } }, BlendMode = EmitterBlendMode.Add, Controllers = new ControllerPipeline { new TriggerOffsetController { TriggerOffset = Vector3.Zero }, //new TriggerRotationController //{ // TriggerRotation = Vector3.Zero //} }, //TriggerOffset //MinimumTriggerPeriod }; emitter.Initialise(); particleEffect.Emitters.Add(emitter); _particleEffectChainLinkBreak = particleEffect; //_particleEffectPart.Add(_particleEffectChainLinkBreak); #endregion //ChainLinkBreak }
public void OnDestroy() { SpriteBatchRenderer.Dispose(); }
public void OnRenderLayer() { SpriteBatchRenderer.BeginScene(); SpriteBatchRenderer.DrawQuad(_texture, new Color4(1, 1, 1, 1), new Vector4(0), Matrix4.CreateScale(2f)); SpriteBatchRenderer.EndScene(); }
private static void InitializeDefaultCore(IGraphicsDeviceService graphicsDeviceService) { if (graphicsDeviceService == null) throw new ArgumentNullException("graphicsDeviceService"); //TODO: Remove this or make a way to remove it if it is not used (ContentManager) //////////////////////////////////////////////////////////////// var services = new GameServiceContainer(); services.AddService(typeof (IGraphicsDeviceService), graphicsDeviceService); //TODO: Enable the user to change the RootDirectory _contentManager = new ContentManager(services, "Content"); /////////////////////////////////////////////////// SpriteRenderer = new SpriteBatchRenderer(Window.GraphicsDevice); Entities = new EntitiesManager(); Settings = new SettingsManager(); Input = new InputManager(); Cameras = new CameraManager(); Music = new MusicManager(_contentManager); SoundFX = new SoundFXManager(_contentManager); Textures = new TextureManager(_contentManager); Fonts = new FontsManager(_contentManager); InitializeManagers(); }
public static void Initialize( IWindowManager windowManager, IInputManager inputManager, IResourceManager<Texture2D> textureManager, IResourceManager<Song> musicManager, IResourceManager<SoundEffect> soundFXManager, IResourceManager<SpriteFont> fontsManager, ISettingsManager settingsManager, ICameraManager cameraManager) { //TODO: Do not require EVERYTHING... Maybe only put the Managers setter public? if(windowManager == null) throw new ArgumentNullException("windowManager"); if (inputManager == null) throw new ArgumentNullException("inputManager"); if (textureManager == null) throw new ArgumentNullException("textureManager"); if (musicManager == null) throw new ArgumentNullException("musicManager"); if (soundFXManager == null) throw new ArgumentNullException("soundFXManager"); if (fontsManager == null) throw new ArgumentNullException("fontsManager"); if (settingsManager == null) throw new ArgumentNullException("settingsManager"); if (cameraManager == null) throw new ArgumentNullException("cameraManager"); Window = windowManager; Input = inputManager; Textures = textureManager; Music = musicManager; SoundFX = soundFXManager; Fonts = fontsManager; Settings = settingsManager; Cameras = cameraManager; ///////////////////// // TODO: FOR NOW Entities = new EntitiesManager(); SpriteRenderer = new SpriteBatchRenderer(Window.GraphicsDevice); //////////////////// InitializeManagers(); }