protected void UseSkill(string id, Vector3?aimPosition) { BaseSkill skill = null; short skillLevel = 0; if (!GameInstance.Skills.TryGetValue(BaseGameData.MakeDataId(id), out skill) || skill == null || !PlayerCharacterEntity.GetCaches().Skills.TryGetValue(skill, out skillLevel)) { return; } bool isAttackSkill = skill.IsAttack(); if (!aimPosition.HasValue) { if (PlayerCharacterEntity.RequestUseSkill(skill.DataId, isLeftHandAttacking) && isAttackSkill) { // Requested to use attack skill then change attacking hand isLeftHandAttacking = !isLeftHandAttacking; } } else { if (PlayerCharacterEntity.RequestUseSkill(skill.DataId, isLeftHandAttacking, aimPosition.Value) && isAttackSkill) { // Requested to use attack skill then change attacking hand isLeftHandAttacking = !isLeftHandAttacking; } } }
protected void UseSkill(string id, AimPosition aimPosition) { BaseSkill skill; if (!GameInstance.Skills.TryGetValue(BaseGameData.MakeDataId(id), out skill) || skill == null || !PlayerCharacterEntity.GetCaches().Skills.TryGetValue(skill, out _)) { return; } bool isAttackSkill = skill.IsAttack(); if (PlayerCharacterEntity.UseSkill(skill.DataId, isLeftHandAttacking, SelectedEntityObjectId, aimPosition) && isAttackSkill) { isLeftHandAttacking = !isLeftHandAttacking; } }