Beispiel #1
0
        /// <summary>
        /// sprSheetY:
        /// up = 1,2
        /// left = 2,1
        /// down = 2,2
        /// right = 1,1
        /// </summary>
        /// <param name="path"></param>
        /// <param name="sprSheetY"></param>
        /// <param name="Position"></param>
        public Arrow(string path, Vector2 Position, int sprSheetX, int sprSheetY, int PlayerID)
        {
            float tilescale_x = GameSettings.Instance.Tilescale.X, tilescale_y = GameSettings.Instance.Tilescale.Y;

            sprite   = new SprSheetImage(path, sprSheetX - 1, sprSheetY - 1);
            sprSheet = new Vector2(sprSheetX, sprSheetY);
            LoadContent((int)Position.X, (int)Position.Y);
            if (sprSheet == new Vector2(2, 1)) //up
            {
                ArrowRect = new Rectangle((int)(sprite.Position.X + 0.5 * tilescale_x), (int)sprite.Position.Y, (int)(tilescale_x * 0.5), (int)tilescale_y);
            }
            else if (sprSheet == new Vector2(1, 2)) //left
            {
                ArrowRect = new Rectangle((int)sprite.Position.X, (int)(sprite.Position.Y + tilescale_y), (int)tilescale_x, (int)(tilescale_y * 0.5));
            }
            else if (sprSheet == new Vector2(2, 2)) //down
            {
                ArrowRect = new Rectangle((int)(sprite.Position.X + 0.5 * tilescale_x), (int)sprite.Position.Y, (int)(tilescale_x * 0.5), (int)tilescale_y * 2);
            }
            else if (sprSheet == new Vector2(1, 1)) //right
            {
                ArrowRect = new Rectangle((int)sprite.Position.X, (int)(sprite.Position.Y + 0.5 * tilescale_y), (int)tilescale_x, (int)(tilescale_y * 0.5));
            }
            this.PlayerID = PlayerID;
        }
Beispiel #2
0
 public Weapon(string path, PlayerEnums.Weapontype weapontype, Vector2 Position, int weaponID, object sender)
 {
     sprite          = new SprSheetImage(path);
     this.weapontype = weapontype;
     LoadContent((int)Position.X, (int)Position.Y);
     WeaponID = weaponID;
     Quiver   = false;
 }
