Пример #1
0
        public static void Add(Entity <int> entity)
        {
            if (!IsUpdating)
            {
                switch (entity)
                {
                case GameBoss gb:
                    gb = GameFactory.CreateGameBoss();
                    gb.Add(Instance);
                    Entities.Add(gb);
                    break;

                case BulletSpawn bs:
                    bs = GameFactory.CreateBulletSpawn();
                    bs.Add(Instance);
                    Entities.Add(bs);
                    break;

                case MainPlayer mp:
                    mp = GameFactory.CreateMainPlayer();
                    Entities.Add(mp);
                    //move to front of list
                    //var temp = Entities[Entities.Count - 1];
                    // Entities[Entities.Count - 1] = Entities[0];
                    // Entities[0] = temp;
                    mp.Add(Instance);
                    break;

                case StandardEnemy be:
                    var bList = GameFactory.CreateButterflyEnemy("Random", 1);
                    be = bList[0];
                    Entities.Add(be);
                    be.Add(Instance);
                    break;

                case PlayerBullet pb:
                    pb = GameFactory.CreatePlayerBullet(Entities[0].Position);
                    Entities.Add(pb);
                    pb.Add(Instance);
                    break;
                    //case BulletPatterns bp:
                    //    bp = GameFactory.CreateBulletPattern(BulletPatternFactory.PatternTypes.Circular);
                    //    Entities.Add(bp);
                    //    break;
                }
            }

            else
            {
                AddedEntities.Add(entity);
            }
        }