public void Equip(int armorId, int weaponId) { var spineResourcePath = $"Character/Player/{armorId}"; ChangeSpine(spineResourcePath); var sprite = SpriteHelper.GetPlayerSpineTextureWeapon(weaponId); SpineController.UpdateWeapon(sprite); }
public void EquipWeapon(Weapon weapon) { if (IsFullCostumeEquipped || !SpineController) { return; } var sprite = weapon.GetPlayerSpineTexture(); SpineController.UpdateWeapon(sprite); }
private void UpdateTailById(int tailCostumeId) { if (IsFullCostumeEquipped || SpineController is null) { return; } var sheet = Game.instance.TableSheets.CostumeItemSheet; if (!sheet.TryGetValue(tailCostumeId, out var row, true)) { return; } var sprite = Resources.Load <Sprite>(row.SpineResourcePath); SpineController.UpdateTail(sprite); }
private void UpdateEyeById(int eyeCostumeId) { if (IsFullCostumeEquipped || SpineController is null) { return; } var sheet = Game.instance.TableSheets.CostumeItemSheet; if (!sheet.TryGetValue(eyeCostumeId, out var row, true)) { return; } var halfSprite = Resources.Load <Sprite>($"{row.SpineResourcePath}_half"); var openSprite = Resources.Load <Sprite>($"{row.SpineResourcePath}_open"); SpineController.UpdateEye(halfSprite, openSprite); }
private void UpdateEarById(int earCostumeId) { if (IsFullCostumeEquipped || SpineController is null) { return; } var sheet = Game.instance.TableSheets.CostumeItemSheet; if (!sheet.TryGetValue(earCostumeId, out var row, true)) { return; } var leftSprite = Resources.Load <Sprite>($"{row.SpineResourcePath}_left"); var rightSprite = Resources.Load <Sprite>($"{row.SpineResourcePath}_right"); SpineController.UpdateEar(leftSprite, rightSprite); }
private void UpdateHairById(int hairCostumeId) { if (IsFullCostumeEquipped || SpineController is null) { return; } var sheet = Game.instance.TableSheets.CostumeItemSheet; if (!sheet.TryGetValue(hairCostumeId, out var row, true)) { return; } var sprites = Enumerable.Range(0, SpineController.HairSlotCount) .Select(index => $"{row.SpineResourcePath}_{SpineController.hairTypeIndex:00}_{index + 1:00}") .Select(Resources.Load <Sprite>).ToList(); SpineController.UpdateHair(sprites); }
public override void OnStateEnter( Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (!_controller) { _controller = animator.GetComponent <SpineController>(); if (!_controller) { throw new NotFoundComponentException <SpineController>(); } } if (!_skeletonAnimation) { _skeletonAnimation = animator.GetComponentInChildren <SkeletonAnimation>(); if (!_skeletonAnimation) { throw new NotFoundComponentException <SkeletonAnimation>(); } _spineAnimationState = _skeletonAnimation.state; } try { _trackEntry = _controller.PlayAnimationForState(animationClip, layer); _trackEntry.TimeScale = timeScale; _normalizedTime = 0f; } catch (KeyNotFoundException) { Debug.LogError($"{nameof(_trackEntry)} is null!"); } }