Beispiel #3
0
 /// <summary>
 /// 3 paths needed for bow quiver and arrow
 /// </summary>
 /// <param name="bow"></param>
 /// <param name="quiver"></param>
 /// <param name="arrow"></param>
 public Weapon(string bow, string quiver, string arrow, Vector2 Position, int weaponID, object sender)
 {
     sprbow     = new SprSheetImage(bow);
     sprquiver  = new SprSheetImage(quiver);
     sprarrow   = new SprSheetImage(arrow);
     weapontype = PlayerEnums.Weapontype.Bow;
     LoadContent((int)Position.X, (int)Position.Y);
     WeaponID = weaponID;
     Quiver   = true;
 }
        public SpriteClasscs(string path1, string path2, string path3, string path4, string path5, int sprSheetX, int sprSheetY)
        {
            this.SprSheetX = sprSheetX;
            this.SprSheetY = sprSheetY;
            Source         = new Rectangle(SprSheetX * ImageSize, SprSheetY * ImageSize, ImageSize, ImageSize);
            Color          = Color.White;
            Real_Scale     = new Vector2(0.75f, 0.75f);

            body  = new SprSheetImage(path1);
            shirt = new SprSheetImage(path2);
            head  = new SprSheetImage(path3);
            belt  = new SprSheetImage(path4);
            pants = new SprSheetImage(path5);
        }
        public SpriteClasscs(string path1, string path2, string path3, string path4, string path5)
        {
            Position   = Vector2.Zero;
            SprSheetX  = 0;
            SprSheetY  = 10;
            Source     = new Rectangle(SprSheetX * ImageSize, SprSheetY * ImageSize, ImageSize, ImageSize);
            Color      = Color.White;
            Real_Scale = new Vector2(0.75f, 0.75f);

            body  = new SprSheetImage(path1);
            shirt = new SprSheetImage(path2);
            head  = new SprSheetImage(path3);
            belt  = new SprSheetImage(path4);
            pants = new SprSheetImage(path5);
        }
        public void FillArrays()
        {
            string gender = "";

            for (int i = 0; i < 2; i++)
            {
                if (i == 0)
                {
                    gender = "Male";
                }
                else
                {
                    gender = "Female";
                }

                #region "SkinColor"
                for (int j = 0; j < charCreation_member.GetList(1, 1).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(1, 1, j);

                    Skincolor[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/SkinColor/" + spriteName);
                }
                #endregion

                #region "Head"
                for (int j = 0; j < charCreation_member.GetList(0, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 0, j);

                    Head[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Head/" + spriteName);
                }
                #endregion

                #region "Shirt"
                for (int j = 0; j < charCreation_member.GetList(1, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 1, j);

                    Shirt[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Shirt/" + spriteName);
                }
                #endregion

                #region "Belt"
                for (int j = 0; j < charCreation_member.GetList(2, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 2, j);

                    Belt[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Belt/" + spriteName);
                }
                #endregion

                #region "Pants"
                for (int j = 0; j < charCreation_member.GetList(3, 2).Count; j++)
                {
                    string spriteName = charCreation_member.GetString(2, 3, j);

                    Pants[i, j] = new SprSheetImage("CharacterSprites/" + gender + "/Pants/" + spriteName);
                }
                #endregion
            }
        }
Beispiel #7
0
        public Enemy(int X, int Y, int ZoneNR, int HP)
        {
            //TODO add playerstats
            //this.player = player

            this.HP = HP;

            TilePosition = new Vector2(X, Y);
            Position     = new Vector2(X * GameSettings.Instance.Tilescale.X, Y * GameSettings.Instance.Tilescale.Y);

            State = PlayerEnums.ActionState.None;
            if (PlayerState != null)
            {
                for (int i = 0; i < PlayerState.Count; i++)
                {
                    PlayerState[i] = PlayerEnums.ActionState.None;
                }
            }
            lookDirection = PlayerEnums.LookDirection.Down;
            sprSheetY     = PlayerEnums.Action.WalkDown;
            sprSheetX     = 0;

            direction = new Vector2(0, 1);

            int rnd = Random.Next(9);

            switch (rnd)
            {
            case 0:
                sprite = new SprSheetImage("EnemySprites/Female/darkelf");
                break;

            case 1:
                sprite = new SprSheetImage("EnemySprites/Female/darkelf2");
                break;

            case 2:
                sprite = new SprSheetImage("EnemySprites/Female/orc");
                break;

            case 3:
                sprite = new SprSheetImage("EnemySprites/Female/red_orc");
                break;

            case 4:
                sprite = new SprSheetImage("EnemySprites/Male/darkelf");
                break;

            case 5:
                sprite = new SprSheetImage("EnemySprites/Male/darkelf2");
                break;

            case 6:
                sprite = new SprSheetImage("EnemySprites/Male/orc");
                break;

            case 7:
                sprite = new SprSheetImage("EnemySprites/Male/red_orc");
                break;

            case 8:
                sprite = new SprSheetImage("EnemySprites/Male/skeleton");
                break;
            }

            SpeedScale = 0.25f;

            weapon = new Weapon("Weapons/Spear/Male/spear_male", PlayerEnums.Weapontype.Spear, sprite.Position, 1, this);

            healthbar           = new Healthbar();
            levelindicator      = new LevelIndicator();
            PlayerLookDirection = new List <PlayerEnums.LookDirection>();
            PlayerState         = new List <PlayerEnums.ActionState>();
            PlayerSprSheetX     = new List <int>();
            PlayerPosition      = new List <Vector2>();
            PlayerZones         = new List <int>();
            PlayerLevels        = new List <int>();

            ZoneNumber = ZoneNR;
        }