protected override void Awake()
        {
            base.Awake();

            _clonedSkin = SkeletonAnimation.skeleton.Data.DefaultSkin.GetClone();

            _weaponSlotIndex = SkeletonAnimation.skeleton.FindSlotIndex(WeaponSlot);
            var weaponSprite =
                SpriteHelper.GetPlayerSpineTextureWeapon(GameConfig.DefaultAvatarWeaponId);

            _weaponAttachmentDefault = MakeAttachment(weaponSprite);

            var hairSlots = hairTypeIndex == 0
                ? HairType0Slots
                : HairType1Slots;

            foreach (var hairSlot in hairSlots)
            {
                if (!TryGetSlotAndAttachment(hairSlot, out var result))
                {
                    break;
                }

                _hairs.Add(result);
            }

            TryGetSlotAndAttachment(EarLeftSlot, out _earLeft);
            TryGetSlotAndAttachment(EarRightSlot, out _earRight);
            TryGetSlotAndAttachment(EyeHalfSlot, out _eyeHalf);
            TryGetSlotAndAttachment(EyeOpenSlot, out _eyeOpen);
            TryGetSlotAndAttachment(TailSlot, out _tail);
        }
Example #2
0
        public void Equip(int armorId, int weaponId)
        {
            var spineResourcePath = $"Character/Player/{armorId}";

            ChangeSpine(spineResourcePath);
            var sprite = SpriteHelper.GetPlayerSpineTextureWeapon(weaponId);

            SpineController.UpdateWeapon(sprite);
        }
Example #3
0
 public static Sprite GetPlayerSpineTexture(this Weapon weapon)
 {
     return(weapon is null
         ? SpriteHelper.GetPlayerSpineTextureWeapon(GameConfig.DefaultAvatarWeaponId)
         : SpriteHelper.GetPlayerSpineTextureWeapon(weapon.Id));
 }