コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: WeaponSystem.cs プロジェクト: Borzen/DungeonCrawler
        /// <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;
        }
コード例 #3
0
 private void Start()
 {
     activeSprite = noWeapon;
 }
コード例 #4
0
 private void Awake()
 {
     weaponSprite = GetComponent <WeaponSprite>();
 }
コード例 #5
0
ファイル: Weapon.cs プロジェクト: sereth/FF1Randomizer
 //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;
 }
コード例 #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;
 }