refactor: cleaning movement code

moved skills and potions to skill handler
This commit is contained in:
2025-08-31 00:25:23 +02:00
parent 8eac9d6bde
commit 63fede11cb
2 changed files with 38 additions and 24 deletions

View File

@@ -13,17 +13,51 @@ public class PlayerSkillHandler: MonoBehaviour
private Dictionary<PlayerSkillTree.Skills, float> cooldowns;
private Dictionary<PlayerSkillTree.Skills, float> cooldownsActivated;
private PlayerSkillTree playerSkillTree;
private CharacterController controller;
public bool IsDashing() { return isDashing; }
public void Start()
{
cooldowns = new Dictionary<PlayerSkillTree.Skills, float>();
cooldownsActivated = new Dictionary<PlayerSkillTree.Skills, float>();
controller = GetComponent<CharacterController>();
playerSkillTree = PlayerSkillTree.Instance;
AssignCooldowns();
}
public void Update()
{
if (Input.GetKeyDown(KeyCode.Space) && !IsOnCooldown(PlayerSkillTree.Skills.Dash) && playerSkillTree.IsSkillUnlocked(PlayerSkillTree.Skills.Dash))
{
/* Get the input for horizontal and vertical movement */
float moveX = Input.GetAxisRaw("Horizontal");
float moveZ = Input.GetAxisRaw("Vertical");
var move = new Vector3(moveX, 0, moveZ).normalized;
StartCoroutine(DashCoroutine(controller, move));
}
if (Input.GetKeyDown(KeyCode.L))
{
if (playerSkillTree.TryUsePotion(PotionHandler.PotionType.HealthBig))
{
Debug.Log("Potion used!");
}
else
{
Debug.Log("Potion not available!");
}
}
}
public void FixedUpdate()
{
}
public IEnumerator DashCoroutine(CharacterController controller, Vector3 direction)
{
Physics.IgnoreLayerCollision(6, 7, true); // disable collisions between player and enemies
@@ -61,8 +95,8 @@ public class PlayerSkillHandler: MonoBehaviour
public bool IsOnCooldown(PlayerSkillTree.Skills skill)
{
Debug.Log("cooldown time: " + (Time.time - cooldownsActivated[skill]));
Debug.Log("skill cooldown: " + cooldowns[skill]);
//Debug.Log("cooldown time: " + (Time.time - cooldownsActivated[skill]));
//Debug.Log("skill cooldown: " + cooldowns[skill]);
return !cooldowns.ContainsKey(skill) || !cooldownsActivated.ContainsKey(skill)
? false
: Time.time - cooldownsActivated[skill] < cooldowns[skill];