// Update is called once per frame void Update() { if (count++ < numberEnemies) { EnemyFactory.GetInstance().Create(player.transform.position, enemyToCreate); } }
// Update is called once per frame void Update() { if (count++ < numberEnemies) { EnemyFactory.GetInstance().Create(new Vector2(60, 10), "LightBandit"); } }
/* * Update * * Purpose: spawns in a number of new enemies if enough time has passed and the player * has covered enough distance. */ void Update() { enemySpawnTimer += Time.deltaTime; if (enemySpawnTimer >= enemySpawnTime) { // get the player's position Vector2 playerpos = player.transform.position; float offsetX = (Random.Range(0, 1) == 0) ? -Random.Range(0, offset) : Random.Range(0, offset); // we only spawn an additional enemy if the player moves far enough if (playerpos.x - lastPlayerPosition.x >= distanceToSpawn) { // reset the timer enemySpawnTimer = 0; // spawn a new enemy EnemyFactory.GetInstance().Create(new Vector2(playerpos.x + offsetX, spawnY)); lastPlayerPosition = playerpos; } } }
public static GameObject CheckCharacters(Entity entity) { switch (entity.Type) { case "Player": GameObject mario = Mario.GetInstance(); ((Mario)mario).CheckpointPosition = entity.CheckpointX; if (((Mario)mario).Checkpoint) { mario.PositionInGame = new Point(entity.CheckpointX, entity.CheckpointY); } else { mario.PositionInGame = new Point(entity.X, entity.Y); } CostumeChanger.GetInstance().Setup(); return(mario); case "Goomba": return(new Goomba(EnemyFactory.GetInstance(), new Point(entity.X, entity.Y))); case "GreenKoopa": return(new Koopa(EnemyFactory.GetInstance(), new Point(entity.X, entity.Y), false)); case "RedKoopa": return(new Koopa(EnemyFactory.GetInstance(), new Point(entity.X, entity.Y), true)); case "PiranhaPlant": return(new PiranhaPlant(EnemyFactory.GetInstance(), new Point(entity.X, entity.Y))); case "Bowser": return(new Bowser(BossFactory.GetInstance(), new Point(entity.X, entity.Y))); default: return(null); } }