public void OpenScreen(UiScreenType newScreenType) { ScreenType = newScreenType; HudScreen.SetActive(newScreenType == UiScreenType.Hud); OptionsScreen.SetActive(newScreenType == UiScreenType.Options); OnScreenChanged?.Invoke(ScreenType); }
public MainMenuScreen(OnScreenChanged screenChanged) : base(screenChanged) { UserInterfaceLoader uiLoader = UserInterfaceLoader.GetInstance(); TileLoader tileLoader = TileLoader.GetInstance(); tileBrick1Sprite = tileLoader.Get("brick1"); titleSprite = uiLoader.Get("title"); newGameSprite = uiLoader.Get("newGame"); loadGameSprite = uiLoader.Get("loadGame"); sandboxSprite = uiLoader.Get("sandbox"); adventureSprite = uiLoader.Get("adventure"); title = new StaticEntity("Title Card", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.TILE_SIZE * 2), titleSprite); newGameButton = new StaticEntity("New Game Button", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.TILE_SIZE * 11 / 2), newGameSprite); loadGameButton = new StaticEntity("Load Game Button", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.TILE_SIZE * 8), loadGameSprite); sandboxButton = new StaticEntity("Sandbox Button", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.TILE_SIZE * 21 / 2), sandboxSprite); adventureButton = new StaticEntity("Achievements Button", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.TILE_SIZE * 13), adventureSprite); for (int i = 0; i < GameConstants.TILES_WIDE; i++) { for (int j = 0; j < GameConstants.TILES_HIGH + 1; j++) //The +1 allows us to cover the action bar { Vector2 tileLocation = new Vector2(i * GameConstants.TILE_SIZE + GameConstants.TILE_SIZE / 2, j * GameConstants.TILE_SIZE + GameConstants.TILE_SIZE / 2); GridEntity newTile = new GridEntity("Tile", i, j, 0, tileLocation, GameConstants.TILE_SIZE, tileBrick1Sprite); menuBackground.Add(newTile); } } }
public GameOverScreen(OnScreenChanged screenChanged) : base(screenChanged) { FontLoader fontLoader = FontLoader.GetInstance(); UserInterfaceLoader uiLoader = UserInterfaceLoader.GetInstance(); font20 = fontLoader.Get("font"); playButtonSprite = uiLoader.Get("continue"); gameOverButton = new StaticEntity("BackToMainMenu", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.WINDOW_HEIGHT / 2), playButtonSprite); }
public void Debug() { //Console.Clear(); Console.Write(Emulator.GetScreen()); var screen = Emulator.GetScreen(); OnScreenChanged?.Invoke(screen); System.Diagnostics.Debug.Flush(); System.Diagnostics.Debug.Print(screen); // _logger.Log(LogLevel.Trace, screen); }
public LoadGameScreen(OnScreenChanged screenChanged) : base(screenChanged) { UserInterfaceLoader uiLoader = UserInterfaceLoader.GetInstance(); FontLoader fontLoader = FontLoader.GetInstance(); var TileSize = GameConstants.TILE_SIZE; fileSelected = -1; Texture2D blankButtonSprite = uiLoader.Get("select"); Texture2D confirmButtonSprite = uiLoader.Get("confirm"); Texture2D backButtonSprite = uiLoader.Get("back"); backButton = new StaticEntity("Back Button", new Vector2(TileSize * 2, GameConstants.WINDOW_HEIGHT - TileSize), backButtonSprite); fileButtons = new List <StaticEntity>(); levelData = new List <String>(); weapon1ItemBoxes = new List <ItemBox>(); weapon2ItemBoxes = new List <ItemBox>(); shield1ItemBoxes = new List <ItemBox>(); charm1ItemBoxes = new List <ItemBox>(); for (int i = 0; i < GameConstants.NUMBER_OF_SAVES; i++) { fileButtons.Add(new StaticEntity("Button " + i.ToString(), new Vector2(TileSize * 2, TileSize * 3 + i * TileSize * 2), blankButtonSprite)); levelData.Add(""); weapon1ItemBoxes.Add(new ItemBox("Weapon1 File " + i.ToString(), new Vector2(TileSize * 7, TileSize * 3 + i * TileSize * 2))); weapon2ItemBoxes.Add(new ItemBox("Weapon2 File " + i.ToString(), new Vector2(TileSize * 8, TileSize * 3 + i * TileSize * 2))); shield1ItemBoxes.Add(new ItemBox("Shield1 File " + i.ToString(), new Vector2(TileSize * 9, TileSize * 3 + i * TileSize * 2))); charm1ItemBoxes.Add(new ItemBox("Charm1 File " + i.ToString(), new Vector2(TileSize * 10, TileSize * 3 + i * TileSize * 2))); } confirmButton = new StaticEntity("Confirm Button", new Vector2(TileSize * 5, GameConstants.WINDOW_HEIGHT - TileSize), confirmButtonSprite); font = fontLoader.Get("font"); font20 = fontLoader.Get("font20"); actionBarBackground = uiLoader.Get("blankBackground"); background = new StaticEntity("Background", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.WINDOW_HEIGHT / 2), actionBarBackground); for (int i = 0; i < GameConstants.NUMBER_OF_SAVES; i++) { CheckGameData(i, levelData, weapon1ItemBoxes, weapon2ItemBoxes, shield1ItemBoxes, charm1ItemBoxes); } }
void ConfigurationChanged(object sender, EventArgs e) { if (IsDuo) { _helper?.Update(); } bool screenChanged = false; if (_isLandscape != IsLandscape) { _isLandscape = IsLandscape; screenChanged = true; } if (_mainActivity != null) { using (DisplayMetrics display = _mainActivity.Resources.DisplayMetrics) { var scalingFactor = display.Density; _pixelScreenSize = new Size(display.WidthPixels, display.HeightPixels); var newSize = new Size(_pixelScreenSize.Width / scalingFactor, _pixelScreenSize.Height / scalingFactor); if (newSize != ScaledScreenSize) { ScaledScreenSize = newSize; screenChanged = true; } } } if (screenChanged) { OnScreenChanged?.Invoke(this, e); } }
void OnContainerElementLayoutUpdated(object sender, object e) { OnScreenChanged?.Invoke(this, EventArgs.Empty); }
void OnCurrentSizeChanged(object sender, global::Windows.UI.Core.WindowSizeChangedEventArgs e) { OnScreenChanged?.Invoke(this, EventArgs.Empty); }
public TradeScreen(OnScreenChanged screenChanged, TradeScreenContents tradeContents) : base(screenChanged) { UserInterfaceLoader uiLoader = UserInterfaceLoader.GetInstance(); FontLoader fontLoader = FontLoader.GetInstance(); CreatureLoader creatureLoader = CreatureLoader.GetInstance(); TradeContents = tradeContents; saveGameOverrideEnabled = false; tradeItemBoxes = new List <ItemBox>(); tradeItemBoxBackgrounds = new List <StaticEntity>(); level = tradeContents.Level; Health = tradeContents.Health; oldHealth = Health; weapon1 = tradeContents.Weapon1; weapon2 = tradeContents.Weapon2; shield1 = tradeContents.Shield1; charm1 = tradeContents.Charm1; oldWeapon1 = weapon1; oldWeapon2 = weapon2; oldShield1 = shield1; oldCharm1 = charm1; actionBarBackground = uiLoader.Get("blankBackground"); background = new StaticEntity("Background", new Vector2(GameConstants.WINDOW_WIDTH / 2, GameConstants.WINDOW_HEIGHT / 2), actionBarBackground); playButton = new StaticEntity("Play Button", new Vector2(GameConstants.WINDOW_WIDTH - GameConstants.TILE_SIZE * 5 / 2, GameConstants.WINDOW_HEIGHT - GameConstants.TILE_SIZE), uiLoader.Get("continue")); //TODO: Remove font = fontLoader.Get("font"); healthBarSprite = creatureLoader.Get("healthBar1"); playerTradeMenuHealth = new HealthBar("Trade Menu Health", new Vector2(GameConstants.TILE_SIZE, GameConstants.WINDOW_HEIGHT - (GameConstants.TILE_SIZE * 3 + 15)), healthBarSprite); Vector2 firstBoxLocation = new Vector2(GameConstants.TILE_SIZE / 2 + GameConstants.TILE_SIZE * 1, GameConstants.TILE_SIZE * 3); Vector2 secondBoxLocation = new Vector2(GameConstants.TILE_SIZE / 2 + GameConstants.TILE_SIZE * 3, GameConstants.TILE_SIZE * 3); Vector2 thirdBoxLocation = new Vector2(GameConstants.TILE_SIZE / 2 + GameConstants.TILE_SIZE * 5, GameConstants.TILE_SIZE * 3); Vector2 fourthBoxLocation = new Vector2(GameConstants.TILE_SIZE / 2 + GameConstants.TILE_SIZE * 7, GameConstants.TILE_SIZE * 3); Vector2 fifthBoxLocation = new Vector2(GameConstants.TILE_SIZE / 2 + GameConstants.TILE_SIZE * 9, GameConstants.TILE_SIZE * 3); equippedItemBoxBackgrounds = new List <StaticEntity>(); equippedItemBoxes = new List <ItemBox>(); int equipBoxX = (int)(GameConstants.TILE_SIZE * 1.5); int equipBoxY = (int)(GameConstants.WINDOW_HEIGHT - GameConstants.TILE_SIZE * 2.5); Vector2 box1Location = new Vector2(equipBoxX, equipBoxY); equippedItemBoxes.Add(new ItemBox("Weapon1", box1Location, weapon1.Sprite, weapon1)); equippedItemBoxBackgrounds.Add(new StaticEntity("Weapon1", box1Location, actionBarBackground)); Vector2 box2Location = new Vector2(equipBoxX + GameConstants.TILE_SIZE * 1, equipBoxY); equippedItemBoxes.Add(new ItemBox("Weapon2", box2Location, weapon2.Sprite, weapon2)); equippedItemBoxBackgrounds.Add(new StaticEntity("Weapon2", box2Location, actionBarBackground)); Vector2 box3Location = new Vector2(equipBoxX + GameConstants.TILE_SIZE * 2, equipBoxY); equippedItemBoxes.Add(new ItemBox("Shield1", box3Location, shield1.Sprite, shield1)); equippedItemBoxBackgrounds.Add(new StaticEntity("Shield1", box3Location, actionBarBackground)); Vector2 box4Location = new Vector2(equipBoxX + GameConstants.TILE_SIZE * 3, equipBoxY); equippedItemBoxes.Add(new ItemBox("Charm1", box4Location, charm1.Sprite, charm1)); equippedItemBoxBackgrounds.Add(new StaticEntity("Charm1", box4Location, actionBarBackground)); //TODO: Rewrite once items inheritance is sorted out List <Item> items = new List <Item>(); items.Add(tradeContents.Item1); items.Add(tradeContents.Item2); items.Add(tradeContents.Item3); for (int i = 0; i < items.Count; i++) { Item item = items.ElementAt(i); Vector2 location; switch (i) { //Default case or there will be warnings default: location = firstBoxLocation; break; case 1: location = secondBoxLocation; break; case 2: location = thirdBoxLocation; break; } //TODO: Fix this spaghetti //The constructor of ItemBox is misused, don't but actionBarBackground as the sprite. if (item is Weapon) { tradeItemBoxes.Add(new ItemBox("item", location, ((Weapon)item).Sprite, (Weapon)item)); } else if (item is Shield) { tradeItemBoxes.Add(new ItemBox("item", location, ((Shield)item).Sprite, (Shield)item)); } else if (item is Charm) { tradeItemBoxes.Add(new ItemBox("item", location, ((Charm)item).Sprite, (Charm)item)); } } //tradeItemBoxes.Add(new ItemBox("item1", firstBoxLocation, actionBarBackground, tradeContents.Item1)); //tradeItemBoxes.Add(new ItemBox("item2", secondBoxLocation, actionBarBackground, tradeContents.Item2)); //tradeItemBoxes.Add(new ItemBox("item3", thirdBoxLocation, actionBarBackground, tradeContents.Item3)); healingButton = new StaticEntity("Healing", fourthBoxLocation, uiLoader.Get("potions")); resetButton = new StaticEntity("Reset Button", fifthBoxLocation, uiLoader.Get("reset")); saveButton = new StaticEntity("Save Button", new Vector2(GameConstants.WINDOW_WIDTH - GameConstants.TILE_SIZE * 3, GameConstants.TILE_SIZE * 2), uiLoader.Get("saveGame")); tradeItemBoxBackgrounds.Add(new StaticEntity("item1Background", firstBoxLocation, actionBarBackground)); tradeItemBoxBackgrounds.Add(new StaticEntity("item2Background", secondBoxLocation, actionBarBackground)); tradeItemBoxBackgrounds.Add(new StaticEntity("item3Background", thirdBoxLocation, actionBarBackground)); tradeItemBoxBackgrounds.Add(new StaticEntity("item4Background", fourthBoxLocation, actionBarBackground)); playerIsHealing = false; }
void OnLayoutChangesCommited(object sender, EventArg <VisualElement> e) { OnScreenChanged?.Invoke(this, EventArgs.Empty); }
public Screen(OnScreenChanged screenChanged) { ScreenChanged = screenChanged; }
public SandboxScreen(OnScreenChanged screenChanged) : base(screenChanged) { UserInterfaceLoader uiLoader = UserInterfaceLoader.GetInstance(); FontLoader fontLoader = FontLoader.GetInstance(); actionBarBackground = uiLoader.Get("blankBackground"); font = fontLoader.Get("font"); background = new StaticEntity("Background", new Vector2(WindowWidth / 2, WindowHeight / 2), actionBarBackground); itemBoxes = new List <ItemBox>(); itemBoxBackgrounds = new List <StaticEntity>(); equippedItemBoxes = new List <ItemBox>(); equippedItemBoxBackgrounds = new List <StaticEntity>(); Texture2D playButtonSprite = uiLoader.Get("continue"); Texture2D startButtonSprite = uiLoader.Get("start"); Texture2D backButtonSprite = uiLoader.Get("back"); playButton = new StaticEntity("Play Button", new Vector2(WindowWidth - TileSize * 5 / 2, WindowHeight - TileSize), playButtonSprite); startButton = new StaticEntity("Start Button", new Vector2(WindowWidth / 2, WindowHeight / 2), startButtonSprite); backButton = new StaticEntity("Back Button", new Vector2(TileSize * 2, WindowHeight - TileSize), backButtonSprite); weaponFactory = ItemFactoryContainer.Weapons; shieldFactory = ItemFactoryContainer.Shields; charmFactory = ItemFactoryContainer.Charms; weapon1 = weaponFactory.CreateSword(); weapon2 = weaponFactory.CreateBow(); shield1 = shieldFactory.CreateBasicShield(); charm1 = charmFactory.CreateEmptyCharm(); #region Weapon Item Boxes int weaponBoxY = (int)(TileSize * 1.5); int weaponBoxX = (int)(TileSize * 1.5); Weapon sword = weaponFactory.CreateSword(); Vector2 itemBoxSwordLocation = new Vector2(weaponBoxX, weaponBoxY); itemBoxes.Add(new ItemBox("Sword", itemBoxSwordLocation, sword.Sprite, sword)); itemBoxBackgrounds.Add(new StaticEntity("SwordBackground", itemBoxSwordLocation, actionBarBackground)); Weapon broadSword = weaponFactory.CreateBroadsword(); Vector2 itemBoxBroadswordLocation = new Vector2(weaponBoxX + TileSize, weaponBoxY); itemBoxes.Add(new ItemBox("Broadsword", itemBoxBroadswordLocation, broadSword.Sprite, broadSword)); itemBoxBackgrounds.Add(new StaticEntity("BroadswordBackground", itemBoxBroadswordLocation, actionBarBackground)); Weapon bow = weaponFactory.CreateBow(); Vector2 itemBoxBowLocation = new Vector2(weaponBoxX + TileSize * 2, weaponBoxY); itemBoxes.Add(new ItemBox("Bow", itemBoxBowLocation, bow.Sprite, bow)); itemBoxBackgrounds.Add(new StaticEntity("BowBackground", itemBoxBowLocation, actionBarBackground)); Weapon spear = weaponFactory.CreateSpear(); Vector2 itemBoxSpearLocation = new Vector2(weaponBoxX + TileSize * 3, weaponBoxY); itemBoxes.Add(new ItemBox("Spear", itemBoxSpearLocation, spear.Sprite, spear)); itemBoxBackgrounds.Add(new StaticEntity("SpearBackground", itemBoxSpearLocation, actionBarBackground)); Weapon throwingAxe = weaponFactory.CreateThrowingAxe(); Vector2 itemBoxThrowingaxeLocation = new Vector2(weaponBoxX + TileSize * 4, weaponBoxY); itemBoxes.Add(new ItemBox("ThrowingAxe", itemBoxThrowingaxeLocation, throwingAxe.Sprite, throwingAxe)); itemBoxBackgrounds.Add(new StaticEntity("ThrowingAxeBackground", itemBoxThrowingaxeLocation, actionBarBackground)); Weapon throwingDagger = weaponFactory.CreateThrowingDagger(); Vector2 itemBoxThrowingDaggerLocation = new Vector2(weaponBoxX + TileSize * 5, weaponBoxY); itemBoxes.Add(new ItemBox("Throwing Dagger", itemBoxThrowingDaggerLocation, throwingDagger.Sprite, throwingDagger)); itemBoxBackgrounds.Add(new StaticEntity("ThrowingDaggerBackground", itemBoxThrowingDaggerLocation, actionBarBackground)); Weapon iceBow = weaponFactory.CreateIceBow(); Vector2 itemBoxIcebowLocation = new Vector2(weaponBoxX + TileSize * 6, weaponBoxY); itemBoxes.Add(new ItemBox("Icebow", itemBoxIcebowLocation, iceBow.Sprite, iceBow)); itemBoxBackgrounds.Add(new StaticEntity("IcebowBackground", itemBoxIcebowLocation, actionBarBackground)); Weapon dwarvenAxe = weaponFactory.CreateDwarvenAxe(); Vector2 itemBoxDwarvenAxeLocation = new Vector2(weaponBoxX + TileSize * 7, weaponBoxY); itemBoxes.Add(new ItemBox("DwarvenAxe", itemBoxDwarvenAxeLocation, dwarvenAxe.Sprite, dwarvenAxe)); itemBoxBackgrounds.Add(new StaticEntity("DwarvenAxeBackground", itemBoxDwarvenAxeLocation, actionBarBackground)); Weapon maul = weaponFactory.CreateMaul(); Vector2 itemBoxMaulLocation = new Vector2(weaponBoxX + TileSize * 8, weaponBoxY); itemBoxes.Add(new ItemBox("Maul", itemBoxMaulLocation, maul.Sprite, maul)); itemBoxBackgrounds.Add(new StaticEntity("MaulBackground", itemBoxMaulLocation, actionBarBackground)); Weapon hammer = weaponFactory.CreateHammer(); Vector2 itemBoxHammerLocation = new Vector2(weaponBoxX + TileSize * 9, weaponBoxY); itemBoxes.Add(new ItemBox("Maul", itemBoxHammerLocation, hammer.Sprite, hammer)); itemBoxBackgrounds.Add(new StaticEntity("MaulBackground", itemBoxHammerLocation, actionBarBackground)); Weapon throwingSpear = weaponFactory.CreateThrowingSpear(); Vector2 itemBoxThrowingSpearLocation = new Vector2(weaponBoxX + TileSize * 10, weaponBoxY); itemBoxes.Add(new ItemBox("ThrowingSpear", itemBoxThrowingSpearLocation, throwingSpear.Sprite, throwingSpear)); itemBoxBackgrounds.Add(new StaticEntity("ThrowingSpearBackground", itemBoxThrowingSpearLocation, actionBarBackground)); Weapon jungleSpear = weaponFactory.CreateJungleSpear(); Vector2 itemBoxJungleSpearLocation = new Vector2(weaponBoxX + TileSize * 11, weaponBoxY); itemBoxes.Add(new ItemBox("JungleSpear", itemBoxJungleSpearLocation, jungleSpear.Sprite, jungleSpear)); itemBoxBackgrounds.Add(new StaticEntity("JungleSpearBackground", itemBoxJungleSpearLocation, actionBarBackground)); Weapon fireball = weaponFactory.CreateFireball(); Vector2 itemBoxFireballLocation = new Vector2(weaponBoxX + TileSize * 12, weaponBoxY); itemBoxes.Add(new ItemBox("Fireball", itemBoxFireballLocation, fireball.Sprite, fireball)); itemBoxBackgrounds.Add(new StaticEntity("FireballBackground", itemBoxFireballLocation, actionBarBackground)); Weapon superAxe = weaponFactory.CreateMaverick(); Vector2 itemBoxSuperAxeLocation = new Vector2(weaponBoxX + TileSize * 13, weaponBoxY); itemBoxes.Add(new ItemBox("Superaxe", itemBoxSuperAxeLocation, superAxe.Sprite, superAxe)); itemBoxBackgrounds.Add(new StaticEntity("SuperaxeBackground", itemBoxSuperAxeLocation, actionBarBackground)); Weapon firebolt = weaponFactory.CreateFirebolt(); Vector2 itemBoxFireboltLocation = new Vector2(weaponBoxX + TileSize * 14, weaponBoxY); itemBoxes.Add(new ItemBox("Firebolt", itemBoxFireboltLocation, firebolt.Sprite, firebolt)); itemBoxBackgrounds.Add(new StaticEntity("FireboltBackground", itemBoxFireboltLocation, actionBarBackground)); Weapon firework = weaponFactory.CreateFirework(); Vector2 itemBoxFireworkLocation = new Vector2(weaponBoxX + TileSize * 15, weaponBoxY); itemBoxes.Add(new ItemBox("Firework", itemBoxFireworkLocation, firework.Sprite, firework)); itemBoxBackgrounds.Add(new StaticEntity("FireworkBackground", itemBoxFireworkLocation, actionBarBackground)); Weapon shuriken1 = weaponFactory.CreateBoteng(); Vector2 itemBoxShuriken1Location = new Vector2(weaponBoxX + TileSize * 16, weaponBoxY); itemBoxes.Add(new ItemBox("Shuriken1", itemBoxShuriken1Location, shuriken1.Sprite, shuriken1)); itemBoxBackgrounds.Add(new StaticEntity("Shuriken1Background", itemBoxShuriken1Location, actionBarBackground)); Weapon shuriken2 = weaponFactory.CreateHira(); Vector2 itemBoxShuriken2Location = new Vector2(weaponBoxX + TileSize * 17, weaponBoxY); itemBoxes.Add(new ItemBox("Shuriken2", itemBoxShuriken2Location, shuriken2.Sprite, shuriken2)); itemBoxBackgrounds.Add(new StaticEntity("Shuriken2Background", itemBoxShuriken2Location, actionBarBackground)); Weapon shuriken3 = weaponFactory.CreateTaago(); Vector2 itemBoxShuriken3Location = new Vector2(weaponBoxX + TileSize * 18, weaponBoxY); itemBoxes.Add(new ItemBox("Shuriken3", itemBoxShuriken3Location, shuriken3.Sprite, shuriken3)); itemBoxBackgrounds.Add(new StaticEntity("Shuriken3Background", itemBoxShuriken3Location, actionBarBackground)); Weapon plasmaBolt = weaponFactory.CreatePlasmaBolt(); Vector2 itemBoxPlasmaBoltLocation = new Vector2(weaponBoxX + TileSize * 15, weaponBoxY + TileSize); itemBoxes.Add(new ItemBox("plasmaBolt", itemBoxPlasmaBoltLocation, plasmaBolt.Sprite, plasmaBolt)); itemBoxBackgrounds.Add(new StaticEntity("plasmaBoltBackground", itemBoxPlasmaBoltLocation, actionBarBackground)); Weapon grapple = weaponFactory.CreateGrapple(); Vector2 itemBoxGrappleLocation = new Vector2(weaponBoxX + TileSize * 16, weaponBoxY + TileSize); itemBoxes.Add(new ItemBox("Grapple", itemBoxGrappleLocation, grapple.Sprite, grapple)); itemBoxBackgrounds.Add(new StaticEntity("grappleBackground", itemBoxGrappleLocation, actionBarBackground)); #endregion #region Shield Item Boxes int shieldBoxY = (int)(TileSize * 3.5); int shieldBoxX = (int)(TileSize * 1.5); Shield basicShield = shieldFactory.CreateBasicShield(); Vector2 itemBoxBasicShieldLocation = new Vector2(shieldBoxX, shieldBoxY); itemBoxes.Add(new ItemBox("BasicShield", itemBoxBasicShieldLocation, basicShield.Sprite, basicShield)); itemBoxBackgrounds.Add(new StaticEntity("BasicShieldBackground", itemBoxBasicShieldLocation, actionBarBackground)); Shield speedBoost = shieldFactory.CreateSpeedboost(); Vector2 itemBoxSpeedboostLocation = new Vector2(shieldBoxX + TileSize, shieldBoxY); itemBoxes.Add(new ItemBox("Speedboost", itemBoxSpeedboostLocation, speedBoost.Sprite, speedBoost)); itemBoxBackgrounds.Add(new StaticEntity("BasicShieldBackground", itemBoxSpeedboostLocation, actionBarBackground)); Shield thunderStoneItem = shieldFactory.CreateThunderStone(); Vector2 itemBoxThunderStoneLocation = new Vector2(shieldBoxX + TileSize * 2, shieldBoxY); itemBoxes.Add(new ItemBox("ThunderStone", itemBoxThunderStoneLocation, thunderStoneItem.Sprite, thunderStoneItem)); itemBoxBackgrounds.Add(new StaticEntity("ThunderStoneBackground", itemBoxThunderStoneLocation, actionBarBackground)); Shield towerShield = shieldFactory.CreateTowerShield(); Vector2 itemBoxTowerShieldLocation = new Vector2(shieldBoxX + TileSize * 3, shieldBoxY); itemBoxes.Add(new ItemBox("TowerShield", itemBoxTowerShieldLocation, towerShield.Sprite, towerShield)); itemBoxBackgrounds.Add(new StaticEntity("TowerShieldBackground", itemBoxTowerShieldLocation, actionBarBackground)); Shield elvenTrinketItem = shieldFactory.CreateElvenTrinket(); Vector2 itemBoxElvenTrinketLocation = new Vector2(shieldBoxX + TileSize * 4, shieldBoxY); itemBoxes.Add(new ItemBox("ElvenTrinket", itemBoxElvenTrinketLocation, elvenTrinketItem.Sprite, elvenTrinketItem)); itemBoxBackgrounds.Add(new StaticEntity("ElvenTrinketBackground", itemBoxElvenTrinketLocation, actionBarBackground)); Shield bullrushItem = shieldFactory.CreateBullrush(); Vector2 itemBoxBullrushLocation = new Vector2(shieldBoxX + TileSize * 5, shieldBoxY); itemBoxes.Add(new ItemBox("Bullrush", itemBoxBullrushLocation, bullrushItem.Sprite, bullrushItem)); itemBoxBackgrounds.Add(new StaticEntity("BullrushBackground", itemBoxBullrushLocation, actionBarBackground)); #endregion #region Charm Item Boxes int charmBoxY = (int)(TileSize * 5.5); int charmBoxX = (int)(TileSize * 1.5); Charm burstCharm = charmFactory.CreateBurstCharm(); Vector2 itemBoxBurstCharmLocation = new Vector2(charmBoxX, charmBoxY); itemBoxes.Add(new ItemBox("Burst Charm", itemBoxBurstCharmLocation, burstCharm.Sprite, burstCharm)); itemBoxBackgrounds.Add(new StaticEntity("Burst Charm Background", itemBoxBurstCharmLocation, actionBarBackground)); Charm cooldownCharm = charmFactory.CreateLowerCooldown(); Vector2 itemBoxCoolCharmLocation = new Vector2(charmBoxX + TileSize, charmBoxY); itemBoxes.Add(new ItemBox("Cool Charm", itemBoxCoolCharmLocation, cooldownCharm.Sprite, cooldownCharm)); itemBoxBackgrounds.Add(new StaticEntity("Cool Charm Background", itemBoxCoolCharmLocation, actionBarBackground)); Charm damageCharm = charmFactory.CreateHigherCooldown(); Vector2 itemBoxDamageCharmLocation = new Vector2(charmBoxX + TileSize * 2, charmBoxY); itemBoxes.Add(new ItemBox("Damage Charm", itemBoxDamageCharmLocation, damageCharm.Sprite, damageCharm)); itemBoxBackgrounds.Add(new StaticEntity("Damage Charm Background", itemBoxDamageCharmLocation, actionBarBackground)); Charm speedCharm = charmFactory.CreateSpeedCharm(); Vector2 itemBoxSpeedCharmLocation = new Vector2(charmBoxX + TileSize * 3, charmBoxY); itemBoxes.Add(new ItemBox("speedCharm", itemBoxSpeedCharmLocation, speedCharm.Sprite, speedCharm)); itemBoxBackgrounds.Add(new StaticEntity("speedCharm Background", itemBoxSpeedCharmLocation, actionBarBackground)); Charm vampiricCharm = charmFactory.CreateLifestealCharm(); Vector2 itemBoxVampiricCharmLocation = new Vector2(charmBoxX + TileSize * 4, charmBoxY); itemBoxes.Add(new ItemBox("vampiricCharm", itemBoxVampiricCharmLocation, vampiricCharm.Sprite, vampiricCharm)); itemBoxBackgrounds.Add(new StaticEntity("vampiricCharm Background", itemBoxVampiricCharmLocation, actionBarBackground)); #endregion #region Equipped Item Boxes int equipBoxX = (int)(TileSize * 1.5); int equipBoxY = (int)(WindowHeight - TileSize * 2.5); Vector2 box1Location = new Vector2(equipBoxX, equipBoxY); equippedItemBoxes.Add(new ItemBox("Weapon1", box1Location, weapon1.Sprite, weapon1)); equippedItemBoxBackgrounds.Add(new StaticEntity("Weapon1", box1Location, actionBarBackground)); Vector2 box2Location = new Vector2(equipBoxX + TileSize * 1, equipBoxY); equippedItemBoxes.Add(new ItemBox("Weapon2", box2Location, weapon2.Sprite, weapon2)); equippedItemBoxBackgrounds.Add(new StaticEntity("Weapon2", box2Location, actionBarBackground)); Vector2 box3Location = new Vector2(equipBoxX + TileSize * 2, equipBoxY); equippedItemBoxes.Add(new ItemBox("Shield1", box3Location, shield1.Sprite, shield1)); equippedItemBoxBackgrounds.Add(new StaticEntity("Shield1", box3Location, actionBarBackground)); Vector2 box4Location = new Vector2(equipBoxX + TileSize * 3, equipBoxY); equippedItemBoxes.Add(new ItemBox("Charm1", box4Location, charm1.Sprite, charm1)); equippedItemBoxBackgrounds.Add(new StaticEntity("Charm1", box4Location, actionBarBackground)); #endregion }