private void collisionWithBomber(BomberEntity bomber) { BomberRenderer renderer = bomber.RendererObj as BomberRenderer; BomberLogical logical = bomber.LogicalObj as BomberLogical; ItemRenderer obsRenderer = (this.RendererObj as ItemRenderer); ItemLogical obsLogical = (this.LogicalObj as ItemLogical); if (((Math.Abs(renderer.Position.X - obsRenderer.Position.X) <= 30 && (renderer.direction == Shared.Constants.DIRECTION_UP || renderer.direction == Shared.Constants.DIRECTION_DOWN)) || (Math.Abs(renderer.Position.Y - obsRenderer.Position.Y) <= 30 && (renderer.direction == Shared.Constants.DIRECTION_LEFT || renderer.direction == Shared.Constants.DIRECTION_RIGHT)))) { itemType.affect(bomber); this.isDead = true; // Play sound pick up item Global.PlaySoundEffect(Shared.Resources.Sound_Pick_Item); Global.Counter_Scores += 50; } }
public void onInit(String mapPath) { this.Name = Shared.Macros.S_BASIC; Components.Add(Grid.Grid.getInst()); MapReader.MapReader reader = new MapReader.MapReader(mapPath); reader.onInit(resourceManager); List<IGameEntity> entities = reader.Read(); if (entities != null) { for (int i = 0; i < entities.Count; ++i) { entities[i].onInit(); GameManager.Add(entities[i]); } } spr = (Sprite)resourceManager.GetResource<ISprite>(Shared.Resources.sand_green_road); backgroundLine = (Texture2D)resourceManager.GetResource<Texture2D>(Shared.Resources.BackgroundGame); // Create game info infoFont = (SpriteFont)resourceManager.GetResource<SpriteFont>(Shared.Resources.Time_Font); numberBomber = new Vector2(26f, 0f); numberEnemy = new Vector2(756f, 0f); clock = new Vector2(183f, -1f); scores = new Vector2(400f, -1f); gold = new Vector2(596f, -1f); // Create bomber BomberEntity bomberEntity = new BomberEntity(this.Game); bomberEntity.onInit(); bomberEntity.RendererObj.Position = new Vector2(Global.Bomber_Start_Position_X, Global.Bomber_Start_Position_Y); GameManager.Add(bomberEntity); InputLayer.Add(bomberEntity); Global.Counter_Bomber++; // Set target bomber for enemy for (int i = 0; i < entities.Count; ++i) { if (entities[i] is ChasingEnemyEntity) { (entities[i] as ChasingEnemyEntity).Target = bomberEntity; } } entities.Clear(); Components.Add(InputLayer); s_background = resourceManager.GetResource<SCSEngine.Audio.Sound>(Global.RandomBackgroundSong()); services.AudioManager.PlaySound(s_background, true, Global.isMusicOff, Global.isMusicZuneOff); s_background.IsLooped = true; Global.Counter_Time = 0; }
private void collisionWithBomber(BomberEntity bomber) { if (!bomberEntities.ContainsKey(bomber)) { bomberEntities.Add(bomber, false); } }
private void collisionWithBomber(BomberEntity bomber) { if ((this.RendererObj as BomberRenderer).Stage is WrapBombStage) { if ((bomber.LogicalObj as BomberLogical).Team == (this.LogicalObj as BomberLogical).Team) { (this.RendererObj as BomberRenderer).onStageChange(IdleStage.getInstance()); (this.RendererObj as BomberRenderer).TimeToDie = 0; } else { this.isDead = true; } } }
public bool IsBomberCollide(BomberEntity bomber) { if (bomberEntities.ContainsKey(bomber)) { return bomberEntities[bomber]; } return false; }