Esempio n. 1
0
        public ProjectileDecorator(IProjectileLogic p)
        {
            ProjectileLogic = p;
            ProtoProjectile tmp = (ProtoProjectile)ProjectileLogic.getUpperMost();

            Game       = tmp.Game;
            Scene      = tmp.Scene;
            Input      = tmp.Input;
            Projectile = tmp.Projectile;
        }
Esempio n. 2
0
        public ProjectileDecorator(IProjectileLogic p)
        {
            ProjectileLogic = p;
            ProtoProjectile tmp = (ProtoProjectile) ProjectileLogic.getUpperMost();

            Game = tmp.Game;
            Scene = tmp.Scene;
            Input = tmp.Input;
            Projectile = tmp.Projectile;
        }
Esempio n. 3
0
 private IProjectileLogic decorate(ProjectileDecorators decoType, IProjectileLogic inner)
 {
     switch (decoType)
     {
         case ProjectileDecorators.TestBullet:
             return new TestBullet(inner);
         case ProjectileDecorators.BulletWallCollider:
             return new BulletWallCollider(inner);
         default:
             throw new NotImplementedException();
     }
 }
Esempio n. 4
0
        private IProjectileLogic decorate(ProjectileDecorators decoType, IProjectileLogic inner)
        {
            switch (decoType)
            {
            case ProjectileDecorators.TestBullet:
                return(new TestBullet(inner));

            case ProjectileDecorators.BulletWallCollider:
                return(new BulletWallCollider(inner));

            default:
                throw new NotImplementedException();
            }
        }
Esempio n. 5
0
        public TestBullet(IProjectileLogic p)
            : base(p)
        {
            if (_texture == null)
                _texture = new Texture("Resources/Bullet.png");

            var image = new Image(_texture);

            var collider = new PolygonCollider(_basePolygon, CollidableTags.Bullet);
            Utilities.RotatePolygon(Projectile.DegOrientation + 90, collider, _basePolygon);
            Projectile.AddCollider(collider);

            Projectile.AddGraphic(image);
            image.Angle = Projectile.DegOrientation + 90;

            _direction = new Vector2(16 * ((float)Math.Sin(Projectile.DegOrientation * Util.DEG_TO_RAD)),
                16 * ((float)Math.Cos(Projectile.DegOrientation * Util.DEG_TO_RAD)));
        }
Esempio n. 6
0
        public TestBullet(IProjectileLogic p) : base(p)
        {
            if (_texture == null)
            {
                _texture = new Texture("Resources/Bullet.png");
            }

            var image = new Image(_texture);

            var collider = new PolygonCollider(_basePolygon, CollidableTags.Bullet);

            Utilities.RotatePolygon(Projectile.DegOrientation + 90, collider, _basePolygon);
            Projectile.AddCollider(collider);

            Projectile.AddGraphic(image);
            image.Angle = Projectile.DegOrientation + 90;

            _direction = new Vector2(16 * ((float)Math.Sin(Projectile.DegOrientation * Util.DEG_TO_RAD)),
                                     16 * ((float)Math.Cos(Projectile.DegOrientation * Util.DEG_TO_RAD)));
        }
Esempio n. 7
0
 public BulletWallCollider(IProjectileLogic pLogic) : base(pLogic)
 {
 }
Esempio n. 8
0
 public BulletWallCollider(IProjectileLogic pLogic)
     : base(pLogic)
 {
 }
 void Awake()
 {
     _movement = GetComponent <ProjectileMovementUnityContext>();
     _logic    = this.GetComponentByInterface <IProjectileLogic>();
 }