public MegabombShot(Vector2 loc, Megabomb wpn, double angle, SpriteEffects _flip) :
            base(loc,
                 new Rectangle(830, 0, 180, 236), //Sprite
                 new Vector2(450, 350),           //Speed
                 Vector2.One,                     //Scale
                 _flip, wpn, angle, false)
        {
            ttl                    = InfiniteTimeToLive;
            saveRotation           = angle;
            UseRotationWhenDrawing = true;

            hitbox = new CircleHitbox(this, true, 0.5f);
        }
Exemplo n.º 2
0
 public void Initialize()
 {
     wpn            = new MachineGun();
     bomb           = new Megabomb();
     this.speed     = new Vector2(400.0f, 400.0f); //In case of a flip before
     frame          = 0;
     Score          = 0;
     Lives          = 0;
     invincibleTime = 3.0f;
     DeathTime      = 0.0f;
     trajectory     = new Vector2();
     Hitbox         = new CircleHitbox(this, false, 3.5f);
     this.Flip      = SpriteEffects.None;
     enableCommands = true;
 }
Exemplo n.º 3
0
        public BouleEpine(Vector2 loc, Vector2 scroll, Bonus bonus, MovePattern pattern, SpriteEffects flip, String[] flags) :
            base(loc, scroll, bonus, pattern, flags, flip,
                 new Rectangle(20, 137, 200, 110), //Source sprite
                 Vector2.Zero,                     //Speed
                 Vector2.One,
                 new BEWeapon()
                 )
        {
            //Stats
            hp         = 30;
            Background = true;
            points     = 3000;
            Difficulty = 10;

            Hitbox = new CircleHitbox(this, false, 2f);
        }
Exemplo n.º 4
0
        public Bird(Vector2 loc, Vector2 scroll, Bonus bonus, MovePattern pattern, SpriteEffects flip, String[] flags) :
            base(loc, scroll, bonus, pattern, flags, flip,
                 new Rectangle(0, 0, 256, 128), //Source sprite
                 new Vector2(350, 350.0f),      //Speed
                 new Vector2(0.3f, 0.3f),
                 null
                 )
        {
            //Stats
            hp = 3;

            points      = 1000;
            Difficulty  = 5;
            targetFound = false;
            this.UseSpriteOrigin();
            UseRotationWhenDrawing = flip == SpriteEffects.None;
            Hitbox = new CircleHitbox(this, true, 3f);
        }
Exemplo n.º 5
0
    private void OnFixedUpdate(Entity entity)
    {
        if (_counter == 0)
        {
            Color tmp = _outerSpriteRenderer.color;
            tmp.a = 1;
            _outerSpriteRenderer.color = tmp;

            Color tmp2 = _innerSpriteRenderer.color;
            tmp2.a = 1;
            _innerSpriteRenderer.color = tmp2;

            _innerCircleObject.transform.localScale = InnerRadius * 2 * Vector2.one;
            _outerCircleObject.transform.localScale = CurrentRadius * 2 * Vector2.one;

            Vector2 newPosition = _posTwoTicksAgo;
            _outerCircleObject.transform.position = newPosition;
            _innerCircleObject.transform.position = newPosition;
            _posTwoTicksAgo = _postLastTick;
            _postLastTick   = entity.Position;

            CircleHitbox c = new CircleHitbox(newPosition, CurrentRadius, GameInfo.PlayersLayer);
            if (c.GetFreshHits().Contains(entity))
            {
                if ((entity.Position - newPosition).magnitude <= InnerRadius)
                {
                    CurrentRadius += 0.6f;
                }
                entity.TakeDamage(new DamageInstance(entity, entity, 2));
            }
            else
            {
                CurrentRadius -= 0.3f;
            }
        }
        _counter = (_counter + 1) % TimeBetweenFlashes;
    }
Exemplo n.º 6
0
 protected abstract bool IntersectingCircle(CircleHitbox other);
Exemplo n.º 7
0
 public abstract bool Over(CircleHitbox other);
Exemplo n.º 8
0
 protected override bool IntersectingCircle(CircleHitbox other)
 {
     throw new System.NotImplementedException();
 }