public void SetUp() { var videoMode = new VideoMode(0, 0); window = new RenderWindow(videoMode, "Test"); explosionFactory = new ExplosionFactory(); }
public Level1(IPlayer player) { backgroundTexture = new Texture(Resources.LevelBG); background = new Sprite(backgroundTexture) { Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY) }; this.player = player; mousePointer = new MousePointer(); enemyFactory = new EnemyFactory(); enemies = new List <IEnemy>(); enemyBullets = new List <Bullet>(); explosionFactory = new ExplosionFactory(); explosions = new List <Explosion>(); levelClock = new Clock(); digitalClockFont = new Font(Resources.FontDigitalClock); digitalClock = new Text("", digitalClockFont, 30) { Position = new Vector2f(WindowProperties.WindowWidth * 30 / 32, WindowProperties.WindowHeight * 30 / 32), Color = new Color(Color.White) }; backgroundMusic = new Music(Resources.LevelBGMusic) { Loop = true }; backgroundMusic.Play(); }
public void Explode() { //var lol = _controller.GetPosition(); ExplosionFactory.Create(_controller.GetPosition(), _explosionInfo); //StopCoroutine(ExpireCheckCoroutineHandler); Destroy(this.gameObject); }
void Start() { if (mInstance == null) { mInstance = this; // Create the explosions, initialise the active and available lists, put all enemies in the available list mActive = new List <GameObject>(); mInactive = new List <GameObject>(); mPool = new GameObject[EnemyPoolSize]; for (int count = 0; count < mPool.Length; count++) { GameObject explosion = new GameObject("Explosion_PoolID" + (count + 1)); Animator anim = explosion.AddComponent <Animator>(); anim.runtimeAnimatorController = EnemyExplosionAnim; explosion.AddComponent <SpriteRenderer>(); explosion.transform.localScale = new Vector3(20, 20, 1); explosion.transform.parent = transform; mPool[count] = explosion; mInactive.Add(explosion); explosion.SetActive(false); } } else { Debug.LogError("Only one ExplosionFactory allowed - destorying duplicate"); Destroy(this.gameObject); } }
} // private constructor // static instance public static ExplosionFactory GetInstance() { if (_instance == null) { _instance = new ExplosionFactory(); return(_instance); } return(_instance); }
public void Explode() { //Spinner explodes, creating an explosion and getting destroyed Explosion explosion = ExplosionFactory.CreateNew(); explosion.Position = this.Position; DropAsterices(); this.Destroy(); }
private Explosion PlayExplosion() { float ExplosionDistanceX = this.BoatSpriteInstance.Width / 2; float ExplosionDistanceY = this.BoatSpriteInstance.Height / 2; float SpriteX, SpriteY; SpriteX = FlatRedBallServices.Random.Between(X - ExplosionDistanceX, X + ExplosionDistanceX); SpriteY = FlatRedBallServices.Random.Between(Y - ExplosionDistanceY, Y + ExplosionDistanceY); return(ExplosionFactory.CreateNew(SpriteX, SpriteY)); }
public ShipStateDead( Settings settings, Ship ship, Signals.ShipCrashed shipCrashed, ExplosionFactory explosionFactory, BrokenShipFactory brokenShipFactory) { _brokenShipFactory = brokenShipFactory; _explosionFactory = explosionFactory; _settings = settings; _shipCrashed = shipCrashed; _ship = ship; }
public ShipStateDead( Settings settings, Ship ship, GameEvents gameEvents, ExplosionFactory explosionFactory, BrokenShipFactory brokenShipFactory) { _brokenShipFactory = brokenShipFactory; _explosionFactory = explosionFactory; _settings = settings; _gameEvents = gameEvents; _ship = ship; }
public HookStateDead(HookCrashedSignal hookCrashedSignal, ExplosionFactory explosionFactory, BrokenHookFactory brokenHookFactory, Settings settings, Hook hook) { _hookCrashedSignal = hookCrashedSignal; _explosionFactory = explosionFactory; _brokenHookFactory = brokenHookFactory; _settings = settings; _hook = hook; }
public ShipStateDead( Settings settings, Ship ship, ExplosionFactory explosionFactory, BrokenShipFactory brokenShipFactory, SignalBus signalBus) { _signalBus = signalBus; _brokenShipFactory = brokenShipFactory; _explosionFactory = explosionFactory; _settings = settings; _ship = ship; }
private void BuildExplosionPool() { // build the pool for (int i = 0; i < explosionNumber; i++) { var newExplosion = ExplosionFactory.GetInstance().createRandomExplosion(); // set the parent to the explosion container newExplosion.transform.parent = explosionContainer.transform; explosions.Enqueue(newExplosion); } }
public ShipStateDead( Settings settings, Ship ship, ExplosionFactory explosionFactory, BrokenShipFactory brokenShipFactory, ShipCrashedSignal shipCrashedSignal) { _shipCrashedSignal = shipCrashedSignal; _brokenShipFactory = brokenShipFactory; _explosionFactory = explosionFactory; _settings = settings; _ship = ship; }
public void DestroyEnemy(GameObject enemy) { if (DifficultyCurve.Levels[UserData.CurrentLevel].Length != 1) { SpawnPowerUp(enemy.transform.position); } else // If the enemy is a boss, then spawn pickup with a worth equal to the # of the level (i.e : Boss 3 drops is worth 9 powerups) { PowerUpFactory.Dispatch(enemy.transform.position); } UserData.IncreaseLevelPoints(enemy.GetComponent <EnemyBehaviour>().GetPointsValue()); ExplosionFactory.Dispatch(enemy.transform.position); EnemyFactory.Return(enemy); mActiveEnemies.Remove(enemy); mActiveEnemies.TrimExcess(); }
void Awake() { // 挂载各种控制组件 director = Director.getInstance(); director.currentSceneController = this; actionManager = gameObject.AddComponent <FirstSceneActionManager>(); UFOfactory = gameObject.AddComponent <UFOFactory>(); explosionFactory = gameObject.AddComponent <ExplosionFactory>(); scorer = Scorer.getInstance(); difficultyManager = DifficultyManager.getInstance(); loadResources(); }
public Level2(IPlayer player) { backgroundTexture = new Texture(Resources.LevelBG); background = new Sprite(backgroundTexture) { Scale = new Vector2f(WindowProperties.ScaleX, WindowProperties.ScaleY) }; this.player = player; mousePointer = new MousePointer(); enemyFactory = new EnemyFactory(); enemies = new List <IEnemy>(); explosionFactory = new ExplosionFactory(); explosions = new List <Explosion>(); levelClock = new Clock(); backgroundMusic = new Music(Resources.LevelBGMusic) { Loop = true }; backgroundMusic.Play(); }
internal State Play(GameDatabase db, State gameState, Boss boss, bool bossHasInstance, StatsManager statsManager, GameTime gameTime, Random random) { State state = gameState; if (db.Players.GetAll().Any(s => s.Score >= 10000)) { state = this.EnableBossMode(boss, bossHasInstance, db, gameState, gameTime); } else { for (int i = 0; i < db.Enemies.GetCount(); i++) { BulletsFactory.EnemyShoot(db.Bullets, db.Enemies.GetAll()[i]); } //Creating entities EnemyFactory.CreateEnemies(db.Enemies, random); AsteroidFactory.CreateAsteroids(db.Asteroids, random); ItemFactory.CreateItems(db.Items, db.Enemies.GetAll().Cast <IGameObject>().ToList(), random); ItemFactory.CreateItems(db.Items, db.Asteroids.GetAll().Cast <IGameObject>().ToList(), random); // Handle collisions between players and enemy objects CollisionHandler.CheckForCollision(db.Asteroids.GetAll().Cast <IGameObject>().ToList(), db.Players.GetAll(), db.Explosions.GetAll()); CollisionHandler.CheckForCollision(db.Enemies.GetAll().Cast <IGameObject>().ToList(), db.Players.GetAll(), db.Explosions.GetAll()); // Handle collisions between players and enemy items CollisionHandler.CheckPlayerItemCollisions(db.Items.GetAll(), db.Players.GetAll()); ExplosionFactory.CreateExplosion(db.Explosions, db.Enemies.GetAll().Cast <IGameObject>().ToList()); ExplosionFactory.CreateExplosion(db.Explosions, db.Asteroids.GetAll().Cast <IGameObject>().ToList()); //Updating entities db.Enemies.GetAll().ForEach(e => e.Update(gameTime)); db.Asteroids.GetAll().ForEach(a => a.Update(gameTime)); db.Items.GetAll().ForEach(i => i.Update(gameTime)); // Cleaning with mr.Proper EntityCleanerHandler.ClearEnemies(db.Enemies); EntityCleanerHandler.ClearAsteroids(db.Asteroids); EntityCleanerHandler.ClearExplosion(db.Explosions); EntityCleanerHandler.ClearPlayers(db.Players); } //Update db.Bullets.GetAll().ForEach(b => b.Update(gameTime)); db.Explosions.GetAll().ForEach(e => e.Update(gameTime)); statsManager.UpdatePlayersStats(db.Players.GetAll()); //Handle collisions between bullets and gameobjects CollisionHandler.CheckPlayerBulletsCollisions(db.Enemies.GetAll().Cast <IGameObject>().ToList(), db.Bullets.GetAll(), db.Players.GetAll(), db.Explosions.GetAll()); CollisionHandler.CheckPlayerBulletsCollisions(db.Asteroids.GetAll().Cast <IGameObject>().ToList(), db.Bullets.GetAll(), db.Players.GetAll(), db.Explosions.GetAll()); CollisionHandler.CheckEnemiesBulletsCollisions(db.Bullets.GetAll(), db.Players.GetAll()); EntityCleanerHandler.ClearBullets(db.Bullets); return(state); }