コード例 #1
0
        public static Player CreatePlayer(PlayerInfo info)
        {
            var meleeWeaponSprite = new MeleeWeaponSprite(
                GetBitmap(info.MeleeWeaponTileMapPath),
                1, 0, 5, new Size(170, 170));

            var weaponSprites = new Dictionary <Type, Sprite>();

            foreach (var weaponType in WeaponFramesId.Keys)
            {
                weaponSprites.Add(
                    weaponType, new StaticSprite(
                        GetBitmap(info.WeaponsTileMapPath),
                        WeaponFramesId[weaponType],
                        new Size(79, 57)));
            }

            var weapons = new List <Weapon>();

            foreach (var weaponInfo in info.Weapons)
            {
                weapons.Add(AbstractWeaponFactory.CreateGun(weaponInfo));
            }

            var position       = info.Position.Copy();
            var angle          = info.Angle;
            var legs           = new PlayerBodySprite(position, GetBitmap(info.ClothesTileMapPath), 1, 14, 27, new Size(64, 64));
            var legsContainer  = new SpriteContainer(legs, position, angle);
            var torsoContainer = new SpriteContainer(weaponSprites[weapons[0].GetType()], position, angle);
            var meleeWeapon    = new MeleeWeapon(position, angle);

            return(new Player(
                       info.Health, info.Armor, new RigidCircle(position, 32, false, true),
                       legsContainer, torsoContainer, weapons, weaponSprites, meleeWeaponSprite, meleeWeapon, info.DeadBodyTileMapPath));
        }
コード例 #2
0
 public Player(int health, int armor, RigidCircle collisionShape,
               SpriteContainer legsContainer, SpriteContainer torsoContainer,
               List <Weapon> startWeapons, Dictionary <Type, Sprite> weaponSprites,
               MeleeWeaponSprite meleeWeaponSprite, MeleeWeapon meleeWeapon, string deadBodyPath)
     : base(health, armor, collisionShape, legsContainer, torsoContainer, deadBodyPath)
 {
     MeleeWeapon            = meleeWeapon;
     this.meleeWeaponSprite = meleeWeaponSprite;
     weapons            = startWeapons;
     this.weaponSprites = weaponSprites;
     currentWeaponIndex = 0;
     ticksFromLastDash  = TicksBetweenDashes + 1;
     dashCount          = 2;
 }