public void CreateWeaponSprite(uint weaponID, uint playerID)
        {
            WeaponType type = _game.WeaponComponent[weaponID].Type;
            int y = (int)_game.SpriteAnimationComponent[playerID].CurrentAnimationRow * 64; //changed to get direction from spriteanimation instead of movementsprite, currentAnimationRow returns same values as facing for directions

            WeaponSprite sprite = new WeaponSprite()
            {
                EntityID = playerID,
            };

            switch (type)
            {
                case WeaponType.WeakSword:
                case WeaponType.StandardSword:
                case WeaponType.StrongSword:
                    sprite.SpriteSheet = _game.Content.Load<Texture2D>("Spritesheets/StandardSword");
                    sprite.SpriteBounds = new Rectangle(0, y, 64, 64);
                    break;
                case WeaponType.StandardGun:
                    sprite.SpriteSheet = _game.Content.Load<Texture2D>("Spritesheets/StandardSword");
                    sprite.SpriteBounds = new Rectangle(0, y, 64, 64);
                    break;
            }
            _game.WeaponSpriteComponent.Add(sprite.EntityID, sprite);
        }
        /// <summary>
        /// Handles updating already made weapon sprites. Returns true if the sprite was removed.
        /// </summary>
        /// <param name="sprite">Weapon Sprite to update</param>
        /// <returns>True if sprite is removed. False otherwise.</returns>
        private bool UpdateWeaponSprite(WeaponSprite sprite)
        {
            bool removed = false;

            if (_timer >= .05f)
            {
                if (sprite.SpriteBounds.X < 192)
                {
                    sprite.SpriteBounds.X += 64;
                    _game.WeaponSpriteComponent[sprite.EntityID] = sprite;
                }
                else
                {
                    _game.WeaponSpriteComponent.Remove(sprite.EntityID);
                    removed = true;
                }

                _timer = 0;
            }

            return removed;
        }
Exemple #3
0
 private void Start()
 {
     activeSprite = noWeapon;
 }
Exemple #4
0
 private void Awake()
 {
     weaponSprite = GetComponent <WeaponSprite>();
 }
Exemple #5
0
 //pre-load values, could be used to create new weapons in the future
 public Weapon(int weaponIndex, byte[] nameBytes, WeaponIcon icon, byte hitBonus, byte damage, byte crit, byte spellIndex, byte elementalWeakness, byte typeWeakeness, WeaponSprite weaponTypeSprite, byte weaponSpritePaletteColor)
 {
     WeaponIndex = weaponIndex;
     NameBytes   = nameBytes;
     Icon        = icon;
     if (icon != WeaponIcon.NONE)
     {
         NameBytes[6] = (byte)icon;
     }
     HitBonus                 = hitBonus;
     Damage                   = damage;
     Crit                     = crit;
     SpellIndex               = spellIndex;
     ElementalWeakness        = elementalWeakness;
     TypeWeakness             = typeWeakeness;
     WeaponTypeSprite         = weaponTypeSprite;
     WeaponSpritePaletteColor = weaponSpritePaletteColor;
 }
Exemple #6
0
 //pre-load values, could be used to create new weapons in the future
 public Weapon(int weaponIndex, string name, WeaponIcon icon, byte hitBonus, byte damage, byte crit, byte spellIndex, byte elementalWeakness, byte typeWeakeness, WeaponSprite weaponTypeSprite, byte weaponSpritePaletteColor)
 {
     WeaponIndex              = weaponIndex;
     Name                     = name;
     Icon                     = icon;
     HitBonus                 = hitBonus;
     Damage                   = damage;
     Crit                     = crit;
     SpellIndex               = spellIndex;
     ElementalWeakness        = elementalWeakness;
     TypeWeakness             = typeWeakeness;
     WeaponTypeSprite         = weaponTypeSprite;
     WeaponSpritePaletteColor = weaponSpritePaletteColor;
 }