public static void AddExplosion(Vector2 position, Battle battle) { if (battle == null) { throw new Exception("Battle cannot be null"); } TextureData cloudTextureData = ResourceManager.GetTextureData("particles/cloud_1"); Scene.AddEntity(new ParticleEffect(position, Color.Red, 12, cloudTextureData, 800.0f, 500.0f, 0.8f, 0.6f, true)); Scene.AddEntity(new ParticleEffect(position, Color.Orange, 12, cloudTextureData, 800.0f, 500.0f, 0.8f, 0.6f, true)); Scene.AddEntity(new ParticleEffect(position, Color.White, 12, cloudTextureData, 800.0f, 500.0f, 0.8f, 0.6f, true)); battle.Camera.Shake(new Vector2(4.0f), 0.1f); battle.SetCameraUpdateDelay(1.0f); }
private void _createParticleEffectOnPartyMember(object[] args) { // createParticleEffectOnPartyMember(string partyMemberSelector, int particleCount, string textureDataName, float speed, float gravity, float maxScale, float lifeTime, bool rotate) string partyMemberSelector = (string)args[0]; int particleCount = (int)args[1]; string textureDataName = (string)args[2]; float speed = (float)args[3]; float gravity = (float)args[4]; float maxScale = (float)args[5]; float lifeTime = (float)args[6]; bool rotate = (bool)args[7]; PartyMember partyMember = getPartyMemberFromSelector(partyMemberSelector); TextureData textureData = ResourceManager.GetTextureData(textureDataName); Scene.AddEntity(new ParticleEffect(partyMember.BattleEntity.GetCenter(), Color.White, particleCount, textureData, speed, gravity, maxScale, lifeTime, rotate)); }
public Trap(Sprite sprite, Vector2 position, Attributes attributes, WeaponData weaponData, PartyMember setter, Battle battle) : base(attributes) { if (attributes == null) { throw new Exception("Attributes cannot be null"); } if (setter == null) { throw new Exception("PartyMember setter cannot be null"); } if (battle == null) { throw new Exception("Battle cannot be null"); } this.setter = setter; this.battle = battle; Data = weaponData; entity = new Entity(sprite, position); entity.RenderShadow = true; entity.UpdateExtensions.Add(new UpdateExtension((updateExtension, delta) => Update(delta))); Scene.AddEntity(entity); }
private void emitStatusParticleCallback(float x, float y) { Scene.AddEntity(new FloatingParticle(new Vector2(x, y), new Vector2(0.0f, -200.0f), new Vector2(0.1f), 0.6f, statusParticleTextureData)); }