public void KillPlayer(GameTime gameTime) { MustUpdate(gameTime); if (!deathTimer.HitMax()) { chopperBase.scale -= ((float)gameTime.ElapsedGameTime.TotalSeconds / 3 / deathTimer.MaxSecond); chopperBase.Rotation += 2.25f / 60.0f; chopperBase.Update(gameTime); deathTimer.Update(gameTime); Vector2 generated = new Vector2(r.Next(101) - 50, r.Next(101) - 50); effects.Add(EffectsList.GetEffect(EffectType.Smoke, new Vector2(chopperBase.Center.X + generated.X, chopperBase.Center.Y - generated.Y))); } else { Vector2 generated = new Vector2(r.Next(25) - 12, r.Next(25) - 12); effects.Add(EffectsList.GetEffect(EffectType.Smoke, new Vector2(chopperBase.Center.X + generated.X, chopperBase.Center.Y - generated.Y))); if (!triggeredExplosion) { effects.Add(EffectsList.GetEffect(0, chopperBase.Center)); triggeredExplosion = true; } } if (onLand) { deathTimer.GoToEnd(); } }
public NWLayer(NWGameSpace space, int layerID) : base(0, 0) { fSpace = space; fEntry = (LayerEntry)GlobalVars.nwrDB.GetEntry(layerID); fW = fEntry.W; fH = fEntry.H; Resize(fW * StaticData.FieldWidth, fH * StaticData.FieldHeight); EntryID = layerID; fFields = new NWField[fH, fW]; for (int y = 0; y < fH; y++) { for (int x = 0; x < fW; x++) { fFields[y, x] = new NWField(space, this, new ExtPoint(x, y)); } } fEffects = new EffectsList(this, true); }
public void UpdateEnemyExplosionBullets(GameTime gameTime) { //level.Update(gameTime, player.PlayerSprite); List <Bullet> tmp = level.GetExplosiveBulletsAndClear(); for (int i = 0; i < tmp.Count; i++) { explosiveBullets.Add(tmp[i]); } for (int i = 0; i < explosiveBullets.Count; i++) { Bullet currentBullet = explosiveBullets[i]; currentBullet.Update(gameTime); if (currentBullet.IsDead()) { explosiveBullets.RemoveAt(i); i--; effects.Add(EffectsList.GetEffect(0, currentBullet.Center)); } else if (currentBullet.PossibleHit(player.PlayerSprite)) { player.GotHit(currentBullet); effects.Add(EffectsList.GetEffect(0, currentBullet.Center)); explosiveBullets.RemoveAt(i); i--; } } }
public NWField(NWGameSpace space, NWLayer layer, ExtPoint coords) : base(StaticData.FieldWidth, StaticData.FieldHeight) { fSpace = space; fLayer = layer; fCoords = coords; fCreatures = new CreaturesList(this, true); fItems = new ItemsList(this, true); fEffects = new EffectsList(this, true); fEmitters = new EmitterList(); ValidCreatures = new List <int>(); if (Layer != null) { LayerEntry layerEntry = (LayerEntry)GlobalVars.nwrDB.GetEntry(Layer.EntryID); fEntry = layerEntry.GetFieldEntry(fCoords.X, fCoords.Y); EntryID = fEntry.GUID; fLandEntry = (LandEntry)GlobalVars.nwrDB.FindEntryBySign(fEntry.LandSign); LandID = fLandEntry.GUID; PrepareCreatures(); } else { fEntry = null; EntryID = -1; fLandEntry = null; LandID = -1; } }
public void Play() { EffectsList.Sort(delegate(UIEffect leftEffect, UIEffect rightEffect) { return(leftEffect.order - rightEffect.order); }); StartCoroutine(StepShowEffect()); _isPlaying = true; }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { UI.LoadContent(Content, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight); UIClass.LoadContent(Content); UpgradeSystem.LoadContent(Content, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight); WeaponList.LoadContent(Content); ChopperList.LoadContent(Content); EffectsList.LoadContent(Content); EnemyMaker.LoadContent(Content); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); Level level = new Level(500, 500); Player player = new Player(ChopperList.GetChopper(ChopperType.Training), new Vector2(500, 2000)); //Player player = new Player(ChopperList.GetChopper(0), new Vector2(0, 0)); hud = new Hud(Content.Load <SpriteFont>("hudFont")); camera = new Camera(); //camera.Position = player.PlayerSpriteCenter; camera.Position = player.PlayerCenter; gameManager = new GameManager(level, player); List <Sprite> listOfEnemies = new List <Sprite>(); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.MGun, new Vector2(0, 0), 0, 0)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.MGun, new Vector2(0, 700), 0, 0)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.MGun, new Vector2(700, 700), 0, 0)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.MGun, new Vector2(700, 0), 0, 0)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.Rocket, new Vector2(350, 350), 0, 0)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.RocketHoming, new Vector2(800, 800), 0, 0)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.ShotGun, new Vector2(500, 500), 3, 1)); listOfEnemies.Add(EnemyMaker.GetTurret(TurretType.ShotGun, new Vector2(250, 450), 5, 0.5f)); level.AddEntity(listOfEnemies, true, true, true); listOfEnemies.Clear(); listOfEnemies.Add(new Building(Content.Load <Texture2D>("building"), new Vector2(1000, 1000))); List <Helipad> listOfHelipads = new List <Helipad>(); listOfHelipads.Add(new Helipad(Content.Load <Texture2D>("Allies\\helipad"), new Vector2(500, 2000))); level.AddLandingPad(listOfHelipads); level.AddEntity(listOfEnemies, true, true, false); missionScreen = new MissionScreen(1, "GameTest", "Yarrr mission is to blow up\nevery turret. Then return\nto the base\n\nWASD - Move \nLeft\\Right arrow - rotate\nSpace - fire \nX and L - land\\lift \nU - upgrade (on helipad)\nP- developer stats\n+ and - - zoom ", graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight, Color.SaddleBrown); GameData.menuState = MenuState.MissionMenu; // TODO: use this.Content to load your game content here }
protected override void Dispose(bool disposing) { if (disposing) { fEffects.Dispose(); fEffects = null; for (int y = 0; y < fH; y++) { for (int x = 0; x < fW; x++) { fFields[y, x].Dispose(); } } fFields = null; } base.Dispose(disposing); }
public void UpdateFriendlyExplosiveBullets(GameTime gameTime) { List <Bullet> tmp = player.GetExplosiveBullets(); for (int i = 0; i < tmp.Count; i++) { friendlyExplosiveBullets.Add(tmp[i]); } for (int i = 0; i < friendlyExplosiveBullets.Count; i++) { Bullet currentBullet = friendlyExplosiveBullets[i]; currentBullet.Update(gameTime); if (currentBullet.IsDead()) { friendlyExplosiveBullets.RemoveAt(i); i--; effects.Add(EffectsList.GetEffect(0, currentBullet.Center)); } else { for (int j = 0; j < level.TurretEnemies.Count; j++) { if (currentBullet.PossibleHit(level.TurretEnemies[j])) { level.TurretEnemies[j].GotHit(currentBullet); friendlyExplosiveBullets.RemoveAt(i); effects.Add(EffectsList.GetEffect(0, currentBullet.Center)); currentBullet.kill(); i--; j = level.TurretEnemies.Count; } //if (level.TurretEnemies[j].InRadius(currentBullet)) } } } //player.EmptyBullets(); }
public void MustUpdate(GameTime gameTime) { healthSystem.Update(gameTime); if (healthSystem.Danger()) { /*This can be used when you are falling down * Vector2 generated = new Vector2(r.Next(101)-50, r.Next(101)-50); * effects.Add(EffectsList.GetEffect(1, new Vector2(chopperBase.Center.X+ generated.X,chopperBase.Center.Y- generated.Y)));*/ Vector2 generated = new Vector2(r.Next(25) - 12, r.Next(25) - 12); effects.Add(EffectsList.GetEffect(EffectType.Smoke, new Vector2(chopperBase.Center.X + generated.X, chopperBase.Center.Y - generated.Y))); } for (int i = 0; i < effects.Count; i++) { effects[i].Update(gameTime); if (effects[i].finished()) { effects.RemoveAt(i); i--; } } }
// Add a new randomly generated skillGem public void AddSkillGem() { int randomNum = UnityEngine.Random.Range(1, MAX_GEMTYPE_COUNT); // Since skillGem category is based on range of ints, check which gem should be created whether // randomNum is less than or equal to the category num int randomTier = UnityEngine.Random.Range(0, 100); Tier tier = Tier.common; if (randomTier <= 5) { tier = Tier.legendary; } else if (randomTier <= 25) { tier = Tier.unique; } else if (randomTier <= 60) { tier = Tier.rare; } SkillGemType gemType = (SkillGemType)Enum.ToObject(typeof(SkillGemType), randomNum); string gemName = ((SkillGemType)randomNum).ToString(); Debug.Log("Generating " + tier + " " + gemName); if (randomNum <= (int)SkillGemCategory.elementGem) { // Grab random castEffect and hitEffect EffectsList effectsList = GetEffectsList(tier); EffectGraphic effect = effectsList.RandomEffect; string castEffect = "", hitEffect = ""; castEffect = effect.cast.name; hitEffect = effect.hit.name; ElementGem gem = new ElementGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, effect.castOffset, castEffect, hitEffect); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.damageEffect) { float min = UnityEngine.Random.Range(1, 100); float max = min + UnityEngine.Random.Range(3, 50); EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new Damage(min, max, 1, false)); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.healEffect) { EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new Heal(UnityEngine.Random.Range(10, 100), false)); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.buffEffect) { EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new Buff(false, 60, new AttributeStats(), new CharStats(), new CombatStats())); Player.instance.inventory.AddItem(gem, 1); } else if (randomNum <= (int)SkillGemCategory.statusEffect) { EffectGem gem = new EffectGem(gemName, "Random generated skillGem", "", tier, ItemType.skillGem, gemType, new StatusEffect()); Player.instance.inventory.AddItem(gem, 1); } GenerateList(); }