ScrollingShooter.GameObjectManager.CreateBoss C# (CSharp) Method

CreateBoss() public method

public CreateBoss ( BossType enemyType, Vector2 position ) : ScrollingShooter.Boss
enemyType BossType
position Vector2
return ScrollingShooter.Boss
        public Boss CreateBoss(BossType enemyType, Vector2 position)
        {
            Boss boss;
            uint id = NextID();
            switch (enemyType)
            {
                case BossType.Blimp:
                    Blimp blimp = new Blimp(id, position, content);
                    LeftGun leftGun = new LeftGun(NextID(), content, blimp);
                    RightGun rightGun = new RightGun(NextID(), content, blimp);
                    leftGun.ObjectType = ObjectType.Boss;
                    rightGun.ObjectType = ObjectType.Boss;
                    blimp.leftGun = leftGun;
                    blimp.rightGun = rightGun;
                    QueueGameObjectForCreation(leftGun);
                    QueueGameObjectForCreation(rightGun);
                    boss = blimp;
                    break;

                case BossType.TwinJetManager:
                    boss = new TwinJetManager(id, content, position);
                    break;

                case BossType.MoonBoss:
                    boss = new MoonBoss(id, content, position);
                    break;
                case BossType.Lavabug:
                    boss = new Lavabug(id, content, position);
                    break;

                case BossType.BrainBoss:
                    boss = new BrainBossWrapper(id, content, position);
                    break;

                case BossType.Bird:
                    boss = new Bird(id, content, position);
                    break;

                default:
                    throw new NotImplementedException("The boss type " + Enum.GetName(typeof(BossType), enemyType) + " is not supported");
            }
            boss.ObjectType = ObjectType.Boss;
            QueueGameObjectForCreation(boss);
            return boss;
        }