public override void ResolveCollision(LinkCollisionResponse other) { if (!done) { Link link = (Link)other.entity; LinkInventory linkInventory = link.GetComponent <LinkInventory>(); // update item inventory numbers switch (currentItem.GetItemType()) { case "bow": linkInventory.AddUseableItem((int)ItemInventory.UseInventory.BOW); // Console.WriteLine("Bow = " + linkInventory.GetUseableItemCount((int)ItemInventory.UseInventory.BOW)); LevelManager.backdrop.Bow.GetComponent <Sprite>().SetVisible(true); break; case "raft": linkInventory.AddPassiveItem((int)ItemInventory.PassiveIventory.RAFT); // Console.WriteLine("Raft = " + linkInventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.RAFT)); break; case "ladder": linkInventory.AddPassiveItem((int)ItemInventory.PassiveIventory.LADDER); // Console.WriteLine("Ladder = " + linkInventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.LADDER)); break; case "powerBand": linkInventory.AddPassiveItem((int)ItemInventory.PassiveIventory.POWER_BAND); // Console.WriteLine("Power Band = " + linkInventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.POWER_BAND)); break; default: break; } Sprite itemSprite = entity.GetComponent <Sprite>(); int itemSpriteWidth = itemSprite.sprite.frames[itemSprite.sprite.currentFrame].Width; LinkBehavior linkBehavior = link.GetComponent <LinkBehavior>(); linkBehavior.picking_up_item = true; linkBehavior.linkHands = 1; Transform linkTrans = link.GetComponent <Transform>(); linkTrans.position += new Vector2(-itemSpriteWidth / 2, 0); Sprite linkSprite = link.GetComponent <Sprite>(); int linkSpriteHeight = linkSprite.sprite.frames[linkSprite.sprite.currentFrame].Height; entity.GetComponent <Transform>().position += new Vector2(0, -linkSpriteHeight); entity.GetComponent <ItemDeletionTimer>().startTimer = true; done = true; } }
public override void Update(GameTime gameTime) { linkInventory = LevelManager.link.GetComponent <LinkInventory>(); if (!visible) { if (linkInventory.GetDungeonItemCount((int)ItemInventory.DungeonInventory.COMPASS) > 0) { entity.GetComponent <Sprite>().SetVisible(true); visible = true; LevelManager.backdrop.Minimap.GetComponent <MinimapDisplay>().BossRoomVisible(); } } }
public override void Update(GameTime gameTime) { linkInventory = Scene.Find("Link").GetComponent <LinkInventory>(); if (!visible) { if (linkInventory.GetDungeonItemCount((int)ItemInventory.DungeonInventory.MAP) > 0) { entity.GetComponent <Sprite>().SetVisible(true); visible = true; LevelManager.backdrop.Minimap.GetComponent <MinimapDisplay>().MinimapVisible(); } } }
public override void ResolveCollision(LinkCollisionResponse other) { if (!done) { Link link = (Link)other.entity; LinkInventory linkInventory = link.GetComponent <LinkInventory>(); // update item inventory numbers switch (currentItem.GetItemType()) { case "heartContainer": Scene.Find("link").GetComponent <LinkHealthManagement>().health = Constants.LINK_STARTING_HEALTH; Sound.PlaySound(Sound.SoundEffects.Get_Heart, false); break; case "triforce": linkInventory.AddPassiveItem((int)ItemInventory.PassiveIventory.TRIFORCE); // Console.WriteLine("Triforce = " + linkInventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.TRIFORCE)); break; default: break; } // animation for picking up item LinkBehavior linkBehavior = link.GetComponent <LinkBehavior>(); linkBehavior.picking_up_item = true; linkBehavior.linkHands = 2; Sprite linkSprite = entity.GetComponent <Sprite>(); int linkSpriteHeight = linkSprite.sprite.frames[linkSprite.sprite.currentFrame].Height; int linkSpriteWidth = linkSprite.sprite.frames[linkSprite.sprite.currentFrame].Width; Sprite itemSprite = entity.GetComponent <Sprite>(); int itemSpriteHeight = itemSprite.sprite.frames[itemSprite.sprite.currentFrame].Height; int itemSpriteWidth = itemSprite.sprite.frames[itemSprite.sprite.currentFrame].Width; Transform linkTrans = link.GetComponent <Transform>(); linkTrans.position += new Vector2(0, itemSpriteHeight); Transform itemPos = entity.GetComponent <Transform>(); itemPos.position += new Vector2(0, -itemSpriteHeight); currentItem.GetComponent <ItemDeletionTimer>().startTimer = true; // if triforce we should quit the game? make black screen? credits? done = true; if (currentItem.GetItemType() == "triforce") { LevelManager.Victory(); } } }
public override void Update(GameTime gameTime) { var sprite = entity.GetComponent <Sprite>(); linkInventory = Scene.Find("Link").GetComponent <LinkInventory>(); switch (linkInventory.GetCurrentWeapon()) { case ItemInventory.WeaponTypes.WOODEN_SWORD: sprite.SetSprite(LinkItemSpriteFactory.Instance.CreateWoodenSwordUp()); break; case ItemInventory.WeaponTypes.MAGIC_SWORD: sprite.SetSprite(LinkItemSpriteFactory.Instance.CreateWhiteRedSwordUp()); break; } }
// Called at every point in the code at which an enemy is killed // Controls the "give the player a key when they kill all enemies in a room" public static void EnemyKilled() { currentLevel.numEnemiesLeft--; // If this takes us down to zero, gift the player a key, which they can use to unlock the given door if (Game1.inBossRush && currentLevel.numEnemiesLeft == 0) { LinkInventory inventory = link.GetComponent <LinkInventory>(); inventory.AddDungeonItem((int)ItemInventory.DungeonInventory.KEYS); // change the sprite of the door } else if (currentLevel.DropKey && currentLevel.numEnemiesLeft == 0) { Item.CreateKey(currentLevel.KeyPos); } if (currentLevel.numEnemiesLeft < 0) { Console.WriteLine("ERROR: EnemyKilled() called in a room with 0 enemies in it!"); } }
public override void Update(GameTime gameTime) { var sprite = entity.GetComponent <Sprite>(); linkInventory = Scene.Find("Link").GetComponent <LinkInventory>(); switch (linkInventory.GetBKey()) { case ItemInventory.UseInventory.BOOMERANG: sprite.SetSprite(HUDSpriteFactory.Instance.CreateBoomerang()); sprite.sprite.scalar *= Constants.HUD_BOOMERANG_SCALE * boomerang_scale; break; case ItemInventory.UseInventory.BOMB: sprite.SetSprite(HUDSpriteFactory.Instance.CreateBomb()); sprite.sprite.scalar *= Constants.HUD_BOMB_SCALE * scale; break; case ItemInventory.UseInventory.BOW: sprite.SetSprite(HUDSpriteFactory.Instance.CreateBow()); sprite.sprite.scalar *= Constants.HUD_BOW_SCALE * scale; break; } }
public override void Update(GameTime gameTime) { linkInventory = Scene.Find("Link").GetComponent <LinkInventory>(); entity.GetComponent <Text>().CurrentString = "X" + linkInventory.dungeonInventory[(int)ItemInventory.DungeonInventory.KEYS].amount; }
public override void ResolveCollision(LinkCollisionResponse other) { if (!collided) { collided = true; // Actual item pickup is the fanfare, selecting from inventory is Get_Item Sound.PlaySound(Sound.SoundEffects.Fanfare, entity, !Sound.SOUND_LOOPS); // logic for adding items to HUD depending on type Link link = (Link)other.entity; LinkInventory inventory = link.GetComponent <LinkInventory>(); // update item inventory numbers switch (currentItem.GetItemType()) { case "fairy": // increment health by an amount break; case "bomb": inventory.AddBombs(); // Console.WriteLine("Bombs = " + inventory.GetUseableItemCount((int)ItemInventory.UseInventory.BOMB)); break; case "arrow": inventory.AddPassiveItem((int)ItemInventory.PassiveIventory.ARROWS); // Console.WriteLine("Arrows = " + inventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.ARROWS)); break; case "regularkey": inventory.AddDungeonItem((int)ItemInventory.DungeonInventory.KEYS); // Console.WriteLine("Keys = " + inventory.GetDungeonItemCount((int)ItemInventory.DungeonInventory.KEYS)); break; case "bosskey": inventory.AddDungeonItem((int)ItemInventory.DungeonInventory.BOSS_KEY); // Console.WriteLine("Boss Key = " + inventory.GetDungeonItemCount((int)ItemInventory.DungeonInventory.BOSS_KEY)); break; case "clock": // freeze enemies for a time break; case "compass": inventory.AddDungeonItem((int)ItemInventory.DungeonInventory.COMPASS); // Console.WriteLine("Compass = "******"yellowmap": case "bluemap": inventory.AddDungeonItem((int)ItemInventory.DungeonInventory.MAP); // Console.WriteLine("Map = " + inventory.GetDungeonItemCount((int)ItemInventory.DungeonInventory.MAP)); break; case "rupee": inventory.AddPassiveItem((int)ItemInventory.PassiveIventory.RUPEES, currentItem.value); // Console.WriteLine("Rupees = " + inventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.RUPEES)); Sound.PlaySound(Sound.SoundEffects.Get_Rupee, false); break; default: break; } Entity.Destroy(entity); } }
public override void Update(GameTime gameTime) { linkInventory = LevelManager.link.GetComponent <LinkInventory>(); entity.GetComponent <Text>().CurrentString = "X" + linkInventory.GetDungeonItemCount((int)ItemInventory.DungeonInventory.KEYS); }
public override void Update(GameTime gameTime) { linkInventory = LevelManager.link.GetComponent <LinkInventory>(); entity.GetComponent <Text>().CurrentString = "X" + linkInventory.GetPassiveItemCount((int)ItemInventory.PassiveIventory.RUPEES); }
public override void Update(GameTime gameTime) { linkInventory = LevelManager.link.GetComponent <LinkInventory>(); entity.GetComponent <Text>().CurrentString = "X" + linkInventory.GetUseableItemCount((int)ItemInventory.UseInventory.BOMB); }
public override void Update(GameTime gameTime) { linkInventory = Scene.Find("Link").GetComponent <LinkInventory>(); entity.GetComponent <Text>().CurrentString = "X" + linkInventory.passiveInventory[(int)ItemInventory.PassiveIventory.RUPEES].amount; }