TheKingsRace/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/Dash.cs
2021-12-13 13:12:46 -06:00

63 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using MLAPI;
using UnityEngine;
public class Dash : NetworkBehaviour {
public Vector3 moveDirection;
public const float maxDashTime = 1.0f;
public float dashDistance = 10;
public float dashStoppingSpeed = 0.1f;
public SpecialItem dashItem;
private bool isOnCoolDown = false;
float currentDashTime = maxDashTime;
float dashSpeed = 12;
CharacterController characterController;
PlayerMovement pMove;
void Start(){
characterController = GetComponent<CharacterController>();
pMove = GetComponent<PlayerMovement>();
}
//UPDATE CHECK FOR MOVEMENT ONLY WHEN DASHING
void FixedUpdate(){
if (!IsLocalPlayer) { return; }
if(pMove.pStats.HasDash){
DashMovement();
}
}
private IEnumerator startCoolDown(){
Debug.Log("start corotine");
isOnCoolDown = true;
//driver.startUICooldown("Nitro");
yield return new WaitForSeconds(dashItem.cooldownM);
isOnCoolDown = false;
Debug.Log("end corotine");
}
private void DashMovement(){
if (Input.GetKeyDown(KeyCode.E) && isOnCoolDown == false)
{
currentDashTime = 0;
StartCoroutine(startCoolDown());
}
if(currentDashTime < maxDashTime)
{
moveDirection = transform.forward * dashDistance;
currentDashTime += dashStoppingSpeed;
}
else
{
moveDirection = Vector3.zero;
}
//characterController.Move(moveDirection * Time.deltaTime * dashSpeed);
}
}