public clsBlockingBank(ContentManager Content, ref clsSpriteBank Sprites) { Blank = new clsBlocking[25]; hVillageblock = new clsBlocking[2]; RockBlock = new clsBlocking[18]; TowerPieces = new clsBlocking[3]; Bacteria = new clsBlocking[15]; WarpPoints = new clsBlocking[9]; Boat = new clsBlocking(Sprites.sprBoat); School = new clsBlocking(Sprites.sprSchool); hVillageblock[0] = new clsBlocking(Sprites.sprBarrier[0]); hVillageblock[1] = new clsBlocking(Sprites.sprBarrier[1]); for (int i = 0; i < RockBlock.Length; i++) { RockBlock[i] = new clsBlocking(Sprites.sprRockBlock[i]); } for (int i = 0; i < 3; i++) { TowerPieces[i] = new clsBlocking(Sprites.sprTowerPiece[i]); } for (int i = 0; i < Blank.Length; i++) { Blank[i] = new clsBlocking(Sprites.sprBlocked[i]); } for (int i = 0; i < Bacteria.Length; i++) { Bacteria[i] = new clsBlocking(Sprites.sprBacteria[i]); } for (int i = 0; i < WarpPoints.Length; i++) { WarpPoints[i] = new clsBlocking(Sprites.sprTownMarker[i]); } }
public bool Collisions(ref clsPlayer Player, ref clsHUDBank HUD, int Map, ref clsBlocking Collider, ref clsChatBoxBank TextMenus, ref clsBackground Background) { HideAll(); SetMap(Map); for (int i = 0; i < 2; i++) { if (hVillageblock[i].Collide(Player)) { if (hVillageblock[i].Visible) { Collider = hVillageblock[i]; return true; } } } if (School.Collide(Player)) { if (School.Visible) { Collider = School; return true; } } for (int i = 0; i < 3; i++) { if (TowerPieces[i].Collide(Player)) { if (TowerPieces[i].Visible) { TowerPieces[i].MakeHidden(); Player.AddCollectable(); Collider = TowerPieces[i]; return true; } } } for (int i = 0; i < Blank.Length; i++) { if (Blank[i].Collide(Player)) { if (Blank[i].Visible) { Collider = Blank[i]; return true; } } } for (int i = 0; i < RockBlock.Length; i++) { if (RockBlock[i].Collide(Player)) { if (RockBlock[i].Visible) { Collider = RockBlock[i]; return true; } } } for (int i = 0; i < Bacteria.Length; i++) { if (Bacteria[i].Visible) { if (Bacteria[i].Collide(Player)) { Collider = Bacteria[i]; Player.AddCollectable(); Player.ManipulateScore(10); Bacteria[i].MakeHidden(); if (Bacteria[0].OverWriteVisible && Bacteria[1].OverWriteVisible && Bacteria[2].OverWriteVisible && Bacteria[3].OverWriteVisible && Bacteria[4].OverWriteVisible && Bacteria[5].OverWriteVisible && Bacteria[6].OverWriteVisible && Bacteria[7].OverWriteVisible && Bacteria[8].OverWriteVisible && Bacteria[9].OverWriteVisible && Bacteria[10].OverWriteVisible && Bacteria[11].OverWriteVisible && Bacteria[12].OverWriteVisible && Bacteria[13].OverWriteVisible && Bacteria[14].OverWriteVisible) { Player.EndQuests(); TextMenus.Collectables.Closed(); Background.SetMap(23); Player.Sprite.position = new Vector2(200, 290); HUD.DataBank.SetText(17, "To Be Continued"); TextMenus.RadioMessage.SetText("You have completed the\ngame! Check the databank to\ngo over what you have\nlearned."); TextMenus.RadioMessage.ShowIndicator(); } return true; } } } for (int i = 0; i < 6; i++) { if (WarpPoints[i].Visible) { if (WarpPoints[i].Collide(Player)) { HUD.AreYouSure[i + 2].Show(); return true; } } } if (WarpPoints[6].Visible) { if (WarpPoints[6].Collide(Player)) { if (Player.GetScore() >= 580) { HUD.AreYouSure[8].Show(); } else { TextMenus.RadioMessage.SetText("You need 580 resources to\nclean the well water."); TextMenus.RadioMessage.ShowIndicator(); } return true; } } if (WarpPoints[7].Visible) { if (WarpPoints[7].Collide(Player)) { if (Player.GetScore() >= 190) { HUD.AreYouSure[9].Show(); } else { TextMenus.RadioMessage.SetText("You need 190 resources to\nteach the children. Try talking\nwith local people."); TextMenus.RadioMessage.ShowIndicator(); } return true; } } if (WarpPoints[8].Visible) { if (WarpPoints[8].Collide(Player)) { if (Player.GetScore() >= 360) { HUD.AreYouSure[10].Show(); } else { TextMenus.RadioMessage.SetText("You need 360 resources to\n teach these people. Sorry."); TextMenus.RadioMessage.ShowIndicator(); } return true; } } for (int i = 9; i < WarpPoints.Length; i++) { if (WarpPoints[i].Visible) { if (WarpPoints[i].Collide(Player)) { HUD.AreYouSure[i + 2].Show(); return true; } } } if (Boat.Visible) { if (Boat.Collide(Player)) { return true; } } return false; }