mirror of
https://github.com/Leahnaya/TheKingsRace.git
synced 2026-08-21 18:04:27 -05:00
created a debug prefab
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc7d359bb4c2d59458400abdc3083871
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,41 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class dDashCooldownState : dDashBaseState
|
||||
{
|
||||
bool cooldown = false; // is cooldown over
|
||||
|
||||
public override void EnterState(dDashStateManager dSM, dDashBaseState previousState){
|
||||
cooldown = false; // sets cooldown
|
||||
dSM.StartCoroutine(startCoolDown(dSM)); // activates cooldown
|
||||
}
|
||||
|
||||
public override void ExitState(dDashStateManager dSM, dDashBaseState nextState){
|
||||
|
||||
}
|
||||
|
||||
public override void UpdateState(dDashStateManager dSM){
|
||||
|
||||
//if after cooldown player is incapacitated still then Incapacitated
|
||||
if(cooldown && (dSM.mSM.currentState == dSM.mSM.RagdollState || dSM.mSM.currentState == dSM.mSM.RecoveringState || dSM.mSM.currentState == dSM.mSM.SlideState || dSM.mSM.currentState == dSM.mSM.CrouchState || dSM.mSM.currentState == dSM.mSM.CrouchWalkState)){
|
||||
dSM.SwitchState(dSM.IncapacitatedState);
|
||||
}
|
||||
|
||||
//if cooldown is over then None
|
||||
else if(cooldown){
|
||||
dSM.SwitchState(dSM.NoneState);
|
||||
}
|
||||
}
|
||||
|
||||
public override void FixedUpdateState(dDashStateManager dSM){
|
||||
|
||||
}
|
||||
|
||||
//cooldown function
|
||||
private IEnumerator startCoolDown(dDashStateManager dSM){
|
||||
//dSM.driver.startUICooldown(dashItem.name);
|
||||
yield return new WaitForSeconds(dSM.dashItem.cooldownM);
|
||||
cooldown = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa9f95b37196a914db649108d4732827
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,46 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class dDashDashingState : dDashBaseState
|
||||
{
|
||||
|
||||
Vector3 moveDirection; // direction vector
|
||||
const float maxDashTime = .8f; // max dash time
|
||||
float dashDistance = 10; // distance to dash
|
||||
float dashStoppingSpeed = 0.1f; // how quickly they stop
|
||||
float currentDashTime = maxDashTime; // current dash time
|
||||
float dashSpeed = 12; // dash speed
|
||||
|
||||
public override void EnterState(dDashStateManager dSM, dDashBaseState previousState){
|
||||
currentDashTime = 0; // resets dash time
|
||||
}
|
||||
|
||||
public override void ExitState(dDashStateManager dSM, dDashBaseState nextState){
|
||||
moveDirection = Vector3.zero; // resets moveDirection
|
||||
}
|
||||
|
||||
public override void UpdateState(dDashStateManager dSM){
|
||||
//if dash timer is active then move player
|
||||
if(currentDashTime < maxDashTime){
|
||||
moveDirection = dSM.transform.forward * dashDistance;
|
||||
currentDashTime += dashStoppingSpeed;
|
||||
}
|
||||
|
||||
//if dashtimer runs out then cooldown
|
||||
else{
|
||||
dSM.SwitchState(dSM.CooldownState);
|
||||
}
|
||||
|
||||
//if player becomes incapacitated then cooldown
|
||||
if(dSM.mSM.currentState == dSM.mSM.RagdollState || dSM.mSM.currentState == dSM.mSM.SlideState || dSM.mSM.currentState == dSM.mSM.CrouchState || dSM.mSM.currentState == dSM.mSM.CrouchWalkState){
|
||||
dSM.SwitchState(dSM.CooldownState);
|
||||
}
|
||||
}
|
||||
|
||||
public override void FixedUpdateState(dDashStateManager dSM){
|
||||
|
||||
//Actually moves the player
|
||||
dSM.moveController.Move(moveDirection * Time.deltaTime * dashSpeed);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56ebe9dc3558ad84998741b5be0cda1f
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,26 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class dDashIncapacitatedState : dDashBaseState
|
||||
{
|
||||
public override void EnterState(dDashStateManager dSM, dDashBaseState previousState){
|
||||
|
||||
}
|
||||
|
||||
public override void ExitState(dDashStateManager dSM, dDashBaseState nextState){
|
||||
|
||||
}
|
||||
|
||||
public override void UpdateState(dDashStateManager dSM){
|
||||
|
||||
//if no longer incapacitated then None
|
||||
if(dSM.mSM.currentState != dSM.mSM.RagdollState && dSM.mSM.currentState != dSM.mSM.RecoveringState && dSM.mSM.currentState != dSM.mSM.SlideState && dSM.mSM.currentState != dSM.mSM.CrouchState && dSM.mSM.currentState != dSM.mSM.CrouchWalkState){
|
||||
dSM.SwitchState(dSM.NoneState);
|
||||
}
|
||||
}
|
||||
|
||||
public override void FixedUpdateState(dDashStateManager dSM){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3980edf85fc6c74595f75901648239b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,37 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class dDashNoneState : dDashBaseState
|
||||
{
|
||||
public override void EnterState(dDashStateManager dSM, dDashBaseState previousState){
|
||||
|
||||
}
|
||||
|
||||
public override void ExitState(dDashStateManager dSM, dDashBaseState nextState){
|
||||
|
||||
}
|
||||
|
||||
public override void UpdateState(dDashStateManager dSM){
|
||||
|
||||
//checks if player has dash
|
||||
if(dSM.pStats.HasDash){
|
||||
|
||||
//if incapacitated then incapacitated
|
||||
if(dSM.mSM.currentState == dSM.mSM.RagdollState || dSM.mSM.currentState == dSM.mSM.SlideState || dSM.mSM.currentState == dSM.mSM.CrouchState || dSM.mSM.currentState == dSM.mSM.CrouchWalkState){
|
||||
dSM.SwitchState(dSM.IncapacitatedState);
|
||||
}
|
||||
|
||||
//if R key then Dashing
|
||||
else if ((Input.GetKeyDown(KeyCode.R) || Input.GetAxis("Dash") != 0)){
|
||||
dSM.SwitchState(dSM.DashingState);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override void FixedUpdateState(dDashStateManager dSM){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f665861e6fe6d10448d94669cb14ba01
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,11 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public abstract class dDashBaseState
|
||||
{
|
||||
public abstract void EnterState(dDashStateManager dSM, dDashBaseState previousState);
|
||||
public abstract void ExitState(dDashStateManager dSM, dDashBaseState nextState);
|
||||
public abstract void UpdateState(dDashStateManager dSM);
|
||||
public abstract void FixedUpdateState(dDashStateManager dSM);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3113ef1d29d60964989ec1a7429b88fe
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,82 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using MLAPI;
|
||||
|
||||
public class dDashStateManager : NetworkBehaviour
|
||||
{
|
||||
////Player States
|
||||
public dDashBaseState currentState;
|
||||
public dDashBaseState previousState;
|
||||
|
||||
//Dash States
|
||||
public dDashNoneState NoneState = new dDashNoneState();
|
||||
public dDashIncapacitatedState IncapacitatedState = new dDashIncapacitatedState();
|
||||
public dDashCooldownState CooldownState = new dDashCooldownState();
|
||||
public dDashDashingState DashingState = new dDashDashingState();
|
||||
////
|
||||
|
||||
////Components Section
|
||||
public CharacterController moveController; // Character Controller
|
||||
Animator animator; // Animation Controller
|
||||
////
|
||||
|
||||
////Scripts Section
|
||||
public PlayerStats pStats; // Player Stats
|
||||
public dMoveStateManager mSM; // movement state manager
|
||||
public CoolDown driver; // cooldown driver
|
||||
////
|
||||
|
||||
////Items Section
|
||||
public SpecialItem dashItem; // dash item
|
||||
////
|
||||
|
||||
void Awake(){
|
||||
|
||||
////Initialize Player Components
|
||||
moveController = GetComponent<CharacterController>(); // set Character Controller
|
||||
animator = GetComponent<Animator>(); // set animator
|
||||
//driver = GameObject.Find("Canvas").GetComponent<CoolDown>();
|
||||
////
|
||||
|
||||
////Initialize Scripts
|
||||
pStats = GetComponent<PlayerStats>(); // set PlayerStats
|
||||
mSM = GetComponent<dMoveStateManager>(); // set move state manager
|
||||
////
|
||||
}
|
||||
|
||||
void Start(){
|
||||
//players starting state
|
||||
currentState = NoneState;
|
||||
previousState = NoneState;
|
||||
currentState.EnterState(this, previousState);
|
||||
}
|
||||
|
||||
void Update(){
|
||||
|
||||
//if (!IsLocalPlayer) { return; }
|
||||
|
||||
//calls any logic in the update state from current state
|
||||
currentState.UpdateState(this);
|
||||
}
|
||||
|
||||
void FixedUpdate(){
|
||||
|
||||
//if (!IsLocalPlayer) { return; }
|
||||
|
||||
//calls any logic in the fixed update state from current state
|
||||
currentState.FixedUpdateState(this);
|
||||
}
|
||||
|
||||
public void SwitchState(dDashBaseState state){
|
||||
|
||||
currentState.ExitState(this, state);
|
||||
|
||||
//Sets the previous State
|
||||
previousState = currentState;
|
||||
|
||||
//updates current state and calls logic for entering
|
||||
currentState = state;
|
||||
currentState.EnterState(this, previousState);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1cd2fe42d6a34c43bc4a8b65dfaf533
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user