public void PlaySound(string name, float volume, float pitch, float pan) { SoundEffect soundEffect; soundEffect = ResourceManager.Get <SoundEffect>(name); soundEffect.Play(volume, pitch, pan); }
public static void DrawToWorld(SpriteBatch sb) { if (!Debug) { return; } if (ScreenManager.Instance.ContainsScreenType(typeof(GameplayScreen))) { //Point pos = Input.CurrentMousePosition.ToPoint(); //Point posScreenToWorld = Input.CurrentMousePosition.ScreenToWorld().ToPoint(); //Point posWorldToScreen = GameplayScreen.Instance.Player.Position.WorldToScreen().ToPoint(); //sb.Draw(ResourceManager.Get<Texture2D>("rectangle"), new Rectangle(0, 0, Game1.ScreenWidth, Game1.ScreenHeight), Color.Red * 0.2f); //sb.Draw(ResourceManager.Get<Texture2D>("rectangle"), new Rectangle(posScreenToWorld.X - 5, posScreenToWorld.Y - 5, 10, 10), Color.LightGreen * 0.3f); //Vector2 tempPos = GameplayScreen.Instance.Map.GetTilePosition(GameplayScreen.Instance.Map.GetTileIndex(Input.CurrentMousePosition.ScreenToWorld())); //sb.Draw(ResourceManager.Get<Texture2D>("rectangle"), // new Rectangle((int)tempPos.X, (int)tempPos.Y, 10, 10), Color.Black * 0.2f); //sb.Draw(ResourceManager.Get<Texture2D>("rectangle"), new Rectangle(pos.X, pos.Y, 10, 10), Color.White * 1f); //Rectangle tempRec = new Rectangle( // new Vector2(100, 100).ScreenToWorld().ToPoint().X, // new Vector2(100, 100).ScreenToWorld().ToPoint().Y, // (int)((posWorldToScreen.X - 100) / Camera.Transform.Scale.X), // (int)((posWorldToScreen.Y - 100) / Camera.Transform.Scale.Y)); sb.Draw(ResourceManager.Get <Texture2D>("rectangle"), Camera.VisibleArea, Color.Black * 0.3f); WriteLine("Black Rectangle: " + Camera.VisibleArea); } }
public Color[] GetTextureColorData(int currentFrame) { Color[] data = new Color[SourceRectangle.Width * SourceRectangle.Height]; Rectangle predictedRec = CalculateSourceRectangle(currentFrame); ResourceManager.Get <Texture2D>(Texture).GetData(0, predictedRec, data, 0, data.Length); return(data); }
public static void CreateStandard(Vector2 position, Vector2 direction, Color color, float speed = 300f, float fadeSpeed = 2f, float scale = 0.3f) { Instance.Particles.Add(new Particle(new Spritesheet("lightMask", new Point(1, 1), new Rectangle(0, 0, ResourceManager.Get <Texture2D>("lightMask").Width, ResourceManager.Get <Texture2D>("lightMask").Height)), position - new Vector2( ResourceManager.Get <Texture2D>("lightMask").Width / (float)2, ResourceManager.Get <Texture2D>("lightMask").Height / (float)2) * scale, direction, speed, fadeSpeed, color, 0f, scale)); }
public Equipment(Spritesheet spritesheet, Vector2 position, Rectangle sourceRectangle, bool putInBag, GearType gearType) : base(spritesheet, position, sourceRectangle, putInBag) { currentGearType = gearType; verticalTileSlotSize = 1; texItem = ResourceManager.Get <Texture2D>("rectangle"); rectItemDrop = new Rectangle((int)position.X, (int)position.Y, 48, 48); switch (currentGearType) { case GearType.Sword: itemName = "Wooden Sword"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(24, 120, 24, 24); break; case GearType.Shield: itemName = "Wooden Shield"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(240, 120, 24, 24); break; case GearType.Helmet: itemName = "Wooden Helmet"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(240, 264, 24, 24); break; case GearType.Ring: itemName = "Wooden Leggings"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(24, 168, 24, 24); break; case GearType.Boots: itemName = "Wooden Boots"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(24, 48, 24, 24); break; case GearType.Bodyarmor: itemName = "Wooden Bracers"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(24, 48, 24, 24); break; case GearType.Gloves: itemName = "Wool Bracers"; itemDescription = "placeholder"; //sourceRectSprite = new Rectangle(24, 48, 24, 24); break; default: break; } }
public virtual void Draw(SpriteBatch sb) { if (Camera.VisibleArea.Contains(Position)) { sb.Draw(ResourceManager.Get <Texture2D>(Spritesheet.Texture), Position, Spritesheet.SourceRectangle, Color * Transparency, Rotation, Vector2.Zero, Scale, SpriteEffects.None, LayerDepth); if (GameDebugger.Debug) { sb.Draw(ResourceManager.Get <Texture2D>("rectangle"), Hitbox, null, Color.Magenta * 0.3f, Rotation, Vector2.Zero, SpriteEffects.None, LayerDepth + 0.01f); } } }
public void Draw(SpriteBatch sb) { Vector2 cartesianTileWorldPos = new Vector2( Input.CurrentMousePosition.ScreenToWorld().X / TileSize.Y, Input.CurrentMousePosition.ScreenToWorld().Y / TileSize.Y); Point isometricScreenTile = (cartesianTileWorldPos.ToCartesian() + new Vector2(-0.5f, 0.5f)).ToPoint(); Rectangle visibleArea = Camera.VisibleArea; for (int i = 0; i < TileMap.GetLength(0); i++) { for (int j = 0; j < TileMap.GetLength(1); j++) { Tile t = TileMap[i, j]; Vector2 tempPos = new Vector2(i * TileSize.Y, j * TileSize.Y).ToIsometric(); if (visibleArea.Contains(tempPos.ToPoint())) { if (t.TileType == TileType.Collision || t.TileType == TileType.Ground /*|| t.TileType == TileType.Water*/) { sb.Draw(ResourceManager.Get <Texture2D>(t.Spritesheet.Texture), tempPos, null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f); } } //if (isometricScreenTile == new Point(i, j)) //{ // sb.Draw(ResourceManager.Get<Texture2D>(t.Spritesheet.Texture), new Vector2(i * TileSize.Y, j * TileSize.Y).ToIsometric(), Color.Red); //} else //{ // sb.Draw(ResourceManager.Get<Texture2D>(t.Spritesheet.Texture), new Vector2(i * TileSize.Y, j * TileSize.Y).ToIsometric(), null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f); //} //if (TileMap[i, j].TileType == TileType.Water) //{ // sb.Draw(ResourceManager.Get<Texture2D>(t.Spritesheet.Texture), new Vector2(i * TileSize.Y, j * TileSize.Y).ToIsometric(), Color.Blue); //} } } WorldObjects.ForEach(x => x.Draw(sb)); if (GameDebugger.Debug) { for (int i = 0; i < WorldObjects.Count; i++) { GameObject obj = WorldObjects[i]; //sb.Draw(ResourceManager.Get<Texture2D>(obj.Texture), new Rectangle((int)obj.Hitbox.Position.X, (int)obj.Hitbox.Position.Y, (int)obj.Hitbox.Size.X, (int)obj.Hitbox.Size.Y), null, Color.White, 0f, Vector2.Zero, SpriteEffects.None, 0.3f); } } }
public override void Draw(SpriteBatch sb) { base.Draw(sb); if (!isInBag) { sb.Draw(texItem, rectItemDrop, rectCurrentSprite, Color.White, 0f, Vector2.Zero, SpriteEffects.None, LayerDepth + 0.1f); } if (isInIdentityRange && !isInBag) { sb.DrawString(ResourceManager.Get <SpriteFont>("font1"), itemName, new Vector2(rectItemDrop.X, rectItemDrop.Y), Color.White, 0f, Vector2.Zero, 0.5f, SpriteEffects.None, 1f); } }
private static void DrawTexts(SpriteBatch sb) { Texts.Select((value, index) => new { value, index }).ForEach(x => { sb.DrawString(ResourceManager.Get <SpriteFont>("font1"), x.value, new Vector2(300 + 1, x.index * ResourceManager.Get <SpriteFont>("font1").MeasureString("|").Y + 1), Color.Black, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.9f); sb.DrawString(ResourceManager.Get <SpriteFont>("font1"), x.value, new Vector2(300, x.index * ResourceManager.Get <SpriteFont>("font1").MeasureString("|").Y), Color.Yellow, 0f, Vector2.Zero, 1f, SpriteEffects.None, 1f); }); Texts.Clear(); }
public override void Draw(SpriteBatch sb) { for (int i = 0; i < path.Length; i++) //Ritar ut pathen som fienden rör sig efter. { sb.Draw(ResourceManager.Get <Texture2D>("tile1"), new Vector2(path[i].X * Map.TileSize.Y, path[i].Y * Map.TileSize.Y).ToIsometric(), null, Color.Gray * 0.5f, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.5f); } //sb.Draw(ResourceManager.Get<Texture2D>(Texture), destinationRectangle, SourceRectangle, Color * Transparency, Rotation, Vector2.Zero, SpriteEffects.None, 0.9f); //if (isAttacking) //{ // sb.Draw(ResourceManager.Get<Texture2D>("tile1"), new Rectangle((int)attackHitbox.Position.X, (int)attackHitbox.Position.Y, (int)attackHitbox.Size.X, (int)attackHitbox.Size.Y) // , Spritesheet.SourceRectangle, Color.Red * 0.5f, Rotation, Vector2.Zero, SpriteEffects.None, 0f); //} base.Draw(sb); }
public Potion(Spritesheet spritesheet, Vector2 position, Rectangle sourceRectangle, bool putInBag, PotionType potionType) : base(spritesheet, position, sourceRectangle, putInBag) { texItem = ResourceManager.Get <Texture2D>("potionSheet"); verticalTileSlotSize = 1; currentPotionType = potionType; rectItemDrop = new Rectangle((int)position.X, (int)position.Y, 48, 48); switch (currentPotionType) { case PotionType.HealthSmall: itemName = "Potion of Minor Health"; itemDescription = "Heals the player 20 points of health."; sourceRectSprite = new Rectangle(24, 120, 24, 24); break; case PotionType.HealthMedium: itemName = "Potion of Moderate Health"; itemDescription = "Heals the player 40 points of health."; sourceRectSprite = new Rectangle(240, 120, 24, 24); break; case PotionType.HealthLarge: itemName = "Potion of Potent Health"; itemDescription = "Heals the player 80 points of health."; sourceRectSprite = new Rectangle(240, 264, 24, 24); break; case PotionType.SpeedPotion: itemName = "Potion of Swiftness"; itemDescription = "Grants the player 2x walking\nspeed for 10 seconds."; sourceRectSprite = new Rectangle(24, 168, 24, 24); break; case PotionType.FireBall: itemName = "Elixir of Fireball"; itemDescription = "Grants the player a single\nfireball charge to fire."; sourceRectSprite = new Rectangle(24, 48, 24, 24); break; default: break; } rectCurrentSprite = sourceRectSprite; rectFirstSprite = sourceRectangle; }
public void Draw(SpriteBatch sb) { sb.Draw(texture, new Vector2(Position.X, Position.Y), new Rectangle(0, 0, texture.Width, texture.Height), Color.White, 0f, Vector2.Zero, Scale, SpriteEffects.None, 0.1f); sb.Draw(texture2, rectHealthTicks, new Rectangle(0, 0, (int)(texture2.Width * hpPercent * Scale), texture2.Height), Color.DarkRed, 0f, Vector2.Zero, SpriteEffects.None, 0.2f); sb.Draw(texture2, rectOverhealTicks, new Rectangle(0, 0, (int)(texture2.Width * overhpPercent * Scale), texture2.Height), Color.Orange, 0f, Vector2.Zero, SpriteEffects.None, 0.3f); if (new Rectangle((int)Position.X, (int)Position.Y, texture.Width, texture.Height).Contains(Input.CurrentMousePosition)) { sb.DrawString ( ResourceManager.Get <SpriteFont>("font1"), "Health: " + currentHP + "/" + maxHP + " (Max overhealth: 200)\n''Your lifeforce. If it reaches 0, you die.''", new Vector2(Input.CurrentMousePosition.X + 15, Input.CurrentMousePosition.Y + 15), Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.4f ); } }
public override void Draw(SpriteBatch sb) { if (IsActive) { sb.Draw(ResourceManager.Get <Texture2D>("rectangle"), rectMain, null, Color.Chocolate * Opacity, 0f, Vector2.Zero, SpriteEffects.None, 0.1f); sb.Draw(ResourceManager.Get <Texture2D>("rectangle"), rectLayer1, null, Color.SaddleBrown * Opacity, 0f, Vector2.Zero, SpriteEffects.None, 0.2f); sb.DrawString(ResourceManager.Get <SpriteFont>("font1"), "Inventory", new Vector2(rectMain.X + 150, rectMain.Y + 5), Color.Black * Opacity, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.3f); foreach (InventoryTile tile in invTiles) { tile.Draw(sb); } foreach (Item item in GameManager.Instance.ItemManager.Items) { if (item.isInBag) { sb.Draw(item.texItem, item.rectItemInv, item.sourceRectSprite, Color.White * Opacity, 0f, Vector2.Zero, SpriteEffects.None, 0.5f); if (item.rectItemInv.Contains(Input.CurrentMousePosition) && Instance.IsActive && !DragMode) { string stringItemdesc = item.itemName + "\n" + item.itemDescription + "\n<Right click to use>"; Vector2 stringdim = ResourceManager.Get <SpriteFont>("font1").MeasureString(stringItemdesc); Vector2 posItemdesc = new Vector2(Input.CurrentMousePosition.X - stringdim.X, Input.CurrentMousePosition.Y - stringdim.Y); int borderT = 3; int padding = 5; Rectangle rectBackground = new Rectangle((int)posItemdesc.X - padding, (int)posItemdesc.Y - padding, (int)stringdim.X + padding * 2, (int)stringdim.Y + padding * 2); Rectangle rectBorder = new Rectangle(rectBackground.X - borderT, rectBackground.Y - borderT, rectBackground.Width + borderT * 2, rectBackground.Height + borderT * 2); sb.Draw(ResourceManager.Get <Texture2D>("rectangle"), rectBorder, null, Color.Black, 0f, Vector2.Zero, SpriteEffects.None, 0.6f); sb.Draw(ResourceManager.Get <Texture2D>("rectangle"), rectBackground, null, Color.SaddleBrown, 0f, Vector2.Zero, SpriteEffects.None, 0.7f); sb.DrawString(ResourceManager.Get <SpriteFont>("font1"), stringItemdesc, posItemdesc, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.8f); } } } } }
public void PlaySong(string name) { song = ResourceManager.Get <Song>(name); MediaPlayer.Play(song); MediaPlayer.IsRepeating = true; }
public override void DrawUserInterface(SpriteBatch spriteBatch) { spriteBatch.Draw(ResourceManager.Get <Texture2D>("cot"), new Rectangle(0, 0, Game1.ScreenWidth, Game1.ScreenHeight), null, Color.Gray, 0f, Vector2.Zero, SpriteEffects.None, 0.9f); spriteBatch.DrawString(ResourceManager.Get <SpriteFont>("titlefont"), "Crypt of Traitors", new Vector2(Game1.ScreenWidth / 5f, Game1.ScreenHeight / 15f), Color.DarkRed * 0.8f, 0f, Vector2.Zero, 1.1f, SpriteEffects.None, 1f); base.DrawUserInterface(spriteBatch); }
public void DrawBlackRectangle(SpriteBatch spriteBatch, float alpha, float layerDepth) { spriteBatch.Draw(ResourceManager.Get <Texture2D>("rectangle"), GameManager.Instance.Game.GraphicsDevice.Viewport.Bounds, null, Color.Black * alpha, 0f, Vector2.Zero, SpriteEffects.None, layerDepth); }