Exemple #1
0
        public void PlaySound(string name, float volume, float pitch, float pan)
        {
            SoundEffect soundEffect;

            soundEffect = ResourceManager.Get <SoundEffect>(name);
            soundEffect.Play(volume, pitch, pan);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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));
 }
Exemple #5
0
        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;
            }
        }
Exemple #6
0
        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);
                }
            }
        }
Exemple #7
0
        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);
                }
            }
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
        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();
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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;
        }
Exemple #12
0
        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
                );
            }
        }
Exemple #13
0
        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);
                        }
                    }
                }
            }
        }
Exemple #14
0
 public void PlaySong(string name)
 {
     song = ResourceManager.Get <Song>(name);
     MediaPlayer.Play(song);
     MediaPlayer.IsRepeating = true;
 }
Exemple #15
0
 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);
 }
Exemple #16
0
 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);
 }