using Kryz.CharacterStats.Examples; using Photon.Pun; using System.Collections; using System.Collections.Generic; using UnityEngine; public class AbilityKeyBinder : MonoBehaviour { [SerializeField] private BaseAbility ability; [SerializeField] private GameKey key; [SerializeField] private CastingStateController castingStateController; private PhotonView user; private Taggable userTag; private Mana mana; private void Awake() { user = GetComponentInParent(); userTag = GetComponentInParent(); mana = GetComponentInParent(); } private void Start() { if (!user.IsMine) this.enabled = false; } // Update is called once per frame void Update() { if (Input.GetKeyDown(key.keyCode)) { if (mana.EnoughMana(ability.manaCost)) castingStateController.RequestAbilityCast(ability, () => ability.Execute(user, userTag)); } } }