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(); } }
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(); } }
/// <summary> /// Add a decorator to all following projectiles /// </summary> /// <param name="k"></param> public void addDecorator(ProjectileDecorators k) { ProjectileKind.Add(k); }