Shoot-N-Slash/Assets/Scripts/Entities/Player.cs

41 lines
938 B
C#

using System;
using Core.Extensions;
using UnityEngine;
public class Player : Entity
{
[SerializeField] private Camera cam;
private void Update()
{
stats.attackOriginCenter.Lookat2D(cam.ScreenToWorldPoint(Input.mousePosition));
if (!stats.abilitiesDisabled)
{
if (Input.GetMouseButtonDown(0))
{
stats.abilities[0].TryAbility();
}
else if (Input.GetMouseButtonDown(1))
{
stats.abilities[1].TryAbility(); //the ability system needs to be fixed
}
else if (Input.GetKeyDown(KeyCode.Q) && stats.abilities[2])
{
stats.abilities[2].TryAbility();
}
}
}
private void FixedUpdate()
{
if (!stats.isStalled)
{
Vector2 movement = new Vector2(Input.GetAxis("Horizontal") * stats.speed, stats.rb.linearVelocityY);
if (Input.GetKeyDown(KeyCode.Space) && stats.OnGround())
{
movement.y = stats.jumpPower;
}
FlipSprite(movement);
stats.rb.linearVelocity = movement;
}
}
}