protected override void OnUpdate(SAMTime gameTime, InputState istate) { #if DEBUG DebugDisp.IsEnabled = DebugSettings.Get("DebugTextDisplay"); DebugDisp.Scale = 0.75f; #endif #if (DEBUG && __DESKTOP__) if (istate.IsKeyExclusiveJustDown(SKeys.R)) { var xcfg = XConfigFile.LoadFromString(System.IO.File.ReadAllText(@"F:\Symlinks\GridDominance\Data\presets\green_gas.xconf")); var pcfg = ParticleEmitterConfig.ParticleEmitterConfigBuilder.LoadFromXConfig(xcfg); _banner.CreateEntities(pcfg); } #endif #if !GD_SHADERLESS if (_effectsEnabledCache != MainGame.Inst.Profile.EffectsEnabled) { _effectsEnabledCache = MainGame.Inst.Profile.EffectsEnabled; if (MainGame.Inst.Profile.EffectsEnabled) { _banner.CreateEntities(ParticlePresets.GetConfigLetterGreenGas()); } else { _banner.RemoveEntities(); } } #endif }
public override void Update(SAMTime gameTime, InputState istate) { base.Update(gameTime, istate); #if (DEBUG && __DESKTOP__) if (istate.IsKeyExclusiveJustDown(SKeys.R)) { var xcfg = XConfigFile.LoadFromString(System.IO.File.ReadAllText(@"F:\Symlinks\GridDominance\Data\presets\generic.xconf")); var pcfg = ParticleEmitterConfig.ParticleEmitterConfigBuilder.LoadFromXConfig(xcfg); _emitter.Alive = false; var scrn = HUD.Screen; var path = VectorPathBuilder .Start() .MoveTo(scrn.TranslateHUDToGameCoordinates(-WIDTH / 2f, -HEIGHT / 2f)) .LineTo(scrn.TranslateHUDToGameCoordinates(-WIDTH / 2f, +HEIGHT / 2f)) .LineTo(scrn.TranslateHUDToGameCoordinates(+WIDTH / 2f, +HEIGHT / 2f)) .LineTo(scrn.TranslateHUDToGameCoordinates(+WIDTH / 2f, -HEIGHT / 2f)) .LineTo(scrn.TranslateHUDToGameCoordinates(-WIDTH / 2f, -HEIGHT / 2f)) .Build(); var cfg = pcfg.Build(Textures.TexParticle, 2f, 3f); _emitter = new PathGPUParticleEmitter(scrn, scrn.MapViewportCenter, path, cfg, GDConstants.ORDER_WORLD_SUPEREFFECTS); HUD.Screen.Entities.AddEntity(_emitter); } #endif }
protected override void OnUpdate(SAMTime gameTime, InputState istate) { _lifetime += gameTime.ElapsedSeconds; #if DEBUG DebugDisp.IsEnabled = DebugSettings.Get("DebugTextDisplay"); DebugDisp.Scale = 0.75f; #endif #if (DEBUG && __DESKTOP__) if (istate.IsKeyExclusiveJustDown(SKeys.R)) { _banner1.AnimationStartDelay = 0; _banner2.AnimationStartDelay = 0; var xcfg = XConfigFile.LoadFromString(System.IO.File.ReadAllText(@"F:\Symlinks\GridDominance\Data\presets\auto.xconf")); var pcfg = ParticleEmitterConfig.ParticleEmitterConfigBuilder.LoadFromXConfig(xcfg); _banner1.CreateEntities(pcfg); _banner2.CreateEntities(pcfg); } #endif bool trigger = false; if (istate.IsKeyExclusiveJustDown(SKeys.AndroidBack)) { istate.SwallowKey(SKeys.AndroidBack, InputConsumer.ScreenAgent); trigger = true; } else if (istate.IsKeyExclusiveJustDown(SKeys.Backspace)) { istate.SwallowKey(SKeys.Backspace, InputConsumer.ScreenAgent); trigger = true; } if (trigger) { LeaveScreen(); } }
public static ParticleEmitterConfigBuilder LoadFromXConfig(XConfigFile xcfg) { var builder = new ParticleEmitterConfigBuilder(); builder.TextureIndex = xcfg.GetInt("TextureIndex"); builder.SpawnRate = xcfg.GetInt("SpawnRate"); if (xcfg.Contains("ParticleLifetime")) { builder.ParticleLifetime = xcfg.GetFloat("ParticleLifetime"); } if (xcfg.Contains("ParticleLifetimeMin")) { builder.ParticleLifetimeMin = xcfg.GetFloat("ParticleLifetimeMin"); } if (xcfg.Contains("ParticleLifetimeMax")) { builder.ParticleLifetimeMax = xcfg.GetFloat("ParticleLifetimeMax"); } if (xcfg.Contains("ParticleSpawnAngle")) { builder.ParticleSpawnAngle = xcfg.GetFloat("ParticleSpawnAngle"); } if (xcfg.Contains("ParticleSpawnAngleMin")) { builder.ParticleSpawnAngleMin = xcfg.GetFloat("ParticleSpawnAngleMin"); } if (xcfg.Contains("ParticleSpawnAngleMax")) { builder.ParticleSpawnAngleMax = xcfg.GetFloat("ParticleSpawnAngleMax"); } if (xcfg.Contains("ParticleVelocity")) { builder.ParticleVelocity = xcfg.GetFloat("ParticleVelocity"); } if (xcfg.Contains("ParticleVelocityMin")) { builder.ParticleVelocityMin = xcfg.GetFloat("ParticleVelocityMin"); } if (xcfg.Contains("ParticleVelocityMax")) { builder.ParticleVelocityMax = xcfg.GetFloat("ParticleVelocityMax"); } if (xcfg.Contains("ParticleAlpha")) { builder.ParticleAlpha = xcfg.GetFloat("ParticleAlpha"); } if (xcfg.Contains("ParticleAlphaInitial")) { builder.ParticleAlphaInitial = xcfg.GetFloat("ParticleAlphaInitial"); } if (xcfg.Contains("ParticleAlphaFinal")) { builder.ParticleAlphaFinal = xcfg.GetFloat("ParticleAlphaFinal"); } if (xcfg.Contains("ParticleSize")) { builder.ParticleSize = xcfg.GetFloat("ParticleSize"); } if (xcfg.Contains("ParticleSizeInitial")) { builder.ParticleSizeInitial = xcfg.GetFloat("ParticleSizeInitial"); } if (xcfg.Contains("ParticleSizeInitialMin")) { builder.ParticleSizeInitialMin = xcfg.GetFloat("ParticleSizeInitialMin"); } if (xcfg.Contains("ParticleSizeInitialMax")) { builder.ParticleSizeInitialMax = xcfg.GetFloat("ParticleSizeInitialMax"); } if (xcfg.Contains("ParticleSizeFinal")) { builder.ParticleSizeFinal = xcfg.GetFloat("ParticleSizeFinal"); } if (xcfg.Contains("ParticleSizeFinalMin")) { builder.ParticleSizeFinalMin = xcfg.GetFloat("ParticleSizeFinalMin"); } if (xcfg.Contains("ParticleSizeFinalMax")) { builder.ParticleSizeFinalMax = xcfg.GetFloat("ParticleSizeFinalMax"); } if (xcfg.Contains("Color")) { builder.Color = xcfg.GetKnownColor("Color"); } if (xcfg.Contains("ColorInitial")) { builder.ColorInitial = xcfg.GetKnownColor("ColorInitial"); } if (xcfg.Contains("ColorFinal")) { builder.ColorFinal = xcfg.GetKnownColor("ColorFinal"); } return(builder); }