Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
        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>();
        }
Beispiel #4
0
        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>();
        }