public ExplosionData() { ExplodeFX = new BattleFX(); IntroFX = new List <BattleFX>(); Emitter = new EmptyCircleSquareEmitter(); TileEmitter = new EmptyFiniteEmitter(); }
public CircleSquareHitbox(Character user, Alignment targetAlignments, bool hitTiles, TileAlignment burstTiles, Loc origin, FiniteEmitter tileEmitter, CircleSquareEmitter emitter, int maxRadius, int speed, int delay, AreaLimit hitArea, Dir8 dir) : base(user, origin * GraphicsManager.TileSize, tileEmitter, delay) { TargetAlignments = targetAlignments; HitTiles = hitTiles; BurstTiles = burstTiles; Origin = origin; MaxRadius = maxRadius; Speed = (speed > 0) ? speed : Math.Max(1, (int)Math.Ceiling(MaxRadius * 1.4142136 * GraphicsManager.MAX_FPS)); HitArea = hitArea; Dir = dir; Emitter = (CircleSquareEmitter)emitter.Clone(); Emitter.SetupEmit(MapLoc, user.CharDir, HitArea, MaxRadius * GraphicsManager.TileSize + GraphicsManager.TileSize / 2, Speed * GraphicsManager.TileSize); }
public ExplosionData(ExplosionData other) { TargetAlignments = other.TargetAlignments; HitTiles = other.HitTiles; Range = other.Range; Speed = other.Speed; ExplodeFX = new BattleFX(other.ExplodeFX); IntroFX = new List <BattleFX>(); foreach (BattleFX fx in other.IntroFX) { IntroFX.Add(new BattleFX(fx)); } Emitter = (CircleSquareEmitter)other.Emitter.Clone(); TileEmitter = (FiniteEmitter)other.TileEmitter.Clone(); }