public Trail(Projectile projectile, ITrailColor type, ITrailCap cap, ITrailPosition position, ITrailShader shader, TrailLayer layer, float widthAtFront, float maxLength, float dissolveSpeed) : base(projectile, layer) { _trailCap = cap; _trailColor = type; _trailPosition = position; _trailShader = shader; _maxLength = maxLength; _widthStart = widthAtFront; DissolveSpeed = dissolveSpeed == -1 ? _maxLength / 10 : dissolveSpeed; _originalMaxLength = maxLength; _originalWidth = _widthStart; _points = new List <Vector2>(); }
public Trail(Projectile projectile, ITrailColor type, ITrailCap cap, ITrailPosition position, ITrailShader shader, float widthAtFront, float maxLength) { MyProjectile = projectile; Dead = false; _trailCap = cap; _trailColor = type; _trailPosition = position; _trailShader = shader; _maxLength = maxLength; _widthStart = widthAtFront; _originalProjectileType = projectile.type; _points = new List <Vector2>(); }
public void CreateTrail(Projectile projectile, ITrailColor trailType, ITrailCap trailCap, ITrailPosition trailPosition, float widthAtFront, float maxLength, ITrailShader shader = null) { Trail newTrail = new Trail(projectile, trailType, trailCap, trailPosition, shader == null ? new DefaultShader() : shader, widthAtFront, maxLength); newTrail.Update(); _trails.Add(newTrail); }
public void CreateTrail(Projectile projectile, ITrailColor trailType, ITrailCap trailCap, ITrailPosition trailPosition, float widthAtFront, float maxLength, ITrailShader shader = null, TrailLayer layer = TrailLayer.UnderProjectile, float dissolveSpeed = -1) { var newTrail = new Trail(projectile, trailType, trailCap, trailPosition, shader ?? new DefaultShader(), layer, widthAtFront, maxLength, dissolveSpeed); newTrail.BaseUpdate(); _trails.Add(newTrail); }