From 6f0b3a0d0bc6a8d87b2a8a9b923cad7257258125 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Thu, 10 Feb 2022 21:37:19 -0600 Subject: [PATCH 01/11] Debug Scripts have been cleaned up. I won't apply this cleanup to the networked version yet because they will be updated to a state machine anyways. --- .../DebugPlayer/DebugItems/dGrapplingHook.cs | 2 +- .../DebugPlayer/DebugItems/dWallRun.cs | 13 +- .../DebugPlayer/DebugStateStuff.meta | 8 + .../DebugStateStuff/AerialState.meta | 8 + .../DebugStateStuff/AttackState.meta | 8 + .../DebugStateStuff/DashState.meta | 8 + .../DebugStateStuff/MovementState.meta | 8 + .../MovementState/MoveBaseState.cs | 11 + .../MovementState/MoveBaseState.cs.meta | 11 + .../MovementState/MoveStateManager.cs | 38 ++ .../MovementState/MoveStateManager.cs.meta | 11 + .../DebugStateStuff/MovementState/WASD.meta | 8 + .../MovementState/WASD/MoveIdleState.cs | 22 + .../MovementState/WASD/MoveIdleState.cs.meta | 11 + .../MovementState/WASD/MoveJogState.cs | 22 + .../MovementState/WASD/MoveJogState.cs.meta | 11 + .../MovementState/WASD/MoveRunState.cs | 22 + .../MovementState/WASD/MoveRunState.cs.meta | 11 + .../MovementState/WASD/MoveWalkState.cs | 22 + .../MovementState/WASD/MoveWalkState.cs.meta | 11 + .../DebugStateStuff/NitroState.meta | 8 + .../DebugPlayer/dPlayerMovement.cs | 447 ++++++++---------- .../Scripts/PlayerScripts/PlayerInventory.cs | 2 +- .../Resources/ItemObjects/Dash.asset | 2 +- .../Resources/ItemObjects/Nitro.asset | 2 +- 25 files changed, 467 insertions(+), 260 deletions(-) create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AttackState.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState.meta diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs index 6ac969c..9f55a59 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dGrapplingHook.cs @@ -172,7 +172,7 @@ public class dGrapplingHook : NetworkBehaviour //WILL NEED ADJUSTMENT OR REMOVAL IN THE FUTURE //ungrapple on jump - if(playerMovement.GetJumpPressed() && !playerMovement.isGrounded && isGrappled){ + if(playerMovement.jumpHeld && !playerMovement.isGrounded && isGrappled){ release = true; isGrappled = false; } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dWallRun.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dWallRun.cs index e8d655c..2fa4ab0 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dWallRun.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dWallRun.cs @@ -45,14 +45,12 @@ public class dWallRun : NetworkBehaviour return !isPlayergrounded() && verticalAxis > 0 && VerticalCheck(); } - bool VerticalCheck() - { + bool VerticalCheck(){ return !Physics.Raycast(transform.position, Vector3.down, minimumHeight); } - void Start() - { + void Start(){ playerMovementController = GetComponent(); directions = new Vector3[]{ @@ -65,15 +63,14 @@ public class dWallRun : NetworkBehaviour } - public void WallRunRoutine() - { + public void WallRunRoutine(){ //if (!IsLocalPlayer) { return; } isWallRunning = false; hits = new RaycastHit[directions.Length]; - if(playerMovementController.GetJumpPressed()) + if(playerMovementController.jumpHeld) { jumping = true; } @@ -173,7 +170,7 @@ public class dWallRun : NetworkBehaviour moveToSet.y = 0; // - playerMovementController.SetPlayerVelocity(moveToSet); + playerMovementController.vel = moveToSet; if(!isWallRunning){ firstAttach = true; isWallRunning = true; diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff.meta new file mode 100644 index 0000000..a54f32c --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 462a7a4f48de76849922a2831f1b914e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState.meta new file mode 100644 index 0000000..3d21a1c --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 610121168135e404a920a8b2ea9aa8d3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AttackState.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AttackState.meta new file mode 100644 index 0000000..4a7c2aa --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AttackState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f2cb4f0002be5f46bbd5661b5364c16 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState.meta new file mode 100644 index 0000000..122f643 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9ee815c205c3f44d8052ed3699439e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState.meta new file mode 100644 index 0000000..2edd84b --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 971e1f1cbdebc9f49ac05494f803e05e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs new file mode 100644 index 0000000..624f708 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class MoveBaseState +{ + public abstract void EnterState(MoveStateManager mSM); + public abstract void UpdateState(MoveStateManager mSM); + public abstract void FixedUpdateState(MoveStateManager mSM); + public abstract void OnCollisionEnter(MoveStateManager mSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs.meta new file mode 100644 index 0000000..42bd7fc --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7faaa4b89293d9e4992142ab5c4fcc35 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs new file mode 100644 index 0000000..649f2bf --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs @@ -0,0 +1,38 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveStateManager : MonoBehaviour +{ + MoveBaseState currentState; + MoveIdleState IdleState = new MoveIdleState(); + MoveWalkState WalkState = new MoveWalkState(); + MoveJogState JogState = new MoveJogState(); + MoveRunState RunState = new MoveRunState(); + + // Start is called before the first frame update + void Start() + { + //players starting state + currentState = IdleState; + currentState.EnterState(this); + } + + // Update is called once per frame + void Update() + { + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + void SwitchState(MoveBaseState state){ + currentState = state; + state.EnterState(this); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs.meta new file mode 100644 index 0000000..7a531ab --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7adf74561e73e1c4e99ec7e3d6a08738 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD.meta new file mode 100644 index 0000000..36e3a84 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e29a437006aa0374090c478aae4af886 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs new file mode 100644 index 0000000..1113dd1 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveIdleState : MoveBaseState +{ + public override void EnterState(MoveStateManager mSM){ + + } + + public override void UpdateState(MoveStateManager mSM){ + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs.meta new file mode 100644 index 0000000..61a992b --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 125078d4aa4c6df499f04e79c5142b5f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs new file mode 100644 index 0000000..5028487 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveJogState : MoveBaseState +{ + public override void EnterState(MoveStateManager mSM){ + + } + + public override void UpdateState(MoveStateManager mSM){ + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs.meta new file mode 100644 index 0000000..7de430a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 51bfa6fd57184214195d51b209c92454 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs new file mode 100644 index 0000000..6b6cdb5 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveRunState : MoveBaseState +{ + public override void EnterState(MoveStateManager mSM){ + + } + + public override void UpdateState(MoveStateManager mSM){ + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs.meta new file mode 100644 index 0000000..0680895 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 022dbadfec93fcf489a6e2bab39d0553 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs new file mode 100644 index 0000000..8d0b450 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveWalkState : MoveBaseState +{ + public override void EnterState(MoveStateManager mSM){ + + } + + public override void UpdateState(MoveStateManager mSM){ + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs.meta new file mode 100644 index 0000000..820edc9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 44721a52e3dd5634bbd29b627ef2886b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState.meta new file mode 100644 index 0000000..35013bc --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49be17e5729da3e45ac2be9a69003e55 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs index 7eeb09a..f66a578 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs @@ -6,125 +6,110 @@ using UnityEngine.UI; public class dPlayerMovement : NetworkBehaviour { + ////Objects Sections + private GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// - //Scripts - public PlayerStats pStats; + ////Components Section + private CharacterController moveController; // Character Controller + private Rigidbody rB; // Players Rigidbody + private CapsuleCollider capCol; // Players Capsule Collider + private Animator animator; // Animation Controller + //// - //Variable Section - ///// + ////Scripts Section + public PlayerStats pStats; // Player Stats + private dGrapplingHook grapple; // Grappling Hook + private dNitro nitro; // Nitro + private dWallRun wallRun; // Wallrun + //// + + ////Player Variables Section //Speed Variables - public Vector3 vel; + public Vector3 vel; // moveZ + moveX + private Vector3 moveZ; // Local Horizontal Vector + private Vector3 moveX; // Local Vertical Vector + public Vector3 driftVel; // Lerped Movement Vector - private Vector3 moveZ; - private Vector3 moveX; - public Vector3 driftVel; - - //Player prefab - private GameObject parentObj; - - //Character Moving - private CharacterController moveController; - - //Jump value - public int curJumpNum; // current Jumps used - private bool jumpHeld; // Is jump being held - private bool jumpPressed; // Has Jump been pressed + //Jump Variables + public int curJumpNum; // current Jumps Used + public bool jumpHeld; // Jump is Held + private bool jumpPressed; // Jamp was pressed float coyJumpTimer = 0.1f; // Default Coyote Jump time - float curCoyJumpTimer; // current Coyote Jump time + float curCoyJumpTimer = 0.1f; // current Coyote Jump time public float lowJumpMultiplier; // Short jump multiplier public float fallMultiplier; // High Jump Multiplier - //Gravity values - public float g = 0; // the y velocity affected by player Grav - private float maxG = -100; //The max downwards y velocity or g the player can have + //Gravity Variables + public float g = 0; // player downwards velocity + private float maxG = -100; // max downwards velocity - //Glide Values - bool tempSet = false; - float tempTraction = 0.0f; + //Glide Variables + private bool tempSetTraction = false; // has the Traction been temporarily set + private float tempTraction = 0.0f; // temporary traction - //Impact physics - private float mass = 5.0F; // defines the character mass - private Vector3 impact = Vector3.zero; - private float distToGround; - - //Wallrunning - private dWallRun wallRun; + //Impact Variables + private float mass = 5.0F; // mass variable for Impact + private Vector3 impact = Vector3.zero; // Impact Vector + private float distToGround; // distance to ground //Ground Check - public bool isGrounded; //Better custom is grounded - public float groundCheckDistance = 0.05f; //how far away from the ground to not be considered grounded - private float lastTimeJumped = 0f; //Last time the player jumped - const float jumpGroundingPreventionTime = 0.2f; // delay in checking if we are grounded after a jump - const float groundCheckDistanceInAir = 0.07f; //How close we have to get to ground to start checking for grounded again - private Ray groundRay; - private RaycastHit groundHit; + public bool isGrounded; // is player grounded + public float groundCheckDistance = 0.05f; // offset distance to check ground + private float lastTimeJumped = 0f; // Last time the player jumped + private const float jumpGroundingPreventionTime = 0.2f; // delay so player doesn't get snapped to ground while jumping + private const float groundCheckDistanceInAir = 0.07f; // How close we have to get to ground to start checking for grounded again + private Ray groundRay; // ground ray + private RaycastHit groundHit; // ground raycast //Camera Variables - private Vector3 camRotation; - public Camera cam; - + private Vector3 camRotation; // cameras camera rotation vector [Range(-45, -15)] - public int minAngle = -30; + public int minAngle = -30; // minimum downwards cam angle [Range(30, 80)] - public int maxAngle = 45; + public int maxAngle = 45; // Max upwards cam angle [Range(50, 500)] - public int sensitivity = 200; + public int sensitivity = 200; // Camera sensitivity //Ragdoll variables - private Vector3 hit; - private Rigidbody rB; - private CapsuleCollider capCol; - private bool firstHit = false; - //private bool heldDown = false; //Variable for testing Ragdoll reenable if needed - private bool beginRagTimer = false; - private float ragTime; - private Vector3 prevRot; - private Vector3 hitForce; + private bool firstHit = false; // has first contact happened + private bool beginRagTimer = false; // beging ragdoll timer bool + private float ragTime; // ragdoll timer + private Vector3 prevRot; // Save last rotation before hit //Slide Variables - public bool isSliding = false; - private float originalTraction; - private RaycastHit ray; - private Vector3 up; - private bool qDown; - private float tempCurVel; + public bool isSliding = false; // If player is sliding /////////// Maybe unnecessary once state machine is implemented + private float originalTraction; // Original Traction + private RaycastHit slideRay; // slide raycast + private Vector3 slideUp; // Slide upwards direction + private bool qDown; // is q being pressed + private float tempSlideCurVel; // temp vel while sliding so they don't lose speed + //// - //Grapple - private dGrapplingHook grapple; - - //Nitro - private dNitro nitro; - - - //Animation controller - Animator animator; - - void Awake() - { - //Initialize Player Components - moveController = GetComponent(); // Character Controller - rB = GetComponent(); //Rigid Body - capCol = GetComponent(); // Capsule Collider + void Awake(){ + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider capCol.enabled = true; - parentObj = transform.parent.gameObject; - animator = GetComponent(); + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// - //Initialize Scripts - pStats = GetComponent(); // PlayerStats - wallRun = GetComponent(); //Wallrun - grapple = GetComponent(); - nitro = GetComponent(); - - //Get parents up direction - up = GetComponentInParent().up; -// - //Coyote Timer Initialization - curCoyJumpTimer = coyJumpTimer; + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + wallRun = GetComponent(); // set Wallrun + grapple = GetComponent(); // set grapplingHook + nitro = GetComponent(); // set Nitro + //// } - void Start() - { - distToGround = GetComponent().bounds.extents.y; + void Start(){ + ////Initialize important starting variables + distToGround = GetComponent().bounds.extents.y; // set players distance to ground + slideUp = GetComponentInParent().up; // get parents up direction + //// // Don't do movement unless this is the local player controlling it // Otherwise we let the server handle moving us @@ -134,12 +119,12 @@ public class dPlayerMovement : NetworkBehaviour // Don't lock the cursor multiple times if this isn't the local player // Also don't want to lock the cursor for the king // That is why this is after the LocalPlayer check - Cursor.lockState = CursorLockMode.Locked; + + Cursor.lockState = CursorLockMode.Locked; // Lock cursor on start if you are the local player } // Update is called once per frame - void FixedUpdate() - { + void FixedUpdate(){ // Don't do movement unless this is the local player controlling it // Otherwise we let the server handle moving us //if (!IsLocalPlayer) { return; } @@ -152,16 +137,14 @@ public class dPlayerMovement : NetworkBehaviour if(moveController.enabled == true){ //input controls for movement InputController(); - - //if suffiecient impact magnitude is applied then move player - if (impact.magnitude > 0.2F) moveController.Move(impact * Time.deltaTime); - - // consumes the impact energy each cycle: - impact = Vector3.Lerp(impact, Vector3.zero, 5*Time.deltaTime); + + //Dissipates Impact + DissipateImpact(); } //If Character controller is disabled use rigidbody calculations else{ + //if ragdoll timer is over disable ragdolling if (RagdollTimer() == 0){ firstHit = false; @@ -172,15 +155,18 @@ public class dPlayerMovement : NetworkBehaviour g -= pStats.PlayerGrav * Time.deltaTime; rB.AddForce(new Vector3(0,g,0)); } - Respawn(); + + /////ONLY FOR DEBUG PURPOSES REMOVE WHEN UNNECESSARY + if (transform.position.y < -5) + { + TeleportPlayer(new Vector3(0,100,0)); + } } - - + ////Input Related Functions //Reads inputs and moves player - private void InputController() - { + private void InputController(){ //Check if player is grounded before each frame GroundCheck(); @@ -230,11 +216,8 @@ public class dPlayerMovement : NetworkBehaviour } - - //Calculates speed current player needs to be going - public float PlayerSpeed() - { + public float PlayerSpeed(){ WallCheck(); //If nothing is pressed speed is 0 if ((Input.GetAxis("Vertical") == 0.0f && Input.GetAxis("Horizontal") == 0.0f) || isSliding || (grapple.isGrappled && !isGrounded)) @@ -270,27 +253,14 @@ public class dPlayerMovement : NetworkBehaviour } } + //Need to implement to check if player has hit a wall in the direction they are moving and they should lose speed private void WallCheck(){ //IMPLEMENT A RAYCAST CHECK } - //Apply Impact for when force needs to be applied without ragdolling - public void AddImpact(Vector3 dir, float force) - { - //if (!IsLocalPlayer) { return; } - - //Normalize direction multiply by force and add it to the impact - dir.Normalize(); - if (dir.y < 0) dir.y = -dir.y; // reflect down force on the ground - impact += dir.normalized * force / mass; - } - - - //Jump Function - private void Jump() - { + private void Jump(){ //If space/south gamepad button is pressed apply an upwards force to the player if (Input.GetAxis("Jump") != 0 && !jumpHeld && curJumpNum < pStats.JumpNum && !isSliding) { @@ -335,41 +305,8 @@ public class dPlayerMovement : NetworkBehaviour } } - //Get and update PlayerValues for other scripts - //Get jumpHeld - public bool GetJumpPressed(){ - return jumpHeld; - } - - //Get player cam - public Camera GetPlayerCamera() - { - return cam; - } - - //Update Player Velocity - public void AddPlayerVelocity(Vector3 additiveVelocity) - { - vel += additiveVelocity; - } - - //Set Player Velocity - public void SetPlayerVelocity(Vector3 newVelocity) - { - vel = newVelocity; - } - - //Reduce player Jump - public void decrementCurrentJumpNumber() - { - curJumpNum--; - } - - - //Camera and player rotation - private void Rotation() - { + private void Rotation(){ //If moveController is enabled allow Camera control if(moveController.enabled){ //if input is received from Mouse X @@ -399,21 +336,7 @@ public class dPlayerMovement : NetworkBehaviour } } - - - //REMOVE WHEN UNNECCESARY - //Respawns player if they fall below a certain point - private void Respawn() - { - if (transform.position.y < -5) - { - TeleportPlayer(new Vector3(0,100,0)); - } - } - - - - //Gravity Function for adjusting y-vel due to wallrun/glide/etc + //Gravity Function for adjusting y-vel due to wallrun/glide/etc private void UpdateGravity(){ //Gliding @@ -422,16 +345,16 @@ public class dPlayerMovement : NetworkBehaviour GravityCalculation(8); //Set temp values to put traction back to normal - if(tempSet == false){ + if(tempSetTraction == false){ tempTraction = pStats.Traction; pStats.Traction = 1.0f; - tempSet = true; + tempSetTraction = true; } } //if temporary values have been set restore them back to the normal values - else if(pStats.HasGlider && g==0 && tempSet == true){ + else if(pStats.HasGlider && g==0 && tempSetTraction == true){ pStats.Traction = tempTraction; - tempSet = false; + tempSetTraction = false; } //Wallrunning @@ -489,10 +412,93 @@ public class dPlayerMovement : NetworkBehaviour } } + //Slide Function + private void Slide(){ + //if the q button or the east face button on gamepad is held down + if ((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))) { + qDown = true; + if (isSliding == false){ + + originalTraction = pStats.Traction; + this.gameObject.transform.eulerAngles = new Vector3(this.transform.eulerAngles.x - 90, this.transform.eulerAngles.y, this.transform.eulerAngles.z); + isSliding = true; + //if it can't find the animator (capsul prefab) + if (GetComponent() == null){ + moveController.height = 1.0f; + } + //if the regular model + else { + moveController.height *= .5f; + } + pStats.Traction = 0.01f; + + } + tempSlideCurVel = driftVel.magnitude * 50f; + transform.Rotate(Vector3.forward * -sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + pStats.Traction += .004f; + } + else{ + qDown = false; + } + //NOTE: potentialy change this to only allow player back up if there is nothing above them + if (qDown == false && isSliding == true) { + //if nothing is above the object, stop sliding + if (Physics.Raycast(this.gameObject.transform.position, slideUp, out slideRay, 5f) == false) + { + this.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + isSliding = false; + pStats.CurVel = tempSlideCurVel; + //if it can't find the animator (capsul prefab) + if (GetComponent() == null) + { + moveController.height = 2.0f; + } + //if the regular model + else + { + moveController.height *= 2.0f; + } + pStats.Traction = originalTraction; + } + else{ + Debug.Log("Object above you"); + + } + } + } + //// + + ////Physics Calculation Unrelated to inputs + //Apply Impact for when force needs to be applied without ragdolling + public void AddImpact(Vector3 dir, float force){ + //if (!IsLocalPlayer) { return; } + + //Normalize direction multiply by force and add it to the impact + dir.Normalize(); + if (dir.y < 0) dir.y = -dir.y; // reflect down force on the ground + impact += dir.normalized * force / mass; + } + + //Dissipates Impact Force + private void DissipateImpact(){ + //if suffiecient impact magnitude is applied then move player + if (impact.magnitude > 0.2F) moveController.Move(impact * Time.deltaTime); + + // consumes the impact energy each cycle: + impact = Vector3.Lerp(impact, Vector3.zero, 5*Time.deltaTime); + } + + //Clear all stored movement + public void CancelMomentum(){ + pStats.CurVel = 0; + vel = Vector3.zero; + moveX = Vector3.zero; + moveZ = Vector3.zero; + driftVel = Vector3.zero; + } //Checks if player is grounded - void GroundCheck() - { + void GroundCheck(){ // Make sure that the ground check distance while already in air is very small, to prevent suddenly snapping to ground float chosenGroundCheckDistance = isGrounded ? (moveController.skinWidth + groundCheckDistance) : groundCheckDistanceInAir; @@ -514,8 +520,10 @@ public class dPlayerMovement : NetworkBehaviour } } } + //// - //Ragdoll Functions + ////Ragdoll Functions + //Player Gets Hit public void GetHit(Vector3 dir, float force){ //if (!IsLocalPlayer) { return; } if(firstHit == false){ @@ -525,6 +533,8 @@ public class dPlayerMovement : NetworkBehaviour firstHit = true; } } + + //Enable Ragdoll and update all related variables private void EnableRagdoll(){ ragTime = pStats.RecovTime; prevRot = transform.localEulerAngles; @@ -534,6 +544,7 @@ public class dPlayerMovement : NetworkBehaviour rB.detectCollisions = true; } + //Disable Ragdoll and revert all ragdoll variables private void DisableRagdoll(){ capCol.enabled = false; moveController.enabled = true; @@ -560,73 +571,11 @@ public class dPlayerMovement : NetworkBehaviour return ragTime; } - - //Slide Function - private void Slide(){ - //if the q button or the east face button on gamepad is held down - if ((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))) { - qDown = true; - if (isSliding == false){ - - originalTraction = pStats.Traction; - this.gameObject.transform.eulerAngles = new Vector3(this.transform.eulerAngles.x - 90, this.transform.eulerAngles.y, this.transform.eulerAngles.z); - isSliding = true; - //if it can't find the animator (capsul prefab) - if (GetComponent() == null){ - moveController.height = 1.0f; - } - //if the regular model - else { - moveController.height *= .5f; - } - pStats.Traction = 0.01f; - - } - tempCurVel = driftVel.magnitude * 50f; - transform.Rotate(Vector3.forward * -sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); - pStats.Traction += .004f; - } - else{ - qDown = false; - } - //NOTE: potentialy change this to only allow player back up if there is nothing above them - if (qDown == false && isSliding == true) { - //if nothing is above the object, stop sliding - if (Physics.Raycast(this.gameObject.transform.position, up, out ray, 5f) == false) - { - this.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); - isSliding = false; - pStats.CurVel = tempCurVel; - //if it can't find the animator (capsul prefab) - if (GetComponent() == null) - { - moveController.height = 2.0f; - } - //if the regular model - else - { - moveController.height *= 2.0f; - } - pStats.Traction = originalTraction; - } - else{ - Debug.Log("Object above you"); - - } - } - } + //// - public void CancelMomentum() - { - pStats.CurVel = 0; - vel = Vector3.zero; - moveX = Vector3.zero; - moveZ = Vector3.zero; - driftVel = Vector3.zero; - } - - private IEnumerator RespawnTimer() - { + //// Respawn and Relocation Functions + //Respawn timer + private IEnumerator RespawnTimer(){ float duration = 2f; float normalizedTime = 0; while (normalizedTime <= 1f) @@ -637,8 +586,10 @@ public class dPlayerMovement : NetworkBehaviour moveController.enabled = true; } + //Teleports player to new location public void TeleportPlayer(Vector3 position, Quaternion rotation = new Quaternion()){ transform.position = position; transform.rotation = rotation; } + //// } diff --git a/Assets/Scripts/PlayerScripts/PlayerInventory.cs b/Assets/Scripts/PlayerScripts/PlayerInventory.cs index 0e41a2f..bc76be5 100644 --- a/Assets/Scripts/PlayerScripts/PlayerInventory.cs +++ b/Assets/Scripts/PlayerScripts/PlayerInventory.cs @@ -8,7 +8,7 @@ public class PlayerInventory : NetworkBehaviour { //List of items - [SerializeField] Dictionary playerItemDict = new Dictionary(); + [SerializeField] private Dictionary playerItemDict = new Dictionary(); public Dictionary PlayerItemDict{ get{ return playerItemDict; } } diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Dash.asset b/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Dash.asset index a2a74b1..41e5adc 100644 --- a/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Dash.asset +++ b/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Dash.asset @@ -33,4 +33,4 @@ MonoBehaviour: hasGliderM: 0 hasNitroM: 0 hasDashM: 1 - cooldownM: 15 + cooldownM: 3 diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Nitro.asset b/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Nitro.asset index 1b16c28..2af63a5 100644 --- a/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Nitro.asset +++ b/Assets/Scripts/PlayerScripts/PlayerItems/Resources/ItemObjects/Nitro.asset @@ -34,4 +34,4 @@ MonoBehaviour: hasGliderM: 0 hasNitroM: 1 hasDashM: 0 - cooldownM: 5 + cooldownM: 10 From e1cf0bb094f8e404c530e8a94ae9b01fe04f769f Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Mon, 14 Feb 2022 00:32:37 -0600 Subject: [PATCH 02/11] Have a lot of the basic movement in the stateMachine Will need to finish up and implement some of the ragdoll interactions --- .../Prefabs/Player/DebugPlayerPrefab 1.prefab | 5 +- Assets/Scenes/Demos/MovementScene.unity | 5387 ++++++++++++++++- .../DebugStateStuff/AerialState/Aerial.meta | 8 + .../AerialState/Aerial/AerialFallingState.cs | 31 + .../Aerial/AerialFallingState.cs.meta | 11 + .../AerialState/Aerial/AerialGlidingState.cs | 35 + .../Aerial/AerialGlidingState.cs.meta | 11 + .../AerialState/Aerial/AerialGroundedState.cs | 27 + .../Aerial/AerialGroundedState.cs.meta | 11 + .../AerialState/Aerial/AerialJumpingState.cs | 30 + .../Aerial/AerialJumpingState.cs.meta | 11 + .../AerialState/AerialBaseState.cs | 11 + .../AerialState/AerialBaseState.cs.meta | 11 + .../AerialState/AerialStateManager.cs | 228 + .../AerialState/AerialStateManager.cs.meta | 11 + .../MovementState/Grapple.meta | 8 + .../MovementState/Incapcitated.meta | 8 + .../Incapcitated/MoveRagdollState.cs | 52 + .../Incapcitated/MoveRagdollState.cs.meta | 11 + .../Incapcitated/MoveRecoveringState.cs | 24 + .../Incapcitated/MoveRecoveringState.cs.meta | 11 + .../MovementState/MoveStateManager.cs | 227 +- .../DebugStateStuff/MovementState/Slide.meta | 8 + .../MovementState/Slide/MoveCrouchState.cs | 59 + .../Slide/MoveCrouchState.cs.meta | 11 + .../Slide/MoveCrouchWalkState.cs | 22 + .../Slide/MoveCrouchWalkState.cs.meta | 11 + .../MovementState/Slide/MoveSlideState.cs | 71 + .../Slide/MoveSlideState.cs.meta | 11 + .../MovementState/WASD/MoveIdleState.cs | 13 +- .../MovementState/WASD/MoveJogState.cs | 18 +- .../MovementState/WASD/MoveRunState.cs | 14 +- .../MovementState/WASD/MoveWalkState.cs | 18 +- .../{AttackState.meta => OffenseState.meta} | 0 .../DebugPlayer/dPlayerMovement.cs | 1 + Assets/Scripts/PlayerScripts/PlayerStats.cs | 8 + 36 files changed, 6338 insertions(+), 96 deletions(-) create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs.meta rename Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/{AttackState.meta => OffenseState.meta} (100%) diff --git a/Assets/Prefabs/Player/DebugPlayerPrefab 1.prefab b/Assets/Prefabs/Player/DebugPlayerPrefab 1.prefab index b039ab9..c4edd06 100644 --- a/Assets/Prefabs/Player/DebugPlayerPrefab 1.prefab +++ b/Assets/Prefabs/Player/DebugPlayerPrefab 1.prefab @@ -3779,16 +3779,17 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 77da7821cb08097418fbac702ac00f93, type: 3} m_Name: m_EditorClassIdentifier: + cam: {fileID: 2637749574256434612} pStats: {fileID: 0} vel: {x: 0, y: 0, z: 0} driftVel: {x: 0, y: 0, z: 0} curJumpNum: 0 + jumpHeld: 0 lowJumpMultiplier: 0.001 fallMultiplier: 1.6 g: 0 isGrounded: 0 groundCheckDistance: 0.05 - cam: {fileID: 2637749574256434612} minAngle: -18 maxAngle: 30 sensitivity: 200 @@ -3819,7 +3820,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a1f672a4741230d4a963fb68f5f8a8aa, type: 3} m_Name: m_EditorClassIdentifier: - maxGrappleDistance: 25 + maxGrappleDistance: 20 maxGrabDistance: 30 isGrappled: 0 ropeLength: 0 diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index d4dd035..972e3c8 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -1943,7 +1943,7 @@ Transform: - {fileID: 360025848} - {fileID: 577483205} m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1257935739 GameObject: @@ -2247,83 +2247,6 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 ---- !u!1001 &1444336204 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalPosition.y - value: 107 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3039877022422189067, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_Name - value: DebugPlayerPrefab 1 - objectReference: {fileID: 0} - - target: {fileID: 6664667533527261801, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: maxVel - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 6664667533527261801, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: minVel - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 6664667533527261801, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: hasGrapple - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6664667533527261801, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: hasWallrun - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6664667533527262097, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: maxGrappleDistance - value: 20 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} --- !u!1 &1493944130 GameObject: m_ObjectHideFlags: 0 @@ -2395,7 +2318,7 @@ Transform: - {fileID: 573469552} - {fileID: 1608019103} m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1608019102 GameObject: @@ -2792,7 +2715,7 @@ Transform: m_LocalScale: {x: 10, y: 10, z: 10} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1781357367 GameObject: @@ -3110,3 +3033,5307 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2061208975} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &64466799647224243 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4145253885824578741} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.0435, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_Children: + - {fileID: 1992438784523603977} + m_Father: {fileID: 3681031590343221232} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &94450157899648622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1109209930318203809} + - component: {fileID: 551059251363705709} + m_Layer: 0 + m_Name: Racer_L_Leg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &107409336822055720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4302657652587066190} + m_Layer: 0 + m_Name: mixamorig:RightHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &167321595471015248 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5929094109082502882} + m_Layer: 0 + m_Name: mixamorig:LeftForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &188136039001368015 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7690839493839160077} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 8042586510139064189, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5026128958837213275} + - {fileID: 8691318413923808961} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5026128958837213275} + m_AABB: + m_Center: {x: 0.00029920816, y: 0.021470152, z: -0.0010497274} + m_Extent: {x: 0.00220985, y: 0.0016872957, z: 0.0015236048} + m_DirtyAABB: 0 +--- !u!1 &250061207821569379 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7994850796645884937} + m_Layer: 0 + m_Name: mixamorig:Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &266455056692004694 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4145253885824578741} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &268409334494495495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4090990814600649861} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &357133351624717637 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6214831152074070524} + m_Layer: 0 + m_Name: Racer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &383149488820963843 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1625079492781954675} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &431966066517388960 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6388793480701515665} + m_LocalRotation: {x: -0.00000019175847, y: -0.000000029802308, z: 0.00000005960465, w: 1} + m_LocalPosition: {x: -0.00000085865275, y: 0.0011068768, z: 2.9050099e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5052293361572013593} + m_Father: {fileID: 2389335428563183144} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &454433186798672012 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2082530515648802483} + m_Layer: 0 + m_Name: mixamorig:RightToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &466181409947282416 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5363526797059423143} + m_LocalRotation: {x: -0.013996308, y: -0.0031081843, z: 0.05418348, w: 0.9984281} + m_LocalPosition: {x: -0.00043698907, y: 0.0040162564, z: -0.00011413136} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7827028997129742103} + m_Father: {fileID: 3254610550397634515} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &472655495832187677 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7790624058229937125} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 19 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &483798483250432530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6526516039787682246} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &511844371809702041 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6618881560701485890} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 18 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &536131096891605008 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2264686608072333151} + m_LocalRotation: {x: -0.000000018887118, y: 0.000022633552, z: -0.0009259584, w: 0.9999996} + m_LocalPosition: {x: 0.0000018600654, y: 0.0013716858, z: -2.9703767e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8224242425153024857} + m_Father: {fileID: 5024405752694619837} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &546113919733026431 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7690839493839160077} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 25 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &551059251363705709 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 94450157899648622} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5004171171394109850, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 6314536243910401734} + - {fileID: 1443278860262385194} + - {fileID: 7859769809398286517} + - {fileID: 1665055529155642904} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1665055529155642904} + m_AABB: + m_Center: {x: 0.0002228925, y: 0.030164544, z: -0.0017835025} + m_Extent: {x: 0.0026083526, y: 0.011703882, z: 0.006747634} + m_DirtyAABB: 0 +--- !u!1 &598301145649077182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2670749434960934083} + - component: {fileID: 9190294569549882879} + m_Layer: 0 + m_Name: Racer_R_Thigh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &665268611799894710 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8224242425153024857} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &792174981590151639 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7972351077112212952} + m_Layer: 0 + m_Name: mixamorig:LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &796959016566009940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4150476547460943300} + - component: {fileID: 8344842518319621661} + m_Layer: 0 + m_Name: Racer_L_Ankle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &846306059947124678 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2803724947250689015} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &902559955981471075 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6684208423535538266} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.4580756e-13, y: 0.002509616, z: 1.6562761e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7859769809398286517} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &943583189122423607 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3569170896366674828} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -7106453518941484726, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7483475187320137502} + - {fileID: 1660774030346227123} + - {fileID: 3254610550397634515} + - {fileID: 3570217227468089460} + - {fileID: 6243030432095945094} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3570217227468089460} + m_AABB: + m_Center: {x: 0.017277747, y: 0.0025307056, z: -0.00035965635} + m_Extent: {x: 0.0023827176, y: 0.0008869646, z: 0.0020115785} + m_DirtyAABB: 0 +--- !u!1 &975283079740593450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4237333205257151917} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &997204581712232972 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8442262115139365818} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6386051814162787299, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 3254610550397634515} + - {fileID: 5024405752694619837} + - {fileID: 466181409947282416} + - {fileID: 7827028997129742103} + - {fileID: 5337725956518076183} + - {fileID: 536131096891605008} + - {fileID: 7159651118589204639} + - {fileID: 2602254706735706227} + - {fileID: 5149066869379825798} + - {fileID: 3409551058015799553} + - {fileID: 4730203421456821477} + - {fileID: 9084462575865005895} + - {fileID: 8224242425153024857} + - {fileID: 1800019615669764353} + - {fileID: 4302657652587066190} + - {fileID: 1625079492781954675} + - {fileID: 1660774030346227123} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1660774030346227123} + m_AABB: + m_Center: {x: -0.0005473698, y: 0.015137818, z: 0.00095721544} + m_Extent: {x: 0.003133574, y: 0.004298076, z: 0.0026405382} + m_DirtyAABB: 0 +--- !u!1 &1009004242969825873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5052293361572013593} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1032113130273618610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3409551058015799553} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1104823213135117921 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6559416378942323190} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 26 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1109209930318203809 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 94450157899648622} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1190358409792040642 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7159651118589204639} + m_Layer: 0 + m_Name: mixamorig:RightHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1238699383746024730 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3254610550397634515} + m_Layer: 0 + m_Name: mixamorig:RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1285729211689597438 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1832390623915669078} + - component: {fileID: 5658082755485662439} + m_Layer: 0 + m_Name: Racer_R_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!33 &1307786814708502155 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4145253885824578741} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1322389715007040786 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4297566274435258041} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1371335751898331670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1515837930250369263} + m_Layer: 0 + m_Name: mixamorig:LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1443278860262385194 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6309082475243469999} + m_LocalRotation: {x: 0.5290099, y: 0.02981642, z: -0.019593261, w: 0.84786534} + m_LocalPosition: {x: -1.07767e-12, y: 0.018864846, z: 1.901105e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7859769809398286517} + m_Father: {fileID: 6314536243910401734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1462300154513332673 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5958062868094361019} + m_LocalRotation: {x: 0.0000643902, y: 0.001447149, z: -0.044204544, w: 0.9990215} + m_LocalPosition: {x: 0.00013709861, y: 0.0015480785, z: 2.4180208e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4237333205257151917} + m_Father: {fileID: 8255431972090180685} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1474160951910781196 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4145253885824578741} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!4 &1502268456486510249 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885416666475666845} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000057404332, y: 0.0010307258, z: 1.5840699e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4302657652587066190} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1515837930250369263 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371335751898331670} + m_LocalRotation: {x: 0.56997716, y: -0.40895543, z: 0.5949605, w: 0.3923055} + m_LocalPosition: {x: -0.0024052279, y: 0.0043563955, z: -0.000105543535} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7260567029566810915} + m_Father: {fileID: 3570217227468089460} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1625079492781954675 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 383149488820963843} + m_LocalRotation: {x: -0.00000030964267, y: -0.000000058928695, z: 0.000000059604645, w: 1} + m_LocalPosition: {x: 0.00000039054956, y: 0.0007429971, z: -8.8358236e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6963545990882015179} + m_Father: {fileID: 9084462575865005895} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1660774030346227123 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5721845066108569572} + m_LocalRotation: {x: 0.00000015617294, y: 0.00075385376, z: -0.000000070167026, w: 0.9999997} + m_LocalPosition: {x: -2.5815227e-12, y: 0.00997791, z: -2.7854613e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3254610550397634515} + m_Father: {fileID: 7483475187320137502} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1665055529155642904 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2241130395058532918} + m_LocalRotation: {x: -0.0000039840615, y: 0.013628243, z: 0.99990696, w: -0.0006267788} + m_LocalPosition: {x: -0.0051394682, y: -0.0019558216, z: 0.0006702429} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6314536243910401734} + m_Father: {fileID: 9171005007186132836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1692388732786275301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8025496599111673924} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1712408702192844119 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8274167890814868559} + - component: {fileID: 4003481795430008123} + m_Layer: 0 + m_Name: Racer_L_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1779463232770465286 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2221751430449909225} + m_LocalRotation: {x: -0.00000022307272, y: -0.000000014901151, z: 3.3343803e-15, w: 1} + m_LocalPosition: {x: 0.000000005280159, y: 0.0013836664, z: -4.5564014e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6522044914401019685} + m_Father: {fileID: 7658842932272636465} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1800019615669764353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2983958854587892015} + m_LocalRotation: {x: -0.00000015946793, y: 0.000000044833545, z: 0.000000029802315, w: 1} + m_LocalPosition: {x: 0.0000000031314404, y: 0.0013527271, z: 2.558243e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4609101029932554290} + m_Father: {fileID: 7827028997129742103} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1813675532706156978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5623872039161307861} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + NetworkInstanceId: 0 + PrefabHash: 8672539184207985188 + PrefabHashGenerator: PlayerPrefab + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 +--- !u!4 &1832390623915669078 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285729211689597438} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 21 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1885416666475666845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1502268456486510249} + m_Layer: 0 + m_Name: mixamorig:RightHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1992438784523603977 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019976092358868153} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2.23, z: 0} + m_LocalScale: {x: 0.3, y: 4, z: 0.3} + m_Children: [] + m_Father: {fileID: 64466799647224243} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &2019470341496752128 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8087972435598058311} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.00013635766, y: 0.0012328726, z: -1.1710521e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4237333205257151917} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2062367017956248966 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6559416378942323190} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -8500115524859071965, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4390498004180262503} + - {fileID: 8691318413923808961} + - {fileID: 2082530515648802483} + - {fileID: 5026128958837213275} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5026128958837213275} + m_AABB: + m_Center: {x: -0.00022288691, y: 0.030140802, z: -0.0019018627} + m_Extent: {x: 0.0026084092, y: 0.01171752, z: 0.006279033} + m_DirtyAABB: 0 +--- !u!1 &2064365439715479007 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5485520049264920989} + m_Layer: 0 + m_Name: mixamorig:HeadTop_End + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2082530515648802483 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 454433186798672012} + m_LocalRotation: {x: 0.25392774, y: -0.02546312, z: 0.0066873794, w: 0.9668649} + m_LocalPosition: {x: -4.881078e-11, y: 0.0068967696, z: -1.9580708e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6573979824464334353} + m_Father: {fileID: 4390498004180262503} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2154224721628852930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7827028997129742103} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2216499991278778907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6314536243910401734} + m_Layer: 0 + m_Name: mixamorig:LeftLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2221751430449909225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1779463232770465286} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2241130395058532918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1665055529155642904} + m_Layer: 0 + m_Name: mixamorig:LeftUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &2258522952138853471 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8364948076553655676} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 8981124598305865895, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5929094109082502882} + - {fileID: 7972351077112212952} + - {fileID: 8025496599111673924} + - {fileID: 7260567029566810915} + - {fileID: 8255431972090180685} + - {fileID: 5048275814095015923} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7260567029566810915} + m_AABB: + m_Center: {x: -0.00021254687, y: 0.021183467, z: -0.00009602419} + m_Extent: {x: 0.00087159406, y: 0.00081862137, z: 0.0008141012} + m_DirtyAABB: 0 +--- !u!1 &2264686608072333151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 536131096891605008} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &2271018879047583555 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2639026369373305467} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -3863438754762654814, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1665055529155642904} + - {fileID: 6314536243910401734} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1665055529155642904} + m_AABB: + m_Center: {x: -0.00029923517, y: 0.021472832, z: -0.0010159109} + m_Extent: {x: 0.0022098313, y: 0.0016792659, z: 0.0015126225} + m_DirtyAABB: 0 +--- !u!1 &2388719977550812320 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8875765429501562103} + m_Layer: 0 + m_Name: mixamorig:Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2389335428563183144 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2548864955077265552} + m_LocalRotation: {x: -0.00000043476186, y: 0.000000014901141, z: -0.00000005960465, w: 1} + m_LocalPosition: {x: 0.0000012244967, y: 0.001197746, z: -4.00991e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 431966066517388960} + m_Father: {fileID: 8025496599111673924} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2546899117517206196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9165372567760844318} + - component: {fileID: 4663752955048033130} + - component: {fileID: 5358069658365537893} + - component: {fileID: 3171132326794597836} + m_Layer: 3 + m_Name: PlayerCam + m_TagString: PlayerCam + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2548864955077265552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2389335428563183144} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2602254706735706227 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3005444520880549442} + m_LocalRotation: {x: -0.013808571, y: -0.0065519977, z: 0.054232053, w: 0.9984114} + m_LocalPosition: {x: 0.0013735761, y: 0.0037809396, z: 0.000027776015} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9084462575865005895} + m_Father: {fileID: 3254610550397634515} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &2607779701590038559 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5311114698919089180} + m_LocalRotation: {x: -6.938894e-18, y: -1.1850553e-13, z: 6.7309954e-13, w: 1} + m_LocalPosition: {x: -0, y: 0.004133051, z: 2.0869128e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3570217227468089460} + m_Father: {fileID: 8875765429501562103} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &2609959335278382721 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8005385976183319665} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2628957933254726959 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5944755357257901600} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2636720976512243031 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6555413384166010346} + m_LocalRotation: {x: -0.0000002339575, y: 0.000000074431625, z: -0.000000029802326, w: 1} + m_LocalPosition: {x: -0.00000018569618, y: 0.00076374895, z: -2.4635904e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3636578877902955089} + m_Father: {fileID: 7549075100742928300} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2639026369373305467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2641290585547196347} + - component: {fileID: 2271018879047583555} + m_Layer: 0 + m_Name: Racer_L_Knee + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2641290585547196347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2639026369373305467} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &2670749434960934083 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 598301145649077182} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 28 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2741124823536635894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7859769809398286517} + m_Layer: 0 + m_Name: mixamorig:LeftToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2765140081944982742 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9027607208040127399} + - component: {fileID: 8038599959191510616} + m_Layer: 0 + m_Name: Racer_Abdomen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2794461776723558666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3843821914381065688} + - component: {fileID: 6746595937570106155} + m_Layer: 0 + m_Name: Racer_L_Thigh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2803724947250689015 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 846306059947124678} + m_LocalRotation: {x: -0.018361583, y: 0.000117137795, z: -0.05413971, w: 0.99836457} + m_LocalPosition: {x: 0.0015031022, y: 0.003667749, z: 0.000011886609} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6843953203823711315} + m_Father: {fileID: 7972351077112212952} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2983958854587892015 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1800019615669764353} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &3005444520880549442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2602254706735706227} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &3132062284060170405 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6409483863555627959} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -1428409747177077501, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7311932977181822323} + - {fileID: 3570217227468089460} + - {fileID: 7994850796645884937} + - {fileID: 6243030432095945094} + - {fileID: 7483475187320137502} + - {fileID: 8875765429501562103} + - {fileID: 2607779701590038559} + - {fileID: 9171005007186132836} + - {fileID: 7260567029566810915} + - {fileID: 1515837930250369263} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: -0.00003740564, y: 0.013385845, z: -0.0006240462} + m_Extent: {x: 0.009690173, y: 0.007423591, z: 0.005915595} + m_DirtyAABB: 0 +--- !u!114 &3171132326794597836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2546899117517206196} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f8178c747ab202f4bb17b33e02bf63a5, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 4061813754685703498} +--- !u!4 &3254610550397634515 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238699383746024730} + m_LocalRotation: {x: 0.011205674, y: 0.05417389, z: -0.054828834, w: 0.99696213} + m_LocalPosition: {x: 5.0597235e-12, y: 0.011272834, z: 9.447598e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5024405752694619837} + - {fileID: 466181409947282416} + - {fileID: 2602254706735706227} + - {fileID: 5337725956518076183} + - {fileID: 4730203421456821477} + m_Father: {fileID: 1660774030346227123} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3262366408086927988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5024405752694619837} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3409551058015799553 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1032113130273618610} + m_LocalRotation: {x: -0.000023548291, y: -0.0011833535, z: -0.02015577, w: 0.99979615} + m_LocalPosition: {x: 0.00006217427, y: 0.0015118346, z: 2.9593505e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4025678369739250515} + m_Father: {fileID: 5149066869379825798} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &3421606103486134685 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6409483863555627959} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &3480675251309558307 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8466375736257394200} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3539867123735121979 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9084462575865005895} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &3562667862310235449 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8260034999762303289} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -9169980309313795059, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7311932977181822323} + - {fileID: 3570217227468089460} + - {fileID: 7994850796645884937} + - {fileID: 6243030432095945094} + - {fileID: 1515837930250369263} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3570217227468089460} + m_AABB: + m_Center: {x: -0.0000195608, y: 0.0069260667, z: 0.0005372786} + m_Extent: {x: 0.00150984, y: 0.0026702243, z: 0.00219682} + m_DirtyAABB: 0 +--- !u!1 &3569170896366674828 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8778370174880363214} + - component: {fileID: 943583189122423607} + m_Layer: 0 + m_Name: Racer_R_Elbow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3570217227468089460 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8811920814153500358} + m_LocalRotation: {x: -6.938894e-18, y: 0, z: -7.88861e-30, w: 1} + m_LocalPosition: {x: -0, y: 0.004723484, z: 9.3130165e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1515837930250369263} + - {fileID: 7994850796645884937} + - {fileID: 6243030432095945094} + m_Father: {fileID: 2607779701590038559} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &3636578877902955089 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7062935157983746634} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.00000042808972, y: 0.0007281622, z: -2.4106878e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2636720976512243031} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &3681031590343221232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 30, y: 30, z: 30} + m_Children: + - {fileID: 64466799647224243} + - {fileID: 9171005007186132836} + - {fileID: 6214831152074070524} + m_Father: {fileID: 6917976188778688606} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3800909263275210466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6243030432095945094} + m_Layer: 0 + m_Name: mixamorig:RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3843821914381065688 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2794461776723558666} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &3925866048087364667 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4706586696150356785} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -1264438381242842688, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7483475187320137502} + - {fileID: 1660774030346227123} + - {fileID: 3254610550397634515} + - {fileID: 466181409947282416} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7483475187320137502} + m_AABB: + m_Center: {x: -0.000026121968, y: 0.014965199, z: 0.00008089142} + m_Extent: {x: 0.0017814038, y: 0.0060273013, z: 0.0019808144} + m_DirtyAABB: 0 +--- !u!1 &3927206755469245021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7483475187320137502} + m_Layer: 0 + m_Name: mixamorig:RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &4003481795430008123 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712408702192844119} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 5350346844764172220, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7972351077112212952} + - {fileID: 2803724947250689015} + - {fileID: 5048275814095015923} + - {fileID: 7658842932272636465} + - {fileID: 8025496599111673924} + - {fileID: 8465902991855582622} + - {fileID: 6843953203823711315} + - {fileID: 2389335428563183144} + - {fileID: 1462300154513332673} + - {fileID: 4237333205257151917} + - {fileID: 8255431972090180685} + - {fileID: 7549075100742928300} + - {fileID: 5944755357257901600} + - {fileID: 2636720976512243031} + - {fileID: 1779463232770465286} + - {fileID: 431966066517388960} + - {fileID: 5929094109082502882} + - {fileID: 7260567029566810915} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7260567029566810915} + m_AABB: + m_Center: {x: 0.0005104544, y: 0.025045592, z: 0.0008216265} + m_Extent: {x: 0.0030727473, y: 0.0043741167, z: 0.0027572557} + m_DirtyAABB: 0 +--- !u!4 &4025678369739250515 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4247300437535052142} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.0000008084615, y: 0.0012474011, z: 3.0050646e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3409551058015799553} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4061813754685703344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + FixedSendsPerSecond: 20 + AssumeSyncedSends: 1 + InterpolatePosition: 1 + SnapDistance: 10 + InterpolateServer: 1 + MinMeters: 0.15 + MinDegrees: 1.5 + ExtrapolatePosition: 0 + MaxSendsToExtrapolate: 5 + Channel: + EnableRange: 0 + EnableNonProvokedResendChecks: 0 + DistanceSendrate: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 500 + value: 20 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!136 &4061813754685703346 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.00910596 + m_Height: 0.07475639 + m_Direction: 1 + m_Center: {x: 0, y: 0.039544336, z: 0} +--- !u!143 &4061813754685703347 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 0.07475639 + m_Radius: 0.00910596 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.03954434, z: 0} +--- !u!114 &4061813754685703348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a5d879591af1084ab5d3a35fcd53086, type: 3} + m_Name: + m_EditorClassIdentifier: + networkItemList: [] + pStats: {fileID: 0} +--- !u!54 &4061813754685703349 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &4061813754685703351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: addc2e37ff81c1b4989ec34b6150b4f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVel: 45 + minVel: 18 + curVel: 0 + hardCapMaxVel: 90 + acc: 0.02 + jumpPow: 60 + jumpNum: 2 + traction: 5 + kickPow: 300 + recovTime: 3 + playerGrav: 200 + gravVel: 0 + hasBlink: 0 + hasGlider: 0 + hasGrapple: 0 + hasWallrun: 0 + hasNitro: 0 + hasDash: 0 + playerPoints: 15 +--- !u!1 &4061813754685703498 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3681031590343221232} + - component: {fileID: 7346930576338437514} + - component: {fileID: 4061813754685703351} + - component: {fileID: 4061813754685703348} + - component: {fileID: 4061813754685703349} + - component: {fileID: 4061813754685703346} + - component: {fileID: 4061813754685703347} + - component: {fileID: 4061813754685703344} + - component: {fileID: 4061813754685703500} + - component: {fileID: 4061813754685703499} + m_Layer: 0 + m_Name: T-Pose + m_TagString: ArcherTarget + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &4061813754685703499 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7adf74561e73e1c4e99ec7e3d6a08738, type: 3} + m_Name: + m_EditorClassIdentifier: + cam: {fileID: 4663752955048033130} + moveController: {fileID: 0} + pStats: {fileID: 0} + idleLimit: 0.3 + walkLimit: 10 + jogLimit: 20 + runLimit: 30 + vel: {x: 0, y: 0, z: 0} + driftVel: {x: 0, y: 0, z: 0} + calculatedCurVel: 0 + slideUp: {x: 0, y: 0, z: 0} + minAngle: -18 + maxAngle: 30 + sensitivity: 200 +--- !u!114 &4061813754685703500 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 201caa2b2f1776a46af6bdfd52456028, type: 3} + m_Name: + m_EditorClassIdentifier: + cam: {fileID: 4663752955048033130} + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + curJumpNum: 0 + jumpHeld: 0 + coyJumpTimer: 0.13 + curCoyJumpTimer: 0.13 + lowJumpMultiplier: 0.001 + fallMultiplier: 1.6 + isGrounded: 0 + groundCheckDistance: 0.05 +--- !u!4 &4090990814600649861 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 268409334494495495} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000000014381512, y: 0.0011575891, z: -1.700045e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5944755357257901600} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4113759572640153088 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8364732632285562215} + - component: {fileID: 5555132981284453915} + m_Layer: 0 + m_Name: Racer_Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &4145253885824578741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 64466799647224243} + - component: {fileID: 1307786814708502155} + - component: {fileID: 1474160951910781196} + - component: {fileID: 266455056692004694} + m_Layer: 0 + m_Name: Leg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4150476547460943300 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 796959016566009940} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4207556372185176308 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5536265006683088966} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4237333205257151917 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 975283079740593450} + m_LocalRotation: {x: -0.000035924924, y: 0.0006454206, z: -0.055413347, w: 0.9984633} + m_LocalPosition: {x: -0.00000074104986, y: 0.0014648983, z: -5.349871e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2019470341496752128} + m_Father: {fileID: 1462300154513332673} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4247300437535052142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4025678369739250515} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &4294779673503049233 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9171005007186132836} + m_Layer: 0 + m_Name: mixamorig:Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &4297566274435258041 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1322389715007040786} + - component: {fileID: 8349972297982409611} + m_Layer: 0 + m_Name: Racer_L_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4302657652587066190 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 107409336822055720} + m_LocalRotation: {x: -0.00000030814587, y: 0.000000059327107, z: -0.000000029802344, w: 1} + m_LocalPosition: {x: 0.0000005338416, y: 0.001116844, z: -4.815341e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1502268456486510249} + m_Father: {fileID: 7159651118589204639} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4390498004180262503 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4687446344145793160} + m_LocalRotation: {x: 0.5348096, y: -0.029015569, z: 0.019397588, w: 0.8442515} + m_LocalPosition: {x: -1.5135281e-12, y: 0.01887487, z: 3.6376374e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2082530515648802483} + m_Father: {fileID: 8691318413923808961} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4399743132841855757 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4953667451286980940} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4456090363059994234 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8442262115139365818} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 23 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4609101029932554290 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8326988665724980263} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000003844349, y: 0.0012313649, z: 5.2111965e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1800019615669764353} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &4663752955048033130 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2546899117517206196} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 3071 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &4687446344145793160 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4390498004180262503} + m_Layer: 0 + m_Name: mixamorig:RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &4706586696150356785 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6077316074458200930} + - component: {fileID: 3925866048087364667} + m_Layer: 0 + m_Name: Racer_R_Forearm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4730203421456821477 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9212898609463585421} + m_LocalRotation: {x: 0.20431024, y: 0.075329416, z: 0.2815761, w: 0.934504} + m_LocalPosition: {x: -0.0011338945, y: 0.0013828315, z: 0.00062633137} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5149066869379825798} + m_Father: {fileID: 3254610550397634515} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4953667451286980940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4399743132841855757} + - component: {fileID: 7074146846637943258} + m_Layer: 0 + m_Name: Racer_L_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5000318598526662688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6720239709030871950} + - component: {fileID: 8573280705918300958} + m_Layer: 0 + m_Name: Racer_Pelvis + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5024405752694619837 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3262366408086927988} + m_LocalRotation: {x: -0.014161041, y: -0.000046690257, z: 0.055065587, w: 0.99838233} + m_LocalPosition: {x: -0.0014964194, y: 0.0037174681, z: 0.000023099752} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 536131096891605008} + m_Father: {fileID: 3254610550397634515} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5026128958837213275 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7040772217349885072} + m_LocalRotation: {x: 0.0000047777303, y: 0.014990991, z: 0.99988747, w: 0.0006563382} + m_LocalPosition: {x: 0.0051394682, y: -0.0019558216, z: 0.00069574895} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8691318413923808961} + m_Father: {fileID: 9171005007186132836} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &5029118841731025477 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5914256503865704789} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -7720411555308266550, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7260567029566810915} + - {fileID: 1515837930250369263} + - {fileID: 3570217227468089460} + - {fileID: 5929094109082502882} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3570217227468089460} + m_AABB: + m_Center: {x: -0.011832181, y: 0.002205899, z: -0.0009598391} + m_Extent: {x: 0.004267955, y: 0.0036587548, z: 0.0025820034} + m_DirtyAABB: 0 +--- !u!4 &5048275814095015923 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5328719826226278949} + m_LocalRotation: {x: -0.018187111, y: 0.0033293215, z: -0.05419799, w: 0.998359} + m_LocalPosition: {x: 0.00042639548, y: 0.0039214287, z: -0.00014512942} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7658842932272636465} + m_Father: {fileID: 7972351077112212952} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5052293361572013593 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1009004242969825873} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0000003658728, y: 0.0010309403, z: 3.643321e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 431966066517388960} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5102471699930631909 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019976092358868153} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &5149066869379825798 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5250626533296072351} + m_LocalRotation: {x: -0.0000000063723387, y: -0.00004481312, z: 0.04110582, w: 0.9991548} + m_LocalPosition: {x: -0.00006298258, y: 0.0015145214, z: 5.163432e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3409551058015799553} + m_Father: {fileID: 4730203421456821477} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5250626533296072351 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5149066869379825798} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5311114698919089180 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2607779701590038559} + m_Layer: 0 + m_Name: mixamorig:Spine1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5328719826226278949 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5048275814095015923} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5337725956518076183 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6904128409529093604} + m_LocalRotation: {x: -0.013988671, y: -0.003241384, z: 0.054186013, w: 0.9984276} + m_LocalPosition: {x: 0.0005598324, y: 0.003994302, z: -0.00007866586} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7159651118589204639} + m_Father: {fileID: 3254610550397634515} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5345045025974852414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6723219056132724477} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 27 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!81 &5358069658365537893 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2546899117517206196} + m_Enabled: 1 +--- !u!1 &5361152036260678365 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8537067980936642233} + - component: {fileID: 9040367902758795231} + m_Layer: 0 + m_Name: Racer_L_Hip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5363526797059423143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 466181409947282416} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5412476532089573378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8260034999762303289} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5416291498536959778 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6795546649573316345} + - component: {fileID: 6790964903067569375} + m_Layer: 0 + m_Name: Racer_R_Hip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5485520049264920989 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2064365439715479007} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.008957659, z: 0.0023060606} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7311932977181822323} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5534059396503475508 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6843953203823711315} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5536265006683088966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4207556372185176308} + - component: {fileID: 8100678832390988302} + m_Layer: 0 + m_Name: Racer_L_Forearm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &5555132981284453915 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4113759572640153088} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 776510218562140252, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7311932977181822323} + - {fileID: 7994850796645884937} + - {fileID: 3570217227468089460} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3570217227468089460} + m_AABB: + m_Center: {x: -6.9849193e-10, y: 0.012098646, z: 0.0026351595} + m_Extent: {x: 0.0033820346, y: 0.0055587008, z: 0.0049631405} + m_DirtyAABB: 0 +--- !u!1 &5623872039161307861 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6917976188778688606} + - component: {fileID: 1813675532706156978} + m_Layer: 3 + m_Name: DebugPlayerPrefab 1 (1) + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &5658082755485662439 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1285729211689597438} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5812966439747792105, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4390498004180262503} + - {fileID: 2082530515648802483} + - {fileID: 8691318413923808961} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 8691318413923808961} + m_AABB: + m_Center: {x: -0.00034632627, y: 0.021510983, z: 0.0034973423} + m_Extent: {x: 0.0025694363, y: 0.0048407204, z: 0.0058255894} + m_DirtyAABB: 0 +--- !u!1 &5674649427921571224 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7260567029566810915} + m_Layer: 0 + m_Name: mixamorig:LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &5721845066108569572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1660774030346227123} + m_Layer: 0 + m_Name: mixamorig:RightForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &5816383903943431558 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019976092358868153} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!4 &5912766521967897117 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7791253412704762442} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 29 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5914256503865704789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8397410660902739038} + - component: {fileID: 5029118841731025477} + m_Layer: 0 + m_Name: Racer_L_Bicep + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5929094109082502882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 167321595471015248} + m_LocalRotation: {x: -0.00000019799118, y: -0.00072961993, z: 0.0000003070266, w: 0.99999976} + m_LocalPosition: {x: -1.8520109e-11, y: 0.009978064, z: -9.0070854e-13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7972351077112212952} + m_Father: {fileID: 7260567029566810915} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5944755357257901600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2628957933254726959} + m_LocalRotation: {x: -0.00000011613509, y: -0.00000004470224, z: -0.00000005960465, w: 1} + m_LocalPosition: {x: 0.00000023605492, y: 0.0012959151, z: 5.8693428e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4090990814600649861} + m_Father: {fileID: 6843953203823711315} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5958062868094361019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1462300154513332673} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6041656257403960191 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7311932977181822323} + m_Layer: 0 + m_Name: mixamorig:Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6077316074458200930 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4706586696150356785} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 22 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &6214831152074070524 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 357133351624717637} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 0.39370078, y: 0.39370078, z: 0.39370078} + m_Children: + - {fileID: 9027607208040127399} + - {fileID: 3421606103486134685} + - {fileID: 8364732632285562215} + - {fileID: 4150476547460943300} + - {fileID: 8397410660902739038} + - {fileID: 2609959335278382721} + - {fileID: 4399743132841855757} + - {fileID: 4207556372185176308} + - {fileID: 8274167890814868559} + - {fileID: 8537067980936642233} + - {fileID: 2641290585547196347} + - {fileID: 1109209930318203809} + - {fileID: 1322389715007040786} + - {fileID: 3843821914381065688} + - {fileID: 7016031248923441526} + - {fileID: 5412476532089573378} + - {fileID: 3480675251309558307} + - {fileID: 6720239709030871950} + - {fileID: 511844371809702041} + - {fileID: 472655495832187677} + - {fileID: 8778370174880363214} + - {fileID: 1832390623915669078} + - {fileID: 6077316074458200930} + - {fileID: 4456090363059994234} + - {fileID: 6795546649573316345} + - {fileID: 546113919733026431} + - {fileID: 1104823213135117921} + - {fileID: 5345045025974852414} + - {fileID: 2670749434960934083} + - {fileID: 5912766521967897117} + m_Father: {fileID: 3681031590343221232} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &6243030432095945094 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3800909263275210466} + m_LocalRotation: {x: -0.56944364, y: -0.40933552, z: 0.5953777, w: -0.39205074} + m_LocalPosition: {x: 0.0024052279, y: 0.004356841, z: -0.00010951071} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7483475187320137502} + m_Father: {fileID: 3570217227468089460} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6309082475243469999 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1443278860262385194} + m_Layer: 0 + m_Name: mixamorig:LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6314536243910401734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2216499991278778907} + m_LocalRotation: {x: -0.061060395, y: 0.00007976911, z: -0.0013793262, w: 0.9981331} + m_LocalPosition: {x: 7.7549076e-18, y: 0.02156146, z: 1.338972e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1443278860262385194} + m_Father: {fileID: 1665055529155642904} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6388793480701515665 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 431966066517388960} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6409483863555627959 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3421606103486134685} + - component: {fileID: 3132062284060170405} + m_Layer: 0 + m_Name: Racer_Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &6417156713411971507 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019976092358868153} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!4 &6522044914401019685 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8437571317776934308} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.00000009686793, y: 0.001244837, z: -1.6271668e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1779463232770465286} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &6526516039787682246 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483798483250432530} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000002107351, y: 0.0011455977, z: -7.528524e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8224242425153024857} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6555413384166010346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2636720976512243031} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6559416378942323190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1104823213135117921} + - component: {fileID: 2062367017956248966} + m_Layer: 0 + m_Name: Racer_R_Leg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6573979824464334353 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6614288140883203384} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.269201e-12, y: 0.002538837, z: -1.5786362e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2082530515648802483} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6614288140883203384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6573979824464334353} + m_Layer: 0 + m_Name: mixamorig:RightToe_End + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6618881560701485890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 511844371809702041} + - component: {fileID: 7146858607773220565} + m_Layer: 0 + m_Name: Racer_R_Ankle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6643954799672258546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6963545990882015179} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6684208423535538266 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 902559955981471075} + m_Layer: 0 + m_Name: mixamorig:LeftToe_End + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6720239709030871950 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5000318598526662688} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6723219056132724477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5345045025974852414} + - component: {fileID: 6761809593939074201} + m_Layer: 0 + m_Name: Racer_R_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &6746595937570106155 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2794461776723558666} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6610222346446787076, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1665055529155642904} + - {fileID: 6314536243910401734} + - {fileID: 5026128958837213275} + - {fileID: 9171005007186132836} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: -0.0041651186, y: -0.014876848, z: 0.00065137853} + m_Extent: {x: 0.0036408168, y: 0.0076903426, z: 0.0042144093} + m_DirtyAABB: 0 +--- !u!137 &6761809593939074201 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6723219056132724477} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4811320721298521096, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 2607779701590038559} + - {fileID: 6243030432095945094} + - {fileID: 7483475187320137502} + - {fileID: 3570217227468089460} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2607779701590038559} + m_AABB: + m_Center: {x: 0.0070707556, y: 0.0067039644, z: -0.00041320152} + m_Extent: {x: 0.00341302, y: 0.003298857, z: 0.002703129} + m_DirtyAABB: 0 +--- !u!137 &6790964903067569375 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5416291498536959778} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -1483382761512165204, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5026128958837213275} + - {fileID: 9171005007186132836} + - {fileID: 1665055529155642904} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: 0.004079847, y: -0.0053797523, z: -0.00021201861} + m_Extent: {x: 0.0037124506, y: 0.0038209725, z: 0.0038161397} + m_DirtyAABB: 0 +--- !u!4 &6795546649573316345 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5416291498536959778} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 24 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &6843953203823711315 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5534059396503475508} + m_LocalRotation: {x: 0.00000023965976, y: 0.000000088739554, z: 0.000000059604623, w: 1} + m_LocalPosition: {x: -0.00000022170826, y: 0.0013937525, z: 2.3413573e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5944755357257901600} + m_Father: {fileID: 2803724947250689015} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6878589253906185718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8255431972090180685} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &6904128409529093604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5337725956518076183} + m_Layer: 0 + m_Name: mixamorig:RightHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6917976188778688606 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5623872039161307861} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9165372567760844318} + - {fileID: 3681031590343221232} + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &6963545990882015179 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6643954799672258546} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.0000006498948, y: 0.00069878245, z: 2.5020671e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1625079492781954675} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7016031248923441526 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8364948076553655676} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7040772217349885072 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5026128958837213275} + m_Layer: 0 + m_Name: mixamorig:RightUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &7062935157983746634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3636578877902955089} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &7074146846637943258 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4953667451286980940} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -8458005259421999579, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1443278860262385194} + - {fileID: 7859769809398286517} + - {fileID: 6314536243910401734} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 6314536243910401734} + m_AABB: + m_Center: {x: 0.0003418594, y: 0.021516271, z: 0.0034187743} + m_Extent: {x: 0.002572557, y: 0.004907053, z: 0.005837313} + m_DirtyAABB: 0 +--- !u!137 &7146858607773220565 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6618881560701485890} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 6546131747772155208, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4390498004180262503} + - {fileID: 8691318413923808961} + - {fileID: 2082530515648802483} + - {fileID: 5026128958837213275} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5026128958837213275} + m_AABB: + m_Center: {x: -0.00006485847, y: 0.0407907, z: -0.0020164466} + m_Extent: {x: 0.001329503, y: 0.0016530082, z: 0.0017146138} + m_DirtyAABB: 0 +--- !u!4 &7159651118589204639 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1190358409792040642} + m_LocalRotation: {x: 0.00000027261595, y: -0.000000059327146, z: 0.000000059604613, w: 1} + m_LocalPosition: {x: -0.000000591246, y: 0.0011815743, z: 7.550235e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4302657652587066190} + m_Father: {fileID: 5337725956518076183} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7260567029566810915 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5674649427921571224} + m_LocalRotation: {x: -0.18188153, y: -0.0063151494, z: -0.020419752, w: 0.98308814} + m_LocalPosition: {x: -2.5972872e-12, y: 0.0052589523, z: 2.2120515e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5929094109082502882} + m_Father: {fileID: 1515837930250369263} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7311932977181822323 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6041656257403960191} + m_LocalRotation: {x: 0, y: -0, z: -1.1872493e-36, w: 1} + m_LocalPosition: {x: -0, y: 0.0029598908, z: 0.00076199416} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5485520049264920989} + m_Father: {fileID: 7994850796645884937} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &7346930576338437514 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Controller: {fileID: 9100000, guid: 3961b2461b5859c4795471684ebe7749, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!137 &7445523647733999106 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7791253412704762442} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 7401632099491477959, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1660774030346227123} + - {fileID: 3254610550397634515} + - {fileID: 466181409947282416} + - {fileID: 4730203421456821477} + - {fileID: 5337725956518076183} + - {fileID: 7483475187320137502} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7483475187320137502} + m_AABB: + m_Center: {x: -0.00004202628, y: 0.02118104, z: -0.00009331765} + m_Extent: {x: 0.001138476, y: 0.00081270374, z: 0.00080512697} + m_DirtyAABB: 0 +--- !u!4 &7483475187320137502 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3927206755469245021} + m_LocalRotation: {x: -0.18175445, y: 0.00610548, z: 0.021279853, w: 0.9830947} + m_LocalPosition: {x: 1.934119e-12, y: 0.0052589523, z: 1.5282041e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1660774030346227123} + m_Father: {fileID: 6243030432095945094} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7492792336946978540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7549075100742928300} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7549075100742928300 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7492792336946978540} + m_LocalRotation: {x: -0.00000022358424, y: -0.00000004477729, z: -0.000000029802315, w: 1} + m_LocalPosition: {x: 0.0000006137783, y: 0.0009160237, z: -8.382937e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2636720976512243031} + m_Father: {fileID: 8465902991855582622} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7658842932272636465 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8873361389983358873} + m_LocalRotation: {x: 0.0000003317478, y: 0.000000014901165, z: -0.000000029802314, w: 1} + m_LocalPosition: {x: 0.00000009158286, y: 0.0014746819, z: 3.865899e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1779463232770465286} + m_Father: {fileID: 5048275814095015923} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7690839493839160077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 546113919733026431} + - component: {fileID: 188136039001368015} + m_Layer: 0 + m_Name: Racer_R_Knee + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &7790624058229937125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 472655495832187677} + - component: {fileID: 8105594743455959887} + m_Layer: 0 + m_Name: Racer_R_Bicep + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &7791253412704762442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5912766521967897117} + - component: {fileID: 7445523647733999106} + m_Layer: 0 + m_Name: Racer_R_Wrist + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7827028997129742103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2154224721628852930} + m_LocalRotation: {x: -0.00000038881305, y: -0.000000029802047, z: -0.000000029802308, w: 1} + m_LocalPosition: {x: -0.000000006986092, y: 0.0014630955, z: 7.590662e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1800019615669764353} + m_Father: {fileID: 466181409947282416} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7859769809398286517 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2741124823536635894} + m_LocalRotation: {x: 0.25823617, y: 0.024585094, z: -0.006573941, w: 0.9657466} + m_LocalPosition: {x: 2.1533207e-12, y: 0.006792404, z: 1.1648404e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 902559955981471075} + m_Father: {fileID: 1443278860262385194} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7972351077112212952 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 792174981590151639} + m_LocalRotation: {x: 0.01526272, y: -0.056724187, z: 0.05509341, w: 0.9967518} + m_LocalPosition: {x: 8.228381e-12, y: 0.011272391, z: -9.0381955e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2803724947250689015} + - {fileID: 5048275814095015923} + - {fileID: 8465902991855582622} + - {fileID: 8025496599111673924} + - {fileID: 8255431972090180685} + m_Father: {fileID: 5929094109082502882} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &7994850796645884937 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 250061207821569379} + m_LocalRotation: {x: 0.055898234, y: 2.9856478e-14, z: 2.2940127e-13, w: 0.9984365} + m_LocalPosition: {x: -0, y: 0.0053139236, z: 9.736321e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7311932977181822323} + m_Father: {fileID: 3570217227468089460} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7996141548386843223 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8465902991855582622} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &8005385976183319665 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2609959335278382721} + - component: {fileID: 8250273195693130940} + m_Layer: 0 + m_Name: Racer_L_Elbow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &8019976092358868153 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1992438784523603977} + - component: {fileID: 5102471699930631909} + - component: {fileID: 6417156713411971507} + - component: {fileID: 5816383903943431558} + m_Layer: 0 + m_Name: LegHitbox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8025496599111673924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692388732786275301} + m_LocalRotation: {x: -0.01817659, y: 0.0035308946, z: -0.054201342, w: 0.99835837} + m_LocalPosition: {x: -0.0005167737, y: 0.004006599, z: -0.0000658525} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2389335428563183144} + m_Father: {fileID: 7972351077112212952} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8038599959191510616 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2765140081944982742} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 3322242688188658278, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 8875765429501562103} + - {fileID: 2607779701590038559} + - {fileID: 3570217227468089460} + - {fileID: 9171005007186132836} + - {fileID: 6243030432095945094} + - {fileID: 1515837930250369263} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: 0.000000039115548, y: 0.004818677, z: 0.0006153784} + m_Extent: {x: 0.0053603095, y: 0.004359695, z: 0.0045392746} + m_DirtyAABB: 0 +--- !u!1 &8087972435598058311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2019470341496752128} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &8100678832390988302 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5536265006683088966} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 3897173783277542301, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7260567029566810915} + - {fileID: 5929094109082502882} + - {fileID: 7972351077112212952} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7260567029566810915} + m_AABB: + m_Center: {x: 0.000019803934, y: 0.014963073, z: 0.00008001807} + m_Extent: {x: 0.0017788988, y: 0.0060249874, z: 0.0019803941} + m_DirtyAABB: 0 +--- !u!137 &8105594743455959887 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7790624058229937125} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -3134900220690085376, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 6243030432095945094} + - {fileID: 7483475187320137502} + - {fileID: 3570217227468089460} + - {fileID: 1660774030346227123} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3570217227468089460} + m_AABB: + m_Center: {x: 0.012119338, y: 0.0021126806, z: -0.00095079973} + m_Extent: {x: 0.0045580757, y: 0.0037807566, z: 0.0026249436} + m_DirtyAABB: 0 +--- !u!4 &8224242425153024857 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665268611799894710} + m_LocalRotation: {x: -0.00000008686825, y: -0.00004684714, z: -0.0011085427, w: 0.9999994} + m_LocalPosition: {x: 0.00000024733268, y: 0.0012752824, z: 2.3540347e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6526516039787682246} + m_Father: {fileID: 536131096891605008} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8250273195693130940 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8005385976183319665} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 1378163318181974271, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7260567029566810915} + - {fileID: 5929094109082502882} + - {fileID: 7972351077112212952} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7260567029566810915} + m_AABB: + m_Center: {x: -0.00004382711, y: 0.010115141, z: -0.00005456526} + m_Extent: {x: 0.0020077715, y: 0.0022335667, z: 0.00087840063} + m_DirtyAABB: 0 +--- !u!4 &8255431972090180685 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6878589253906185718} + m_LocalRotation: {x: 0.20096287, y: -0.070286326, z: -0.2584109, w: 0.94228315} + m_LocalPosition: {x: 0.001156476, y: 0.0014058166, z: 0.0006783863} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1462300154513332673} + m_Father: {fileID: 7972351077112212952} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8260034999762303289 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5412476532089573378} + - component: {fileID: 3562667862310235449} + m_Layer: 0 + m_Name: Racer_Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8274167890814868559 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1712408702192844119} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8326988665724980263 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4609101029932554290} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &8344842518319621661 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 796959016566009940} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6709756282783593857, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 6314536243910401734} + - {fileID: 1443278860262385194} + - {fileID: 7859769809398286517} + - {fileID: 1665055529155642904} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 1665055529155642904} + m_AABB: + m_Center: {x: 0.000064838794, y: 0.040794633, z: -0.0019431652} + m_Extent: {x: 0.0013289169, y: 0.0016544797, z: 0.0017182026} + m_DirtyAABB: 0 +--- !u!137 &8349972297982409611 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4297566274435258041} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 7171577503198163421, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 2607779701590038559} + - {fileID: 7260567029566810915} + - {fileID: 1515837930250369263} + - {fileID: 3570217227468089460} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2607779701590038559} + m_AABB: + m_Center: {x: -0.007070585, y: 0.006703707, z: -0.0004132311} + m_Extent: {x: 0.003409449, y: 0.0032990654, z: 0.002698132} + m_DirtyAABB: 0 +--- !u!4 &8364732632285562215 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4113759572640153088} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8364948076553655676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7016031248923441526} + - component: {fileID: 2258522952138853471} + m_Layer: 0 + m_Name: Racer_L_Wrist + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8397410660902739038 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5914256503865704789} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8437571317776934308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6522044914401019685} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &8442262115139365818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4456090363059994234} + - component: {fileID: 997204581712232972} + m_Layer: 0 + m_Name: Racer_R_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8465902991855582622 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7996141548386843223} + m_LocalRotation: {x: -0.018093066, y: 0.0050680796, z: -0.054229345, w: 0.9983517} + m_LocalPosition: {x: -0.0014127243, y: 0.0037515378, z: 0.000019912626} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7549075100742928300} + m_Father: {fileID: 7972351077112212952} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8466375736257394200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3480675251309558307} + - component: {fileID: 8521434893166021800} + m_Layer: 0 + m_Name: Racer_NeckJoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!137 &8521434893166021800 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8466375736257394200} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -4098399886720586844, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7311932977181822323} + - {fileID: 3570217227468089460} + - {fileID: 7994850796645884937} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 3570217227468089460} + m_AABB: + m_Center: {x: 0.000000014202669, y: 0.009901384, z: 0.0017361147} + m_Extent: {x: 0.00197607, y: 0.0021843316, z: 0.0021843025} + m_DirtyAABB: 0 +--- !u!4 &8537067980936642233 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5361152036260678365} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8573280705918300958 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5000318598526662688} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 6121094074059513249, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5026128958837213275} + - {fileID: 9171005007186132836} + - {fileID: 1665055529155642904} + - {fileID: 8875765429501562103} + - {fileID: 2607779701590038559} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: -4.656613e-10, y: -0.0025021052, z: -0.00003002421} + m_Extent: {x: 0.0065007545, y: 0.005963332, z: 0.005698233} + m_DirtyAABB: 0 +--- !u!1 &8592936013040129363 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8691318413923808961} + m_Layer: 0 + m_Name: mixamorig:RightLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8691318413923808961 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8592936013040129363} + m_LocalRotation: {x: -0.064631, y: -0.00008290593, z: 0.0013792791, w: 0.9979083} + m_LocalPosition: {x: 1.0574874e-17, y: 0.021561641, z: 4.998825e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4390498004180262503} + m_Father: {fileID: 5026128958837213275} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &8778370174880363214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3569170896366674828} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 20 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8811920814153500358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3570217227468089460} + m_Layer: 0 + m_Name: mixamorig:Spine2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &8873361389983358873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7658842932272636465} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8875765429501562103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2388719977550812320} + m_LocalRotation: {x: -0.05589811, y: 0.0000013043609, z: -0.000015016944, w: 0.9984365} + m_LocalPosition: {x: -0, y: 0.0035204792, z: -0.0003954322} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2607779701590038559} + m_Father: {fileID: 9171005007186132836} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &9027607208040127399 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2765140081944982742} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6214831152074070524} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &9040367902758795231 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5361152036260678365} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6743741455230899256, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1665055529155642904} + - {fileID: 9171005007186132836} + - {fileID: 5026128958837213275} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: -0.004080033, y: -0.0053775217, z: -0.000212749} + m_Extent: {x: 0.003712216, y: 0.0038109757, z: 0.0038136113} + m_DirtyAABB: 0 +--- !u!4 &9084462575865005895 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3539867123735121979} + m_LocalRotation: {x: -0.0000003419444, y: -0.000000029464369, z: -0.000000029802315, w: 1} + m_LocalPosition: {x: -0.0000010404141, y: 0.00093569944, z: 6.0915223e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1625079492781954675} + m_Father: {fileID: 2602254706735706227} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &9165372567760844318 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2546899117517206196} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 3.73, z: -4.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6917976188778688606} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &9171005007186132836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4294779673503049233} + m_LocalRotation: {x: -0.000000037237662, y: -0.0000004629012, z: 0.000015066375, w: 1} + m_LocalPosition: {x: -0.00000007714989, y: 0.046164256, z: -0.0007892634} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1665055529155642904} + - {fileID: 5026128958837213275} + - {fileID: 8875765429501562103} + m_Father: {fileID: 3681031590343221232} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &9190294569549882879 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 598301145649077182} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5173151976236256185, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5026128958837213275} + - {fileID: 8691318413923808961} + - {fileID: 9171005007186132836} + - {fileID: 1665055529155642904} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 9171005007186132836} + m_AABB: + m_Center: {x: 0.0041645346, y: -0.014884865, z: 0.00067757943} + m_Extent: {x: 0.0036414284, y: 0.007690362, z: 0.00424061} + m_DirtyAABB: 0 +--- !u!1 &9212898609463585421 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4730203421456821477} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial.meta new file mode 100644 index 0000000..1993bc9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d141d72bd4c482a44b53b7b7681bf510 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs new file mode 100644 index 0000000..48cfcd8 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialFallingState : AerialBaseState +{ + public override void EnterState(AerialStateManager aSM){ + Debug.Log("Falling State"); + } + + public override void UpdateState(AerialStateManager aSM){ + if(aSM.pStats.GravVel > 0){ + aSM.SwitchState(aSM.JumpingState); + } + else if(Input.GetButton("Jump") && aSM.pStats.HasGlider){ + aSM.SwitchState(aSM.GlidingState); + } + + if(aSM.isGrounded){ + aSM.SwitchState(aSM.GroundedState); + } + } + + public override void FixedUpdateState(AerialStateManager aSM){ + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } + + public override void OnCollisionEnter(AerialStateManager aSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs.meta new file mode 100644 index 0000000..94e6a21 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61783f049a8966743ae46c39eeec1881 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs new file mode 100644 index 0000000..b7dda11 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs @@ -0,0 +1,35 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialGlidingState : AerialBaseState +{ + float tempTraction; + + public override void EnterState(AerialStateManager aSM){ + Debug.Log("Gliding State"); + + tempTraction = aSM.pStats.Traction; + aSM.pStats.Traction = 1.0f; + } + + public override void UpdateState(AerialStateManager aSM){ + if(!Input.GetButton("Jump")){ + aSM.pStats.Traction = tempTraction; + aSM.SwitchState(aSM.FallingState); + } + + if(aSM.isGrounded){ + aSM.pStats.Traction = tempTraction; + aSM.SwitchState(aSM.GroundedState); + } + } + + public override void FixedUpdateState(AerialStateManager aSM){ + aSM.GravityCalculation(9); + } + + public override void OnCollisionEnter(AerialStateManager aSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs.meta new file mode 100644 index 0000000..ebe09a3 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c12fc028d5f2f184584d2eca49241719 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs new file mode 100644 index 0000000..5494640 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs @@ -0,0 +1,27 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialGroundedState : AerialBaseState +{ + public override void EnterState(AerialStateManager aSM){ + Debug.Log("Grounded State"); + } + + public override void UpdateState(AerialStateManager aSM){ + if(aSM.pStats.GravVel < 0){ + aSM.SwitchState(aSM.FallingState); + } + else if(aSM.pStats.GravVel > 0){ + aSM.SwitchState(aSM.JumpingState); + } + } + + public override void FixedUpdateState(AerialStateManager aSM){ + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } + + public override void OnCollisionEnter(AerialStateManager aSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs.meta new file mode 100644 index 0000000..82c691f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f8adbd7189ac5324ea70d17e1a7d80eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs new file mode 100644 index 0000000..5b5d33e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialJumpingState : AerialBaseState +{ + + public override void EnterState(AerialStateManager aSM){ + Debug.Log("Jumping State"); + } + + public override void UpdateState(AerialStateManager aSM){ + + if(aSM.pStats.GravVel < 0){ + aSM.SwitchState(aSM.FallingState); + } + + if(aSM.isGrounded){ + aSM.SwitchState(aSM.GroundedState); + } + } + + public override void FixedUpdateState(AerialStateManager aSM){ + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } + + public override void OnCollisionEnter(AerialStateManager aSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs.meta new file mode 100644 index 0000000..e1bea9b --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5dc434010f70e6846821781075391a89 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs new file mode 100644 index 0000000..475f118 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class AerialBaseState +{ + public abstract void EnterState(AerialStateManager aSM); + public abstract void UpdateState(AerialStateManager aSM); + public abstract void FixedUpdateState(AerialStateManager aSM); + public abstract void OnCollisionEnter(AerialStateManager aSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs.meta new file mode 100644 index 0000000..f7fdba0 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f3d9c78aa56075f4db2794b22eafce33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs new file mode 100644 index 0000000..8f664f2 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs @@ -0,0 +1,228 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialStateManager : MonoBehaviour +{ + ////Player States + AerialBaseState currentState; + public AerialBaseState previousState; + + //Aerial States + public AerialFallingState FallingState = new AerialFallingState(); + public AerialGlidingState GlidingState = new AerialGlidingState(); + public AerialGroundedState GroundedState = new AerialGroundedState(); + public AerialJumpingState JumpingState = new AerialJumpingState(); + //// + + ////Objects Sections + private GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + private Rigidbody rB; // Players Rigidbody + private CapsuleCollider capCol; // Players Capsule Collider + private Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public MoveStateManager mSM; + //// + + ////Variables Section + //Jump Variables + public int curJumpNum; // current Jumps Used + public bool jumpHeld; // Jump is Held + private bool jumpPressed; // Jamp was pressed + public float coyJumpTimer = 0.1f; // Default Coyote Jump time + public float curCoyJumpTimer = 0.1f; // current Coyote Jump time + public float lowJumpMultiplier; // Short jump multiplier + public float fallMultiplier; // High Jump Multiplier + + //Gravity Variables// + private float maxG = -100; // max downwards velocity + + //Ground Check + public bool isGrounded; // is player grounded + public float groundCheckDistance = 0.05f; // offset distance to check ground + private const float jumpGroundingPreventionTime = 0.2f; // delay so player doesn't get snapped to ground while jumping + private const float groundCheckDistanceInAir = 0.07f; // How close we have to get to ground to start checking for grounded again + private Ray groundRay; // ground ray + private RaycastHit groundHit; // ground raycast + //// + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); + //// + } + + void Start(){ + //players starting state + currentState = GroundedState; + previousState = GroundedState; + currentState.EnterState(this); + } + + void Update(){ + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + if(moveController.enabled){ + Jump(); + GroundCheck(); + DownwardMovement(); + } + else{ + Debug.Log(currentState); + //Gravity without moveController + pStats.GravVel -= pStats.PlayerGrav * Time.deltaTime; + rB.AddForce(new Vector3(0,pStats.GravVel,0)); + } + + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(AerialBaseState state){ + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering + currentState = state; + currentState.EnterState(this); + } + + //Uses Given gravity to apply a downwards force while allowing coyote Jump and short hops + public void GravityCalculation(float grav){ + if(moveController.enabled){ + + //apply slight upwards force for jump smoothing when g < 0 + if(pStats.GravVel < 0){ + pStats.GravVel += grav * (fallMultiplier - 1) * Time.deltaTime; + } + + //apply smaller upwards force if jump is released early when jumping creating a short jump + else if (pStats.GravVel > 0 && !Input.GetButton("Jump")){ + pStats.GravVel += grav * (lowJumpMultiplier - 1) * Time.deltaTime; + } + + //apply gravity if not grounded and coyote timer is less than 0 + if((isGrounded == false && curCoyJumpTimer <= 0)/* || grapple.isGrappled*/){ + pStats.GravVel -= grav * Time.deltaTime; + } + //else don't apply gravity + else{ + pStats.GravVel = 0; + } + + //Caps out the players downwards speed + if(pStats.GravVel < maxG){ + pStats.GravVel = maxG; + } + } + } + + //Checks if player is grounded + void GroundCheck(){ + // Make sure that the ground check distance while already in air is very small, to prevent suddenly snapping to ground + float chosenGroundCheckDistance = isGrounded ? (moveController.skinWidth + groundCheckDistance) : groundCheckDistanceInAir; + + // reset values before the ground check + isGrounded = false; + groundRay = new Ray(moveController.transform.position, Vector3.down); + + if (Physics.Raycast(groundRay, out groundHit, moveController.height + groundCheckDistance) && !jumpPressed) + { + // Only consider this a valid ground hit if the ground normal goes in the same direction as the character up + if (Vector3.Dot(groundHit.normal, transform.up) > 0f) + { + isGrounded = true; + // handle snapping to the ground + if (groundHit.distance > moveController.skinWidth /* && !grapple.isGrappled*/) + { + moveController.Move(Vector3.down * groundHit.distance); + } + } + } + } + + private void DownwardMovement(){ + Vector3 moveY = new Vector3(0,pStats.GravVel,0) * Time.deltaTime; + + moveController.Move(moveY); + } + + private void Jump(){ + //If space/south gamepad button is pressed apply an upwards force to the player + if (Input.GetAxis("Jump") != 0 && !jumpHeld && curJumpNum < pStats.JumpNum) + { + pStats.GravVel = pStats.JumpPow; + + curJumpNum++; + jumpHeld = true; + jumpPressed = true; + } + + //If grounded no jumps have been used and coyote Timer is refreshed + if(isGrounded && pStats.GravVel == 0){ + curCoyJumpTimer = coyJumpTimer; + curJumpNum = 0; + } + //else start the coyote timer + else curCoyJumpTimer -= Time.deltaTime; + + //if jump is being held coyote timer is zero + if(jumpHeld) curCoyJumpTimer = 0; + + //If space/south face gamepad button isn't being pressed then jump is false + if (Input.GetAxis("Jump") == 0){ + jumpHeld = false; + } + + if(pStats.GravVel < 0){ + jumpPressed = false; + } + } + + /* + //Wallrunning + else if (pStats.HasWallrun) { + //Run wall run script + wallRun.WallRunRoutine(); + + //if wallrunning apply different gravity + if(wallRun.IsWallRunning()){ + if(wallRun.firstAttach){ + g = 0; + wallRun.firstAttach = false; + } + GravityCalculation(2); + } + + //Normal gravity if not wallrunning + else{ + GravityCalculation(pStats.PlayerGrav); + } + } + */ +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs.meta new file mode 100644 index 0000000..b09a29c --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 201caa2b2f1776a46af6bdfd52456028 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple.meta new file mode 100644 index 0000000..694a0cd --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44ea0e21af7d7024099c4da443b76164 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated.meta new file mode 100644 index 0000000..a9b2787 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5149f1c52a18e6a45b82453d3af9a9b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs new file mode 100644 index 0000000..5132aed --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveRagdollState : MoveBaseState +{ + float ragTime; + Vector3 prevRot; + bool beginRagTimer = false; + + public override void EnterState(MoveStateManager mSM){ + Debug.Log("Ragdoll State"); + + ragTime = mSM.pStats.RecovTime; + prevRot = mSM.transform.localEulerAngles; + mSM.capCol.enabled = true; + mSM.moveController.enabled = false; + mSM.rB.isKinematic = false; + mSM.rB.detectCollisions = true; + + mSM.rB.AddForce(mSM.dirHit, ForceMode.Impulse); + } + + public override void UpdateState(MoveStateManager mSM){ + if(!beginRagTimer){ + beginRagTimer = Physics.Raycast(mSM.transform.position, -Vector3.up, mSM.distToGround + 1f); + } + else{ + ragTime -= Time.deltaTime; + } + } + + public override void FixedUpdateState(MoveStateManager mSM){ + //Has to be in Fixed Update because it has player movement + if(ragTime <= 0 && beginRagTimer){ + ragTime = 0; + beginRagTimer = false; + + mSM.pStats.GravVel = 50; + mSM.capCol.enabled = false; + mSM.moveController.enabled = true; + mSM.rB.isKinematic = true; + mSM.rB.detectCollisions = false; + mSM.transform.localEulerAngles = prevRot; + mSM.SwitchState(mSM.RecoveringState); + } + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs.meta new file mode 100644 index 0000000..6a066c1 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7164475ffa0df6409ecd43b0517e4b0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs new file mode 100644 index 0000000..c861617 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs @@ -0,0 +1,24 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveRecoveringState : MoveBaseState +{ + ////// ADD SOMETHING THAT CHECKS ANIMATION FINISH BEFORE GO TO IDLE + + public override void EnterState(MoveStateManager mSM){ + mSM.CancelMomentum(); + } + + public override void UpdateState(MoveStateManager mSM){ + mSM.SwitchState(mSM.IdleState); + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs.meta new file mode 100644 index 0000000..b593b90 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dee57766c5fb3c34c8979d3e14d4e94e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs index 649f2bf..80a19bb 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs @@ -4,23 +4,116 @@ using UnityEngine; public class MoveStateManager : MonoBehaviour { + ////Player States MoveBaseState currentState; - MoveIdleState IdleState = new MoveIdleState(); - MoveWalkState WalkState = new MoveWalkState(); - MoveJogState JogState = new MoveJogState(); - MoveRunState RunState = new MoveRunState(); + public MoveBaseState previousState; + + //WASD States + public MoveIdleState IdleState = new MoveIdleState(); + public MoveWalkState WalkState = new MoveWalkState(); + public MoveJogState JogState = new MoveJogState(); + public MoveRunState RunState = new MoveRunState(); + + //Slide States + public MoveSlideState SlideState = new MoveSlideState(); + public MoveCrouchState CrouchState = new MoveCrouchState(); + public MoveCrouchWalkState CrouchWalkState = new MoveCrouchWalkState(); + + //Incapitated States + public MoveRagdollState RagdollState = new MoveRagdollState(); + public MoveRecoveringState RecoveringState = new MoveRecoveringState(); + //// + + ////Objects Sections + private GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + public Rigidbody rB; // Players Rigidbody + public CapsuleCollider capCol; // Players Capsule Collider + private Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + //// + + ////State Transition Variables + public float idleLimit = .3f; + public float walkLimit = 10.0f; + public float jogLimit = 20f; + public float runLimit = 30f; + //// + + ////Player Variables Section + //Speed Variables + public Vector3 vel; // moveZ + moveX + private Vector3 moveZ; // Local Horizontal Vector + private Vector3 moveX; // Local Vertical Vector + public Vector3 driftVel; // Lerped Movement Vector + public float calculatedCurVel; // calculated current vel using driftVel + + //Slide Variables + public Vector3 slideUp; // Slide upwards direction + + //Camera Variables + private Vector3 camRotation; // cameras camera rotation vector + [Range(-45, -15)] + public int minAngle = -30; // minimum downwards cam angle + [Range(30, 80)] + public int maxAngle = 45; // Max upwards cam angle + [Range(50, 500)] + public int sensitivity = 200; // Camera sensitivity + + //Ragdoll Variables + public Vector3 dirHit; + public float distToGround; // distance to ground + + //Impact Variables + private float mass = 5.0F; // mass variable for Impact + private Vector3 impact = Vector3.zero; // Impact Vector + //// + + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + //// + } // Start is called before the first frame update void Start() { //players starting state currentState = IdleState; + previousState = IdleState; currentState.EnterState(this); + + //Slide Upwards Variable + slideUp = GetComponentInParent().up; // get parents up direction + distToGround = GetComponent().bounds.extents.y; // set players distance to ground + + Cursor.lockState = CursorLockMode.Locked; // Lock cursor on start if you are the local player } // Update is called once per frame void Update() { + //calculates vel using driftVel will need to be relocated + calculatedCurVel = driftVel.magnitude * 50f; + //calls any logic in the update state from current state currentState.UpdateState(this); } @@ -29,10 +122,132 @@ public class MoveStateManager : MonoBehaviour //calls any logic in the fixed update state from current state currentState.FixedUpdateState(this); + + if(cam.enabled) Rotation(); + else Debug.Log("Cam Disabled"); } - void SwitchState(MoveBaseState state){ + public void SwitchState(MoveBaseState state){ + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering currentState = state; - state.EnterState(this); + currentState.EnterState(this); } + + + ////Broad Functions + //Player Speed Calculator + public float PlayerSpeed(){ + //If nothing is pressed speed is 0 + if ((Input.GetAxis("Vertical") == 0.0f && Input.GetAxis("Horizontal") == 0.0f)) + { + pStats.CurVel = 0.0f; + return pStats.CurVel; + } + //If current speed is below min when pressed set to minimum speed + else if (pStats.CurVel < pStats.MinVel) + { + pStats.CurVel = pStats.MinVel; + return pStats.MinVel; + } + // while the speed is below max speed slowly increase it + else if ((pStats.CurVel >= pStats.MinVel) && (pStats.CurVel < pStats.MaxVel)) + { + pStats.CurVel += pStats.Acc; + return pStats.CurVel; + } + //If the players speed is above or equal to max speed set speed to max + else if (pStats.CurVel >= pStats.MaxVel) + { + pStats.CurVel = pStats.MaxVel; + return pStats.CurVel; + + } + //case if somehow they escape this check + else{ + Debug.Log("Something has gone wrong with the PlayerSpeed()"); + return -1; + } + } + + //Wasd movement using player speed + public void DirectionalMovement(){ + //Keyboard inputs + //Checks if movement keys have been pressed and calculates correct vector + moveX = transform.right * Input.GetAxis("Horizontal") * Time.deltaTime * PlayerSpeed(); + moveZ = transform.forward * Input.GetAxis("Vertical") * Time.deltaTime * PlayerSpeed(); + + vel = moveX + moveZ; + Vector3 moveXZ = new Vector3(vel.x, 0, vel.z); + driftVel = Vector3.Lerp(driftVel, moveXZ, pStats.Traction * Time.deltaTime); + + //Actually move he player + moveController.Move(driftVel); + } + + //Slide movement + public void SlideMovement(){ + + moveX = Vector3.zero; + moveZ = Vector3.zero; + + //Adds vectors based on movement keys and other conditions to check what the + //player vector should be under the circumstances + vel = moveX + moveZ; + Vector3 moveXZ = new Vector3(vel.x, 0, vel.z); + driftVel = Vector3.Lerp(driftVel, moveXZ, pStats.Traction * Time.deltaTime); + + //Actually move he player + moveController.Move(driftVel); + } + + //Camera and player rotation + private void Rotation(){ + //If moveController is enabled allow Camera control + if(moveController.enabled){ + //if input is received from Mouse X + if (Input.GetAxis("Mouse X") != 0){ + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + } + + //if input is received from right analog stick (horizontal) + else if(Input.GetAxis("HorizontalCam") != 0){ + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("HorizontalCam")); + } + + //if input is if input is received from Mouse Y + if (Input.GetAxis("Mouse Y") != 0) + { + camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } + + //if input is received from right analog stick (vertical) + else if (Input.GetAxis("VerticalTurn") != 0){ + camRotation.x -= Input.GetAxis("VerticalTurn") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } + } + } + + public void GetHit(Vector3 dir, float force){ + //if (!IsLocalPlayer) { return; } + dir.Normalize(); + dirHit = dir * force; + SwitchState(RagdollState); + } + + public void CancelMomentum(){ + pStats.CurVel = 0; + vel = Vector3.zero; + moveX = Vector3.zero; + moveZ = Vector3.zero; + driftVel = Vector3.zero; + } + } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide.meta new file mode 100644 index 0000000..dcaf000 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca62a3355c93dd04a9c72b0327c603e2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs new file mode 100644 index 0000000..9f75d33 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs @@ -0,0 +1,59 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveCrouchState : MoveBaseState +{ + + //Slide Variables + float originalTraction; // Traction before slide started + RaycastHit slideRay; // slide raycast + + public override void EnterState(MoveStateManager mSM){ + Debug.Log("Crouch State"); + + if(mSM.previousState != mSM.SlideState){ + //Initialize Important Stats On state enter + mSM.pStats.CurVel = 0; + originalTraction = mSM.pStats.Traction; + mSM.gameObject.transform.eulerAngles = new Vector3(mSM.transform.localEulerAngles.x - 90, mSM.transform.localEulerAngles.y, mSM.transform.localEulerAngles.z); + mSM.moveController.height *= .5f; + mSM.pStats.Traction = 0.01f; + } + } + + public override void UpdateState(MoveStateManager mSM){ + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + mSM.transform.Rotate(Vector3.forward * -mSM.sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + mSM.pStats.Traction += .004f; + + ///////ONCE WE HAVE IT SO SLIDE DOESNT ROTATE PLAYER MOVE THIS TO UPDATE + //If player isn't pressing either Q or the joystick button they stop crouching if nothing is above them + if((!Input.GetKey(KeyCode.JoystickButton1) && !Input.GetKey(KeyCode.Q))){ + if ((Physics.Raycast(mSM.gameObject.transform.position, mSM.slideUp, out slideRay, 5f) == false)){ + + ExitCrouchState(mSM); + mSM.SwitchState(mSM.IdleState); + } + else{ + Debug.Log("Object above you"); + } + } + + mSM.SlideMovement(); + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } + + public void ExitCrouchState(MoveStateManager mSM){ + mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + mSM.pStats.CurVel = mSM.calculatedCurVel; + mSM.pStats.Traction = originalTraction; + mSM.moveController.height *= 2.0f; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs.meta new file mode 100644 index 0000000..b431d2a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 88c903fd0284d184dade30af31081373 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs new file mode 100644 index 0000000..498c21f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveCrouchWalkState : MoveBaseState +{ + public override void EnterState(MoveStateManager mSM){ + Debug.Log("Crouch Walk State"); + } + + public override void UpdateState(MoveStateManager mSM){ + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs.meta new file mode 100644 index 0000000..64f1a94 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 502d8c0b8175a794ab08d2798a29465c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs new file mode 100644 index 0000000..3d4d371 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs @@ -0,0 +1,71 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveSlideState : MoveBaseState +{ + //Slide Variables + float originalTraction; // Traction before slide started + RaycastHit slideRay; // slide raycast + + public override void EnterState(MoveStateManager mSM){ + Debug.Log("Slide State"); + + //Initialize Important Stats On state enter + mSM.pStats.CurVel = 0; + originalTraction = mSM.pStats.Traction; + mSM.gameObject.transform.eulerAngles = new Vector3(mSM.transform.eulerAngles.x - 90, mSM.transform.eulerAngles.y, mSM.transform.eulerAngles.z); + mSM.moveController.height *= .5f; + mSM.pStats.Traction = 0.01f; + } + + public override void UpdateState(MoveStateManager mSM){ + + //if player comes to a stop while sliding they crouch + if(mSM.calculatedCurVel < mSM.idleLimit){ + mSM.SwitchState(mSM.CrouchState); + } + + } + + public override void FixedUpdateState(MoveStateManager mSM){ + mSM.transform.Rotate(Vector3.forward * -mSM.sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + mSM.pStats.Traction += .004f; + + ///////ONCE WE HAVE IT SO SLIDE DOESNT ROTATE PLAYER MOVE THIS TO UPDATE + if((!Input.GetKey(KeyCode.JoystickButton1) && !Input.GetKey(KeyCode.Q))){ + if ((Physics.Raycast(mSM.gameObject.transform.position, mSM.slideUp, out slideRay, 5f) == false)){ + + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.JogState); + } + else{ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.RunState); + } + } + else{ + Debug.Log("Object above you"); + } + } + + mSM.SlideMovement(); + } + + public override void OnCollisionEnter(MoveStateManager mSM){ + + } + + public void SlideToMoveState(MoveStateManager mSM){ + mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + mSM.pStats.CurVel = mSM.calculatedCurVel; + mSM.pStats.Traction = originalTraction; + mSM.moveController.height *= 2.0f; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs.meta new file mode 100644 index 0000000..8ecaa1e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4338a9bf5309e75489870c3702150aa8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs index 1113dd1..110c008 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs @@ -5,15 +5,24 @@ using UnityEngine; public class MoveIdleState : MoveBaseState { public override void EnterState(MoveStateManager mSM){ - + Debug.Log("Idle State"); } public override void UpdateState(MoveStateManager mSM){ + //Move to Walk State after speed increases + if(mSM.calculatedCurVel >= mSM.idleLimit){ + mSM.SwitchState(mSM.WalkState); + } + + //If Q or joystick button1 crouch state + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + mSM.SwitchState(mSM.CrouchState); + } } public override void FixedUpdateState(MoveStateManager mSM){ - + mSM.DirectionalMovement(); } public override void OnCollisionEnter(MoveStateManager mSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs index 5028487..000c17e 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs @@ -5,15 +5,29 @@ using UnityEngine; public class MoveJogState : MoveBaseState { public override void EnterState(MoveStateManager mSM){ - + Debug.Log("Jog State"); + //Debug.Log(mSM.calculatedCurVel); } public override void UpdateState(MoveStateManager mSM){ + //move to run state if speed increases + if(mSM.calculatedCurVel >= mSM.runLimit){ + mSM.SwitchState(mSM.RunState); + } + //move to walk if speed decreases + else if(mSM.calculatedCurVel < mSM.walkLimit){ + mSM.SwitchState(mSM.WalkState); + } + + //move to slide if Q or JoystickButton1 + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + mSM.SwitchState(mSM.SlideState); + } } public override void FixedUpdateState(MoveStateManager mSM){ - + mSM.DirectionalMovement(); } public override void OnCollisionEnter(MoveStateManager mSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs index 6b6cdb5..ad89bed 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs @@ -5,15 +5,25 @@ using UnityEngine; public class MoveRunState : MoveBaseState { public override void EnterState(MoveStateManager mSM){ - + Debug.Log("Run State"); + //Debug.Log(mSM.calculatedCurVel); } public override void UpdateState(MoveStateManager mSM){ + //move to Jog if speed decreases + if(mSM.calculatedCurVel < mSM.runLimit){ + mSM.SwitchState(mSM.JogState); + } + + //move to slide if Q or JoystickButton1 + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + mSM.SwitchState(mSM.SlideState); + } } public override void FixedUpdateState(MoveStateManager mSM){ - + mSM.DirectionalMovement(); } public override void OnCollisionEnter(MoveStateManager mSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs index 8d0b450..45f5adf 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs @@ -5,15 +5,29 @@ using UnityEngine; public class MoveWalkState : MoveBaseState { public override void EnterState(MoveStateManager mSM){ - + Debug.Log("Walk State"); + //Debug.Log(mSM.calculatedCurVel); } public override void UpdateState(MoveStateManager mSM){ + //move to Jog if speed increases + if(mSM.calculatedCurVel >= mSM.jogLimit){ + mSM.SwitchState(mSM.JogState); + } + //move to Idle if speed decreases + else if(mSM.calculatedCurVel < mSM.idleLimit){ + mSM.SwitchState(mSM.IdleState); + } + + //move to slide if Q or JoystickButton1 + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + mSM.SwitchState(mSM.SlideState); + } } public override void FixedUpdateState(MoveStateManager mSM){ - + mSM.DirectionalMovement(); } public override void OnCollisionEnter(MoveStateManager mSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AttackState.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState.meta similarity index 100% rename from Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AttackState.meta rename to Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState.meta diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs index f66a578..67e7123 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/dPlayerMovement.cs @@ -31,6 +31,7 @@ public class dPlayerMovement : NetworkBehaviour private Vector3 moveZ; // Local Horizontal Vector private Vector3 moveX; // Local Vertical Vector public Vector3 driftVel; // Lerped Movement Vector + public float calculatedCurVel; // calculated Vel based on curVel //Jump Variables public int curJumpNum; // current Jumps Used diff --git a/Assets/Scripts/PlayerScripts/PlayerStats.cs b/Assets/Scripts/PlayerScripts/PlayerStats.cs index 6719b8e..c4a7f64 100644 --- a/Assets/Scripts/PlayerScripts/PlayerStats.cs +++ b/Assets/Scripts/PlayerScripts/PlayerStats.cs @@ -82,6 +82,13 @@ public class PlayerStats : MonoBehaviour set{ playerGrav = value; } } + //Players Downwards Velocity + [SerializeField] private float gravVel = 0; + public float GravVel{ + get{ return gravVel; } + set{ gravVel = value; } + } + //If The Player Has Blink [SerializeField] private bool hasBlink = false; public bool HasBlink{ @@ -124,6 +131,7 @@ public class PlayerStats : MonoBehaviour set{ hasDash = value; } } + //Spending points the player has [SerializeField] private int playerPoints = 15; public int PlayerPoints{ get{ return playerPoints; } From fc525861d47554975c271934d2571ab7cde3c7f0 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Mon, 14 Feb 2022 12:55:36 -0600 Subject: [PATCH 03/11] added slide check functionality for certain functions --- Assets/Scenes/Demos/MovementScene.unity | 6 ++++- .../AerialState/Aerial/AerialFallingState.cs | 2 +- .../AerialState/AerialStateManager.cs | 3 +-- .../MovementState/MoveStateManager.cs | 4 ++- .../MovementState/Slide/MoveCrouchState.cs | 7 ++++++ .../Slide/MoveCrouchWalkState.cs | 17 +++++++++++++ .../MovementState/Slide/MoveSlideState.cs | 19 ++++++++++++++ UserSettings/EditorUserSettings.asset | 25 +++++++++++++------ 8 files changed, 70 insertions(+), 13 deletions(-) diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index 972e3c8..b2c8fec 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -5290,6 +5290,8 @@ MonoBehaviour: m_EditorClassIdentifier: cam: {fileID: 4663752955048033130} moveController: {fileID: 0} + rB: {fileID: 0} + capCol: {fileID: 0} pStats: {fileID: 0} idleLimit: 0.3 walkLimit: 10 @@ -5302,6 +5304,8 @@ MonoBehaviour: minAngle: -18 maxAngle: 30 sensitivity: 200 + dirHit: {x: 0, y: 0, z: 0} + distToGround: 0 --- !u!114 &4061813754685703500 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5320,7 +5324,7 @@ MonoBehaviour: mSM: {fileID: 0} curJumpNum: 0 jumpHeld: 0 - coyJumpTimer: 0.13 + coyJumpTimer: 0.1 curCoyJumpTimer: 0.13 lowJumpMultiplier: 0.001 fallMultiplier: 1.6 diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs index 48cfcd8..e12bbc3 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs @@ -12,7 +12,7 @@ public class AerialFallingState : AerialBaseState if(aSM.pStats.GravVel > 0){ aSM.SwitchState(aSM.JumpingState); } - else if(Input.GetButton("Jump") && aSM.pStats.HasGlider){ + else if(Input.GetButton("Jump") && aSM.pStats.HasGlider && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.GlidingState); } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs index 8f664f2..2fc991f 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs @@ -5,7 +5,7 @@ using UnityEngine; public class AerialStateManager : MonoBehaviour { ////Player States - AerialBaseState currentState; + public AerialBaseState currentState; public AerialBaseState previousState; //Aerial States @@ -91,7 +91,6 @@ public class AerialStateManager : MonoBehaviour DownwardMovement(); } else{ - Debug.Log(currentState); //Gravity without moveController pStats.GravVel -= pStats.PlayerGrav * Time.deltaTime; rB.AddForce(new Vector3(0,pStats.GravVel,0)); diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs index 80a19bb..34c42ca 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs @@ -5,7 +5,7 @@ using UnityEngine; public class MoveStateManager : MonoBehaviour { ////Player States - MoveBaseState currentState; + public MoveBaseState currentState; public MoveBaseState previousState; //WASD States @@ -38,6 +38,7 @@ public class MoveStateManager : MonoBehaviour ////Scripts Section public PlayerStats pStats; // Player Stats + public AerialStateManager aSM; //// ////State Transition Variables @@ -90,6 +91,7 @@ public class MoveStateManager : MonoBehaviour ////Initialize Scripts pStats = GetComponent(); // set PlayerStats + aSM = GetComponent(); //// } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs index 9f75d33..b874c2f 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs @@ -43,6 +43,13 @@ public class MoveCrouchState : MoveBaseState } } + /* + //If falling stop sliding and go to wasd states + if(mSM.aSM.currentState == mSM.aSM.FallingState){ + ExitCrouchState(mSM); + mSM.SwitchState(mSM.IdleState); + } + */ mSM.SlideMovement(); } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs index 498c21f..5d56e37 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs @@ -14,6 +14,23 @@ public class MoveCrouchWalkState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ + /* + if(mSM.aSM.currentState == mSM.aSM.FallingState){ + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.JogState); + } + else{ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.RunState); + } + } + */ } public override void OnCollisionEnter(MoveStateManager mSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs index 3d4d371..b889dd2 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs @@ -53,8 +53,27 @@ public class MoveSlideState : MoveBaseState else{ Debug.Log("Object above you"); } + } + /* + //If falling stop sliding and go to wasd states + if(mSM.aSM.currentState == mSM.aSM.FallingState){ + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.JogState); + } + else{ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.RunState); + } + } + */ mSM.SlideMovement(); } diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 46b5659..95ef93b 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -6,26 +6,35 @@ EditorUserSettings: serializedVersion: 4 m_ConfigSettings: RecentlyUsedScenePath-0: - value: 22424703114646680e0b0227036c731f1415016439262f2434 - flags: 0 - RecentlyUsedScenePath-1: value: 22424703114646680e0b0227036c6f1f05033f2b212d68252320092a flags: 0 - RecentlyUsedScenePath-2: - value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb + RecentlyUsedScenePath-1: + value: 22424703114646680e0b0227036c731f1415016439262f2434 flags: 0 - RecentlyUsedScenePath-3: + RecentlyUsedScenePath-2: value: 22424703114646680e0b0227036c6b19021b1d192f2d2835633c133af6f9 flags: 0 + RecentlyUsedScenePath-3: + value: 22424703114646680e0b0227036c7b151b180b65093e273e12190f3cf6ef2021f2e225a7f234362820 + flags: 0 RecentlyUsedScenePath-4: - value: 22424703114646680e0b0227036c6f02131b172b282d347e38271427fb + value: 22424703114646680e0b0227036c7b151b180b652b3a27292f260573f1e33136e7a923e7ee2e26 flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c7b151b180b6501273035202c1327d1e33136e7a923e7ee2e26 + value: 22424703114646703f313f3611314b0506241b2f222d69032e2c1336add32039f0f323f9d4393a323c34bf6d4a2b0f36e613 flags: 0 RecentlyUsedScenePath-6: + value: 22424703114646703f313f3611314b0506241b2f222d69032e2c1336add32039f0f323f9d4393a323c34bf6d4a2b0f36e613 + flags: 0 + RecentlyUsedScenePath-7: + value: 22424703114646680e0b0227036c78111b125507233d28242c20137df7ee3d2cfb + flags: 0 + RecentlyUsedScenePath-8: value: 22424703114646680e0b0227036c6f02131b172b282d347e38271427fb flags: 0 + RecentlyUsedScenePath-9: + value: 22424703114646680e0b0227036c7b151b180b6501273035202c1327d1e33136e7a923e7ee2e26 + flags: 0 vcSharedLogLevel: value: 0d5e400f0650 flags: 0 From ba3ac228f75e8a01999b747df44f74a76566a80f Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Mon, 14 Feb 2022 13:11:05 -0600 Subject: [PATCH 04/11] cant slide when falling --- .../DebugStateStuff/MovementState/WASD/MoveIdleState.cs | 2 +- .../DebugStateStuff/MovementState/WASD/MoveJogState.cs | 2 +- .../DebugStateStuff/MovementState/WASD/MoveRunState.cs | 2 +- .../DebugStateStuff/MovementState/WASD/MoveWalkState.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs index 110c008..6268661 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs @@ -16,7 +16,7 @@ public class MoveIdleState : MoveBaseState } //If Q or joystick button1 crouch state - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ mSM.SwitchState(mSM.CrouchState); } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs index 000c17e..acf141b 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs @@ -21,7 +21,7 @@ public class MoveJogState : MoveBaseState } //move to slide if Q or JoystickButton1 - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ mSM.SwitchState(mSM.SlideState); } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs index ad89bed..6e6b5aa 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs @@ -17,7 +17,7 @@ public class MoveRunState : MoveBaseState } //move to slide if Q or JoystickButton1 - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ mSM.SwitchState(mSM.SlideState); } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs index 45f5adf..3750949 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs @@ -21,7 +21,7 @@ public class MoveWalkState : MoveBaseState } //move to slide if Q or JoystickButton1 - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q))){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ mSM.SwitchState(mSM.SlideState); } } From 833183d0342455fffcfe007ff4d802b2e6965501 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Tue, 15 Feb 2022 21:19:12 -0600 Subject: [PATCH 05/11] Finished the Movement and Aerial groups Working on the Dash, Nitro, and offense groups now --- Assets/Scenes/Demos/MovementScene.unity | 22 +- .../AerialState/Aerial/AerialFallingState.cs | 18 +- .../AerialState/Aerial/AerialGlidingState.cs | 22 +- .../AerialState/Aerial/AerialGroundedState.cs | 16 +- .../AerialState/Aerial/AerialJumpingState.cs | 20 +- .../AerialState/AerialBaseState.cs | 5 +- .../AerialState/AerialStateManager.cs | 351 ++++++++++++++++-- .../DebugStateStuff/AerialState/Grapple.meta | 8 + .../Grapple/AerialGrappleAirState.cs | 228 ++++++++++++ .../Grapple/AerialGrappleAirState.cs.meta | 11 + .../Grapple/AerialGrappleGroundedState.cs | 39 ++ .../AerialGrappleGroundedState.cs.meta | 11 + .../DebugStateStuff/AerialState/Wallrun.meta | 8 + .../Wallrun/AerialWallIdleState.cs | 23 ++ .../Wallrun/AerialWallIdleState.cs.meta | 11 + .../AerialState/Wallrun/AerialWallRunState.cs | 34 ++ .../Wallrun/AerialWallRunState.cs.meta | 11 + .../DebugStateStuff/DashState/Dash.meta | 8 + .../DashState/Dash/DashCooldownState.cs | 18 + .../DashState/Dash/DashCooldownState.cs.meta | 11 + .../DashState/Dash/DashDashingState.cs | 18 + .../DashState/Dash/DashDashingState.cs.meta | 11 + .../DashState/Dash/DashIncapacitatedState.cs | 18 + .../Dash/DashIncapacitatedState.cs.meta | 11 + .../DashState/Dash/DashNoneState.cs | 18 + .../DashState/Dash/DashNoneState.cs.meta | 11 + .../DashState/DashBaseState.cs | 11 + .../DashState/DashBaseState.cs.meta | 11 + .../DashState/DashStateManager.cs | 33 ++ .../DashState/DashStateManager.cs.meta | 11 + .../Grapple/MoveGrappleAirState.cs | 34 ++ .../Grapple/MoveGrappleAirState.cs.meta | 11 + .../{Incapcitated.meta => Incapacitated.meta} | 0 .../MoveRagdollState.cs | 21 +- .../MoveRagdollState.cs.meta | 0 .../MoveRecoveringState.cs | 10 +- .../MoveRecoveringState.cs.meta | 0 .../MovementState/MoveBaseState.cs | 4 +- .../MovementState/MoveStateManager.cs | 22 +- .../MovementState/Slide/MoveCrouchState.cs | 26 +- .../Slide/MoveCrouchWalkState.cs | 9 +- .../MovementState/Slide/MoveSlideState.cs | 25 +- .../MovementState/WASD/MoveIdleState.cs | 12 +- .../MovementState/WASD/MoveJogState.cs | 14 +- .../MovementState/WASD/MoveRunState.cs | 12 +- .../MovementState/WASD/MoveWalkState.cs | 12 +- .../DebugStateStuff/NitroState/Nitro.meta | 8 + .../NitroState/Nitro/NitroCooldownState.cs | 18 + .../Nitro/NitroCooldownState.cs.meta | 11 + .../Nitro/NitroIncapacitatedState.cs | 18 + .../Nitro/NitroIncapacitatedState.cs.meta | 11 + .../NitroState/Nitro/NitroNitroingState.cs | 18 + .../Nitro/NitroNitroingState.cs.meta | 11 + .../NitroState/Nitro/NitroNoneState.cs | 18 + .../NitroState/Nitro/NitroNoneState.cs.meta | 11 + .../NitroState/NitroBaseState.cs | 11 + .../NitroState/NitroBaseState.cs.meta | 11 + .../NitroState/NitroStateManager.cs | 28 ++ .../NitroState/NitroStateManager.cs.meta | 11 + .../OffenseState/Kick&Punch.meta | 8 + .../Kick&Punch/OffenseAirKickState.cs | 18 + .../Kick&Punch/OffenseAirKickState.cs.meta | 11 + .../Kick&Punch/OffenseAirPunchState.cs | 18 + .../Kick&Punch/OffenseAirPunchState.cs.meta | 11 + .../Kick&Punch/OffenseKickState.cs | 18 + .../Kick&Punch/OffenseKickState.cs.meta | 11 + .../Kick&Punch/OffensePunchState.cs | 18 + .../Kick&Punch/OffensePunchState.cs.meta | 11 + .../DebugStateStuff/OffenseState/Offense.meta | 8 + .../Offense/OffenseCooldownState.cs | 18 + .../Offense/OffenseCooldownState.cs.meta | 11 + .../Offense/OffenseIncapacitatedState.cs | 18 + .../Offense/OffenseIncapacitatedState.cs.meta | 11 + .../OffenseState/Offense/OffenseNoneState.cs | 18 + .../Offense/OffenseNoneState.cs.meta | 11 + .../OffenseState/OffenseBaseState.cs | 11 + .../OffenseState/OffenseBaseState.cs.meta | 11 + .../OffenseState/OffenseStateManager.cs | 28 ++ .../OffenseState/OffenseStateManager.cs.meta | 11 + .../PlayerItems/ItemScripts/GrapplingHook.cs | 32 +- .../PlayerItems/ItemScripts/WallRun.cs | 4 - 81 files changed, 1568 insertions(+), 173 deletions(-) create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs.meta rename Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/{Incapcitated.meta => Incapacitated.meta} (100%) rename Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/{Incapcitated => Incapacitated}/MoveRagdollState.cs (89%) rename Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/{Incapcitated => Incapacitated}/MoveRagdollState.cs.meta (100%) rename Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/{Incapcitated => Incapacitated}/MoveRecoveringState.cs (71%) rename Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/{Incapcitated => Incapacitated}/MoveRecoveringState.cs.meta (100%) create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs.meta create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs create mode 100644 Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs.meta diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index b2c8fec..85f2fbd 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -5245,9 +5245,9 @@ MonoBehaviour: playerGrav: 200 gravVel: 0 hasBlink: 0 - hasGlider: 0 - hasGrapple: 0 - hasWallrun: 0 + hasGlider: 1 + hasGrapple: 1 + hasWallrun: 1 hasNitro: 0 hasDash: 0 playerPoints: 15 @@ -5293,6 +5293,7 @@ MonoBehaviour: rB: {fileID: 0} capCol: {fileID: 0} pStats: {fileID: 0} + aSM: {fileID: 0} idleLimit: 0.3 walkLimit: 10 jogLimit: 20 @@ -5330,6 +5331,21 @@ MonoBehaviour: fallMultiplier: 1.6 isGrounded: 0 groundCheckDistance: 0.05 + isWallRunning: 0 + maxGrabDistance: 30 + hookPoint: {fileID: 0} + hookPoints: [] + hookPointIndex: 0 + distance: 0 + maxGrappleDistance: 20 + maxSwingSpeed: 50 + minSwingSpeed: 20 + swingAcc: 3 + maxSwingMom: 60 + release: 0 + tempRelease: {x: 0, y: 0, z: 0} + lerpRelease: {x: 0, y: 0, z: 0} + forceDirection: {x: 0, y: 0, z: 0} --- !u!4 &4090990814600649861 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs index e12bbc3..e111edd 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs @@ -4,10 +4,14 @@ using UnityEngine; public class AerialFallingState : AerialBaseState { - public override void EnterState(AerialStateManager aSM){ + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ Debug.Log("Falling State"); } + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + + } + public override void UpdateState(AerialStateManager aSM){ if(aSM.pStats.GravVel > 0){ aSM.SwitchState(aSM.JumpingState); @@ -19,13 +23,21 @@ public class AerialFallingState : AerialBaseState if(aSM.isGrounded){ aSM.SwitchState(aSM.GroundedState); } + + if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.WallRunState); + } } public override void FixedUpdateState(AerialStateManager aSM){ aSM.GravityCalculation(aSM.pStats.PlayerGrav); - } - public override void OnCollisionEnter(AerialStateManager aSM){ + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } + if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleAirState); + } } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs index b7dda11..31ee640 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs @@ -6,30 +6,40 @@ public class AerialGlidingState : AerialBaseState { float tempTraction; - public override void EnterState(AerialStateManager aSM){ + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ Debug.Log("Gliding State"); tempTraction = aSM.pStats.Traction; aSM.pStats.Traction = 1.0f; } + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + aSM.pStats.Traction = tempTraction; + } + public override void UpdateState(AerialStateManager aSM){ if(!Input.GetButton("Jump")){ - aSM.pStats.Traction = tempTraction; aSM.SwitchState(aSM.FallingState); } if(aSM.isGrounded){ - aSM.pStats.Traction = tempTraction; aSM.SwitchState(aSM.GroundedState); } + + if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.WallRunState); + } + + if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleAirState); + } } public override void FixedUpdateState(AerialStateManager aSM){ aSM.GravityCalculation(9); - } - - public override void OnCollisionEnter(AerialStateManager aSM){ + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs index 5494640..d985778 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs @@ -4,8 +4,14 @@ using UnityEngine; public class AerialGroundedState : AerialBaseState { - public override void EnterState(AerialStateManager aSM){ + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ Debug.Log("Grounded State"); + + aSM.release = false; + } + + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + } public override void UpdateState(AerialStateManager aSM){ @@ -15,13 +21,13 @@ public class AerialGroundedState : AerialBaseState else if(aSM.pStats.GravVel > 0){ aSM.SwitchState(aSM.JumpingState); } + + if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleGroundedState); + } } public override void FixedUpdateState(AerialStateManager aSM){ aSM.GravityCalculation(aSM.pStats.PlayerGrav); } - - public override void OnCollisionEnter(AerialStateManager aSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs index 5b5d33e..8c58281 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs @@ -5,10 +5,14 @@ using UnityEngine; public class AerialJumpingState : AerialBaseState { - public override void EnterState(AerialStateManager aSM){ + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ Debug.Log("Jumping State"); } + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + + } + public override void UpdateState(AerialStateManager aSM){ if(aSM.pStats.GravVel < 0){ @@ -18,13 +22,21 @@ public class AerialJumpingState : AerialBaseState if(aSM.isGrounded){ aSM.SwitchState(aSM.GroundedState); } + + if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.WallRunState); + } + + if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleAirState); + } } public override void FixedUpdateState(AerialStateManager aSM){ aSM.GravityCalculation(aSM.pStats.PlayerGrav); - } - - public override void OnCollisionEnter(AerialStateManager aSM){ + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs index 475f118..40265d4 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialBaseState.cs @@ -4,8 +4,9 @@ using UnityEngine; public abstract class AerialBaseState { - public abstract void EnterState(AerialStateManager aSM); + public abstract void EnterState(AerialStateManager aSM, AerialBaseState previousState); + public abstract void ExitState(AerialStateManager aSM, AerialBaseState nextState); public abstract void UpdateState(AerialStateManager aSM); public abstract void FixedUpdateState(AerialStateManager aSM); - public abstract void OnCollisionEnter(AerialStateManager aSM); + } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs index 2fc991f..3ded6ef 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/AerialStateManager.cs @@ -1,6 +1,9 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using System.Linq; +using MLAPI; +using UnityEngine.Rendering; public class AerialStateManager : MonoBehaviour { @@ -13,18 +16,26 @@ public class AerialStateManager : MonoBehaviour public AerialGlidingState GlidingState = new AerialGlidingState(); public AerialGroundedState GroundedState = new AerialGroundedState(); public AerialJumpingState JumpingState = new AerialJumpingState(); + + //Wallrunning States + public AerialWallRunState WallRunState = new AerialWallRunState(); + public AerialWallIdleState WallIdleState = new AerialWallIdleState(); + + //Grappling States + public AerialGrappleGroundedState GrappleGroundedState = new AerialGrappleGroundedState(); + public AerialGrappleAirState GrappleAirState = new AerialGrappleAirState(); //// ////Objects Sections - private GameObject parentObj; // Parent object + GameObject parentObj; // Parent object public Camera cam; // Camera object //// ////Components Section public CharacterController moveController; // Character Controller - private Rigidbody rB; // Players Rigidbody - private CapsuleCollider capCol; // Players Capsule Collider - private Animator animator; // Animation Controller + Rigidbody rB; // Players Rigidbody + CapsuleCollider capCol; // Players Capsule Collider + Animator animator; // Animation Controller //// ////Scripts Section @@ -36,22 +47,61 @@ public class AerialStateManager : MonoBehaviour //Jump Variables public int curJumpNum; // current Jumps Used public bool jumpHeld; // Jump is Held - private bool jumpPressed; // Jamp was pressed + bool jumpPressed; // Jamp was pressed public float coyJumpTimer = 0.1f; // Default Coyote Jump time public float curCoyJumpTimer = 0.1f; // current Coyote Jump time public float lowJumpMultiplier; // Short jump multiplier public float fallMultiplier; // High Jump Multiplier //Gravity Variables// - private float maxG = -100; // max downwards velocity + float maxG = -100; // max downwards velocity //Ground Check public bool isGrounded; // is player grounded public float groundCheckDistance = 0.05f; // offset distance to check ground - private const float jumpGroundingPreventionTime = 0.2f; // delay so player doesn't get snapped to ground while jumping - private const float groundCheckDistanceInAir = 0.07f; // How close we have to get to ground to start checking for grounded again - private Ray groundRay; // ground ray - private RaycastHit groundHit; // ground raycast + const float jumpGroundingPreventionTime = 0.2f; // delay so player doesn't get snapped to ground while jumping + const float groundCheckDistanceInAir = 0.07f; // How close we have to get to ground to start checking for grounded again + Ray groundRay; // ground ray + RaycastHit groundHit; // ground raycast + + //Wallrun + float wallMaxDistance = 3f; + float wallSpeedMultiplier = 1.5f; + float minimumHeight = .1f; + [Range(0.0f, 1.0f)] + float normalizedAngleThreshold = 0.1f; + float jumpDuration = .02f; + float wallBouncing = 3; + Vector3[] directions; + RaycastHit[] hits; + public bool isWallRunning = false; + Vector3 lastWallPosition; + Vector3 lastWallNormal; + float elapsedTimeSinceJump = 0; + float elapsedTimeSinceWallAttach = 0; + float elapsedTimeSinceWallDetatch = 0; + bool jumping; + + //Impact Variables + float mass = 5.0F; // mass variable for Impact + Vector3 impact = Vector3.zero; // Impact Vector + + //Grapple Variables + public float maxGrabDistance = 30;// Max Distance can cast grapple + public GameObject hookPoint; // Actual Hook points + public GameObject[] hookPoints; // Hook point list + public int hookPointIndex; // Hook point Index + public float distance; // distance of hookpoints + public float maxGrappleDistance = 20; // Max Rope Length + public float maxSwingSpeed = 50; + public float minSwingSpeed = 20; + public float swingAcc = 3f; + public float maxSwingMom = 60; + public bool release = false; + public Vector3 tempRelease; + public Vector3 lerpRelease; + public Vector3 forceDirection; + public bool eHeld; //// void Awake(){ @@ -67,7 +117,7 @@ public class AerialStateManager : MonoBehaviour ////Initialize Scripts pStats = GetComponent(); // set PlayerStats - mSM = GetComponent(); + mSM = GetComponent(); // set move state manager //// } @@ -75,7 +125,21 @@ public class AerialStateManager : MonoBehaviour //players starting state currentState = GroundedState; previousState = GroundedState; - currentState.EnterState(this); + currentState.EnterState(this, previousState); + + ////Initialize Variables + //Wallrun Variables + directions = new Vector3[]{ + Vector3.right, + Vector3.right + Vector3.forward, + Vector3.forward, + Vector3.left + Vector3.forward, + Vector3.left + }; + + //Grapple Variables + hookPoints = GameObject.FindGameObjectsWithTag("HookPoint"); + //// } void Update(){ @@ -85,10 +149,19 @@ public class AerialStateManager : MonoBehaviour void FixedUpdate(){ + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); if(moveController.enabled){ Jump(); GroundCheck(); DownwardMovement(); + + if(pStats.HasWallrun){ + WallRunRoutine(); + } + + //Dissipates Impact + DissipateImpact(); } else{ //Gravity without moveController @@ -97,20 +170,23 @@ public class AerialStateManager : MonoBehaviour } - //calls any logic in the fixed update state from current state - currentState.FixedUpdateState(this); + } public void SwitchState(AerialBaseState state){ + currentState.ExitState(this, state); + //Sets the previous State previousState = currentState; //updates current state and calls logic for entering currentState = state; - currentState.EnterState(this); + currentState.EnterState(this, previousState); } + + ////Jump & Gravity Calculations //Uses Given gravity to apply a downwards force while allowing coyote Jump and short hops public void GravityCalculation(float grav){ if(moveController.enabled){ @@ -126,7 +202,7 @@ public class AerialStateManager : MonoBehaviour } //apply gravity if not grounded and coyote timer is less than 0 - if((isGrounded == false && curCoyJumpTimer <= 0)/* || grapple.isGrappled*/){ + if((isGrounded == false && curCoyJumpTimer <= 0) || currentState == GrappleAirState){ pStats.GravVel -= grav * Time.deltaTime; } //else don't apply gravity @@ -157,7 +233,7 @@ public class AerialStateManager : MonoBehaviour { isGrounded = true; // handle snapping to the ground - if (groundHit.distance > moveController.skinWidth /* && !grapple.isGrappled*/) + if (groundHit.distance > moveController.skinWidth && currentState != GrappleAirState) { moveController.Move(Vector3.down * groundHit.distance); } @@ -165,17 +241,34 @@ public class AerialStateManager : MonoBehaviour } } - private void DownwardMovement(){ + //Actually applies the downwards movement + void DownwardMovement(){ Vector3 moveY = new Vector3(0,pStats.GravVel,0) * Time.deltaTime; + + + if(currentState == GrappleAirState){ + moveY = (new Vector3(0,pStats.GravVel,0) + forceDirection) * Time.deltaTime; + } + moveController.Move(moveY); + } - private void Jump(){ + //applies Jump values and Variables + void Jump(){ //If space/south gamepad button is pressed apply an upwards force to the player if (Input.GetAxis("Jump") != 0 && !jumpHeld && curJumpNum < pStats.JumpNum) { - pStats.GravVel = pStats.JumpPow; + if(currentState == WallRunState){ + AddImpact((GetWallJumpDirection()), pStats.JumpPow * 8.5f); + pStats.GravVel = pStats.JumpPow; + curJumpNum = 0; + } + else{ + pStats.GravVel = pStats.JumpPow; + } + curJumpNum++; jumpHeld = true; @@ -203,25 +296,211 @@ public class AerialStateManager : MonoBehaviour } } - /* - //Wallrunning - else if (pStats.HasWallrun) { - //Run wall run script - wallRun.WallRunRoutine(); + //Apply Impact for when force needs to be applied without ragdolling + public void AddImpact(Vector3 dir, float force){ + //if (!IsLocalPlayer) { return; } - //if wallrunning apply different gravity - if(wallRun.IsWallRunning()){ - if(wallRun.firstAttach){ - g = 0; - wallRun.firstAttach = false; - } - GravityCalculation(2); + //Normalize direction multiply by force and add it to the impact + dir.Normalize(); + if (dir.y < 0) dir.y = -dir.y; // reflect down force on the ground + impact += dir.normalized * force / mass; + } + + //Dissipates Impact Force + void DissipateImpact(){ + //if suffiecient impact magnitude is applied then move player + if (impact.magnitude > 0.2F) moveController.Move(impact * Time.deltaTime); + + // consumes the impact energy each cycle: + impact = Vector3.Lerp(impact, Vector3.zero, 5*Time.deltaTime); + } + //// + + ////Wallrun Functions + //Checks if they can wallrun + public bool CanWallRun(){ + float verticalAxis = Input.GetAxisRaw("Vertical"); + return !isGrounded && verticalAxis > 0 && !Physics.Raycast(transform.position, Vector3.down, minimumHeight); + } + + //checks if they can attach + bool CanAttach(){ + if(jumping) + { + elapsedTimeSinceJump += Time.deltaTime; + if(elapsedTimeSinceJump > jumpDuration) + { + elapsedTimeSinceJump = 0; + jumping = false; + } + return false; + } + return true; + } + + //On Wall calulations + void OnWall(RaycastHit hit){ + float d = Vector3.Dot(hit.normal, Vector3.up); + if(d >= -normalizedAngleThreshold && d <= normalizedAngleThreshold) + { + Vector3 alongWall = Vector3.Cross(hit.normal, Vector3.up); + float vertical = Input.GetAxisRaw("Vertical"); + //Vector3 alongWall = transform.TransformDirection(Vector3.forward); + + // Debug.DrawRay(transform.position, alongWall.normalized * 10, Color.green); + // Debug.DrawRay(transform.position, lastWallNormal * 10, Color.magenta); + + Vector3 moveToSet = alongWall * vertical * mSM.PlayerSpeed() * Time.deltaTime; + Vector3 velNorm = mSM.vel; + velNorm.Normalize(); + + moveToSet = new Vector3(moveToSet.x * -velNorm.x, moveToSet.y, moveToSet.z * -velNorm.z); + + Vector3 moveToSetNorm = moveToSet; + moveToSetNorm.Normalize(); + + if((moveToSetNorm.x < 0 && velNorm.x > 0)){ + moveToSet.x = (moveToSet.x * -velNorm.x); + } + else if((moveToSetNorm.x > 0 && velNorm.x < 0) ){ + moveToSet.x = (-moveToSet.x * -velNorm.x); } - //Normal gravity if not wallrunning - else{ - GravityCalculation(pStats.PlayerGrav); + if((moveToSetNorm.z < 0 && velNorm.z > 0)){ + moveToSet.z = (moveToSet.z * -velNorm.z); + } + else if((moveToSetNorm.z > 0 && velNorm.z < 0)){ + moveToSet.z = (-moveToSet.z * -velNorm.z); + } + + moveToSet.y = 0; + // + + mSM.vel = moveToSet; + if(!isWallRunning){ + isWallRunning = true; + } + + if(curJumpNum == mSM.pStats.JumpNum){ + curJumpNum = 0; + } + + } + } + + //Calculate wall direction + float CalculateSide(){ + if(isWallRunning) + { + Vector3 heading = lastWallPosition - transform.position; + Vector3 perp = Vector3.Cross(transform.forward, heading); + float dir = Vector3.Dot(perp, transform.up); + return dir; + } + return 0; + } + + //The Wallrun Routine itself + void WallRunRoutine(){ + //if (!IsLocalPlayer) { return; } + + isWallRunning = false; + + hits = new RaycastHit[directions.Length]; + + if(jumpHeld) + { + jumping = true; + } + + if(CanAttach()) + { + for(int i=0; i h.collider != null).OrderBy(h => h.distance).ToArray(); + if(hits.Length > 0) + { + if(hits[0].collider.tag == "WallRun") + { + OnWall(hits[0]); + lastWallPosition = hits[0].point; + lastWallNormal = hits[0].normal; + } + } } } - */ + + if(isWallRunning) + { + elapsedTimeSinceWallDetatch = 0; + elapsedTimeSinceWallAttach += Time.deltaTime; + } + else + { + elapsedTimeSinceWallAttach = 0; + elapsedTimeSinceWallDetatch += Time.deltaTime; + } + } + + //The Direction the player jumps on wall detachment + public Vector3 GetWallJumpDirection(){ + return lastWallNormal * wallBouncing + (transform.up); + } + //// + + ////Grapple Functions + //Checks if the player can grapple + public bool CheckGrapple(){ + if ((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) && pStats.HasGrapple) //If grapple button is hit + { + hookPointIndex = FindHookPoint(); //Find the nearest hook point within max distance + if (hookPointIndex != -1) //If there is a hookpoint + { + hookPoint = hookPoints[hookPointIndex]; //The point we are grappling from + eHeld = true; + return true; + } + } + return false; + } + + //Finds the nearest hook to the player + int FindHookPoint() + { + float least = maxGrabDistance; + int index = -1; + for(int i = 0; i aSM.maxGrappleDistance){ + ropeLength = aSM.maxGrappleDistance; + } + + oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + curXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + + swingMom = CalculateSwingMom(aSM.mSM.driftVel.magnitude * 50f, aSM); + oldSwingMom = swingMom; + aSM.pStats.GravVel = -1; + aSM.release = false; + aSM.lerpRelease = Vector3.zero; + } + + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + if(nextState != aSM.GrappleGroundedState){ + aSM.release = true; + aSM.pStats.GravVel = 0; + aSM.forceDirection = Vector3.zero; + swingback = true; + } + else{ + aSM.pStats.GravVel = 0; + aSM.forceDirection = Vector3.zero; + swingback = true; + } + } + + public override void UpdateState(AerialStateManager aSM){ + + if((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) && !aSM.eHeld){ + aSM.SwitchState(aSM.FallingState); + } + else if((Input.GetKeyUp(KeyCode.E) || Input.GetKeyUp(KeyCode.JoystickButton2))){ + aSM.eHeld = false; + } + + if(Input.GetButton("Jump")){ + + aSM.SwitchState(aSM.JumpingState); + } + + if(aSM.isGrounded){ + aSM.SwitchState(aSM.GrappleGroundedState); + } + + } + + public override void FixedUpdateState(AerialStateManager aSM){ + + Debug.DrawRay(aSM.transform.position, (aSM.hookPoint.transform.position - aSM.transform.position)); //Visual of line + + //Debug.Log(Vector3.Distance(gameObject.transform.position, hookPoint.transform.position)); + //Calculate tether force direction based on hookpoint + if (Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position) >= ropeLength ) + { + aSM.forceDirection = CalculateForceDirection(1, aSM.pStats.GravVel, aSM.hookPoint.transform.position, aSM) + RopeLengthOffset(aSM.hookPoint.transform.position, Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position), aSM); + } + else{ + aSM.forceDirection = Vector3.zero; + } + + aSM.moveController.Move(SwingMoveController(aSM)); + if(swingMom != 0){ + aSM.moveController.Move(CalculateMomentumDirection(aSM.pStats.GravVel, aSM.hookPoint.transform.position, aSM)); + swingMom -= .5f; + } + + if(swingMom<0) swingMom = 0; + + aSM.tempRelease = CalculateSwingReleaseForce(); + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } + + //Needs to be Overhauled to properly implement energy loss taking into account players current Velocity, height and input + //------Important Equations-------- + // TensionForce = Cos(theta) * g * m * Vector3(tensionDirection) + // Potential Energy = m * g * h -- Will need to modify adding current speed + // Kinetic Energy = 1/2 * m * V^2 -- assuming no energy loss at the bottom KE = PE at peak we will add energy loss ourselves + // Total Energy = m * ((g*h) + (1/2 * V^2)) + // Velocity = (2 * ((TotalEnergy/m) - (g*h)))^(1/2) -- This hypothetically could be used for our swing momentum calculation + // Movement Direction right angle of tension force = Sin(theta) * g * m * Vector3(Right angle to tensionDirection) + + //Calculate the tether direction vector and how much force that vector needs + Vector3 CalculateForceDirection(float mass, float g, Vector3 hPoint, AerialStateManager aSM){ + + //tension direction and angle calculation + tensionDirection = (hPoint - aSM.transform.position).normalized; + inclinationAngle = Vector3.Angle((aSM.transform.position - hPoint).normalized, -aSM.transform.up); + theta = Mathf.Deg2Rad * inclinationAngle; + if(theta<=.1) theta = 0; + + //How much force the tension needs + tensionForce = mass * -g * Mathf.Cos(theta); + + //force direction calculation based on tension direction and force + Vector3 fDirection = tensionDirection * tensionForce; + return fDirection; + } + + Vector3 CalculateMomentumDirection(float g, Vector3 hPoint, AerialStateManager aSM){ + + tensionMomDirection = (hPoint - aSM.transform.position).normalized; + hookPointRight = Vector3.Cross(oldXZDir, aSM.transform.up).normalized; + momDirection = -1 * Vector3.Cross(hookPointRight, tensionMomDirection).normalized; + + if(oldXZDir != curXZDir){ + //midpointMom = swingMom; + swingback = false; + //Debug.Log("flip"); + } + + if(swingback == false && swingMom <= (oldSwingMom*(.75f))){ + swingback = true; + oldSwingMom = swingMom; + oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + //Debug.Log("swingback"); + } + + curXZDir = (new Vector3(hPoint.x,0,hPoint.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + Debug.DrawRay(aSM.transform.position, momDirection * Time.deltaTime* 100, Color.green); + return (momDirection * Time.deltaTime * swingMom); + } + + //Calculates the players initial swing momentum using their height and their current velocity + float CalculateSwingMom(float playerSpeed, AerialStateManager aSM){ + + //Calculate the players height compared to the lowest point in the swing + float swingHeight = aSM.transform.position.y - (aSM.hookPoint.transform.position.y - ropeLength); + if(swingHeight <= 1){ + swingHeight = 1; + } + + float sMom = playerSpeed + (swingHeight*2); + if(sMom > aSM.maxSwingMom){ + sMom = aSM.maxSwingMom; + } + return sMom; + } + + //Special movement for the player while they swing + Vector3 SwingMoveController(AerialStateManager aSM){ + + //WASD input + float inputVert = Input.GetAxis("Vertical"); + float inputHor = Input.GetAxis("Horizontal"); + + //input is zero when nothing is pressed to prevent button easing values + if((!Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.S))) inputVert = 0; + if((!Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D))) inputHor = 0; + + //Swingspeed build up + if((inputVert != 0 || inputHor != 0) && swingSpeed < aSM.maxSwingSpeed){ + swingSpeed += aSM.swingAcc; + } + else if((inputVert != 0 || inputHor != 0) && swingSpeed >= aSM.maxSwingSpeed){ + swingSpeed = aSM.maxSwingSpeed; + } + else if((inputVert == 0 && inputHor == 0)){ + swingSpeed = aSM.minSwingSpeed; + } + + //Swing direction based on player input + swingDirection = Vector3.Cross(tensionDirection, ((aSM.transform.right * -inputVert) + (aSM.transform.forward * inputHor))).normalized; + + + //NEED TO ADD SWINGSPEED EASING + //this could be just adding a gradual increase in the swing speed instead of using a flat rate + //Swing movement with swing speed added + Vector3 swingMovement = (swingDirection * Time.deltaTime * swingSpeed); + + + return (swingMovement); + } + + Vector3 RopeLengthOffset(Vector3 hPoint, float curDistance, AerialStateManager aSM){ + + //How powerful our offset movement has to be + float offsetPower = ((curDistance - ropeLength) * 200f); + + //The direction we need to apply force to offset when the rope gets lengthened beyond the necessary point + Vector3 tenDirOffset = (hPoint - aSM.transform.position).normalized; + + + return tenDirOffset * offsetPower * Time.deltaTime; + } + + Vector3 CalculateSwingReleaseForce(){ + + Vector3 releaseSwingForceDirection = momDirection * ((swingMom) + 10); + + releaseSwingForceDirection = new Vector3(releaseSwingForceDirection.x,0,releaseSwingForceDirection.z); + + if(swingMom < 5){ + return Vector3.zero; + } + return releaseSwingForceDirection * Time.deltaTime; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs.meta new file mode 100644 index 0000000..ad8eadb --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 18f636cc4d77c0d439a1effaa5b08485 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs new file mode 100644 index 0000000..5568f84 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialGrappleGroundedState : AerialBaseState +{ + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ + Debug.Log("Grapple Grounded State"); + + aSM.release = false; + } + + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + + } + + public override void UpdateState(AerialStateManager aSM){ + if(!aSM.isGrounded && aSM.pStats.GravVel < 0){ + aSM.SwitchState(aSM.GrappleAirState); + } + + if(Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position) > aSM.maxGrappleDistance){ + aSM.SwitchState(aSM.GroundedState); + } + + if((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) && !aSM.eHeld){ + aSM.SwitchState(aSM.GroundedState); + } + else if((Input.GetKeyUp(KeyCode.E) || Input.GetKeyUp(KeyCode.JoystickButton2))){ + aSM.eHeld = false; + } + } + + public override void FixedUpdateState(AerialStateManager aSM){ + Debug.DrawRay(aSM.transform.position, (aSM.hookPoint.transform.position - aSM.transform.position)); //Visual of line + + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs.meta new file mode 100644 index 0000000..b25deb9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleGroundedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd53fea25f9a40e41812e6faae369b2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun.meta new file mode 100644 index 0000000..74a9419 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bdb37848afbcd446b59b3158927a111 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs new file mode 100644 index 0000000..9047319 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialWallIdleState : AerialBaseState +{ + + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ + + } + + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + + } + + public override void UpdateState(AerialStateManager aSM){ + + } + + public override void FixedUpdateState(AerialStateManager aSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs.meta new file mode 100644 index 0000000..ae7d21e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallIdleState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 15b109cc50982684c9d17a41ec11dc32 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs new file mode 100644 index 0000000..af33468 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AerialWallRunState : AerialBaseState +{ + + public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ + Debug.Log("Wallrun State"); + aSM.pStats.GravVel = 0; + + } + + public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + + } + + public override void UpdateState(AerialStateManager aSM){ + if(Input.GetButton("Jump")){ + aSM.SwitchState(aSM.JumpingState); + } + else if(!aSM.isWallRunning){ + aSM.SwitchState(aSM.FallingState); + } + + if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleAirState); + } + } + + public override void FixedUpdateState(AerialStateManager aSM){ + aSM.GravityCalculation(2); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs.meta new file mode 100644 index 0000000..c28dcf9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Wallrun/AerialWallRunState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93ab0a7ac87da66408ced3667ae9b930 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash.meta new file mode 100644 index 0000000..1dcfa16 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2a3e1f7f578e18f408e5ae9b97d27942 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs new file mode 100644 index 0000000..8f49ed5 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DashCooldownState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs.meta new file mode 100644 index 0000000..a28acfe --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bad22bcf005335b43bc4ca573461d7ab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs new file mode 100644 index 0000000..6e03099 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DashDashingState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs.meta new file mode 100644 index 0000000..18d24c8 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b41f7d4ad84f9143bb3b8f570ee7505 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs new file mode 100644 index 0000000..a943023 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DashIncapacitatedState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs.meta new file mode 100644 index 0000000..aeea033 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 603d43aaa9b286a43a78312d03135afe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs new file mode 100644 index 0000000..b84d582 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DashNoneState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs.meta new file mode 100644 index 0000000..eee7117 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8b1f874d79f4e64ea90f162d3cf01eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs new file mode 100644 index 0000000..c1cfd2f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class DashBaseState +{ + public abstract void EnterState(DashStateManager dSM, DashBaseState previousState); + public abstract void ExitState(DashStateManager dSM, DashBaseState nextState); + public abstract void UpdateState(DashStateManager dSM); + public abstract void FixedUpdateState(DashStateManager dSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs.meta new file mode 100644 index 0000000..92bc9d4 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 672ce2f99c12e8e449bbd8a3238e601d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs new file mode 100644 index 0000000..e88acd0 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DashStateManager : MonoBehaviour +{ + ////Player States + public DashBaseState currentState; + public DashBaseState previousState; + + //Dash States + public DashNoneState NoneState = new DashNoneState(); + public DashIncapacitatedState IncapacitatedState = new DashIncapacitatedState(); + public DashCooldownState CooldownState = new DashCooldownState(); + //// + + ////Objects Sections + GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + Rigidbody rB; // Players Rigidbody + CapsuleCollider capCol; // Players Capsule Collider + Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public MoveStateManager mSM; + //// +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs.meta new file mode 100644 index 0000000..b76b4b5 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5904903ff376f25499c08e24ad00aaf8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs new file mode 100644 index 0000000..5f5919f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MoveGrappleAirState : MoveBaseState +{ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ + mSM.driftVel = Vector3.zero; + } + + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } + + public override void UpdateState(MoveStateManager mSM){ + if(mSM.aSM.currentState != mSM.aSM.GrappleAirState){ + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + mSM.SwitchState(mSM.JogState); + } + else{ + mSM.SwitchState(mSM.RunState); + } + } + } + + public override void FixedUpdateState(MoveStateManager mSM){ + + } + +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs.meta new file mode 100644 index 0000000..7cee884 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Grapple/MoveGrappleAirState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ef1fdba284bf4db40903d97f11507813 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated.meta similarity index 100% rename from Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated.meta rename to Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated.meta diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRagdollState.cs similarity index 89% rename from Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs rename to Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRagdollState.cs index 5132aed..80e5c23 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRagdollState.cs @@ -8,7 +8,7 @@ public class MoveRagdollState : MoveBaseState Vector3 prevRot; bool beginRagTimer = false; - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Ragdoll State"); ragTime = mSM.pStats.RecovTime; @@ -21,6 +21,15 @@ public class MoveRagdollState : MoveBaseState mSM.rB.AddForce(mSM.dirHit, ForceMode.Impulse); } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + mSM.pStats.GravVel = 50; + mSM.capCol.enabled = false; + mSM.moveController.enabled = true; + mSM.rB.isKinematic = true; + mSM.rB.detectCollisions = false; + mSM.transform.localEulerAngles = prevRot; + } + public override void UpdateState(MoveStateManager mSM){ if(!beginRagTimer){ beginRagTimer = Physics.Raycast(mSM.transform.position, -Vector3.up, mSM.distToGround + 1f); @@ -36,17 +45,7 @@ public class MoveRagdollState : MoveBaseState ragTime = 0; beginRagTimer = false; - mSM.pStats.GravVel = 50; - mSM.capCol.enabled = false; - mSM.moveController.enabled = true; - mSM.rB.isKinematic = true; - mSM.rB.detectCollisions = false; - mSM.transform.localEulerAngles = prevRot; mSM.SwitchState(mSM.RecoveringState); } } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRagdollState.cs.meta similarity index 100% rename from Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRagdollState.cs.meta rename to Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRagdollState.cs.meta diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRecoveringState.cs similarity index 71% rename from Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs rename to Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRecoveringState.cs index c861617..564093b 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRecoveringState.cs @@ -6,10 +6,14 @@ public class MoveRecoveringState : MoveBaseState { ////// ADD SOMETHING THAT CHECKS ANIMATION FINISH BEFORE GO TO IDLE - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ mSM.CancelMomentum(); } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } + public override void UpdateState(MoveStateManager mSM){ mSM.SwitchState(mSM.IdleState); } @@ -17,8 +21,4 @@ public class MoveRecoveringState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRecoveringState.cs.meta similarity index 100% rename from Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapcitated/MoveRecoveringState.cs.meta rename to Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Incapacitated/MoveRecoveringState.cs.meta diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs index 624f708..7eec476 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveBaseState.cs @@ -4,8 +4,8 @@ using UnityEngine; public abstract class MoveBaseState { - public abstract void EnterState(MoveStateManager mSM); + public abstract void EnterState(MoveStateManager mSM, MoveBaseState previousState); + public abstract void ExitState(MoveStateManager mSM, MoveBaseState nextState); public abstract void UpdateState(MoveStateManager mSM); public abstract void FixedUpdateState(MoveStateManager mSM); - public abstract void OnCollisionEnter(MoveStateManager mSM); } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs index 34c42ca..f9dafd6 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/MoveStateManager.cs @@ -22,6 +22,9 @@ public class MoveStateManager : MonoBehaviour //Incapitated States public MoveRagdollState RagdollState = new MoveRagdollState(); public MoveRecoveringState RecoveringState = new MoveRecoveringState(); + + //Grapple States + public MoveGrappleAirState GrappleAirState = new MoveGrappleAirState(); //// ////Objects Sections @@ -69,12 +72,8 @@ public class MoveStateManager : MonoBehaviour public int sensitivity = 200; // Camera sensitivity //Ragdoll Variables - public Vector3 dirHit; + public Vector3 dirHit; // Direction hit public float distToGround; // distance to ground - - //Impact Variables - private float mass = 5.0F; // mass variable for Impact - private Vector3 impact = Vector3.zero; // Impact Vector //// @@ -101,7 +100,7 @@ public class MoveStateManager : MonoBehaviour //players starting state currentState = IdleState; previousState = IdleState; - currentState.EnterState(this); + currentState.EnterState(this, previousState); //Slide Upwards Variable slideUp = GetComponentInParent().up; // get parents up direction @@ -116,6 +115,8 @@ public class MoveStateManager : MonoBehaviour //calculates vel using driftVel will need to be relocated calculatedCurVel = driftVel.magnitude * 50f; + GoToGrapple(); + //calls any logic in the update state from current state currentState.UpdateState(this); } @@ -131,12 +132,14 @@ public class MoveStateManager : MonoBehaviour public void SwitchState(MoveBaseState state){ + currentState.ExitState(this, state); + //Sets the previous State previousState = currentState; //updates current state and calls logic for entering currentState = state; - currentState.EnterState(this); + currentState.EnterState(this, previousState); } @@ -252,4 +255,9 @@ public class MoveStateManager : MonoBehaviour driftVel = Vector3.zero; } + void GoToGrapple(){ + if(aSM.currentState == aSM.GrappleAirState && (currentState != SlideState && currentState != RagdollState && currentState != RecoveringState)){ + SwitchState(GrappleAirState); + } + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs index b874c2f..dfb255b 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs @@ -9,10 +9,10 @@ public class MoveCrouchState : MoveBaseState float originalTraction; // Traction before slide started RaycastHit slideRay; // slide raycast - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Crouch State"); - if(mSM.previousState != mSM.SlideState){ + if(previousState != mSM.SlideState){ //Initialize Important Stats On state enter mSM.pStats.CurVel = 0; originalTraction = mSM.pStats.Traction; @@ -22,6 +22,16 @@ public class MoveCrouchState : MoveBaseState } } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + if(nextState != mSM.CrouchWalkState){ + mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + mSM.pStats.CurVel = mSM.calculatedCurVel; + mSM.pStats.Traction = originalTraction; + mSM.moveController.height *= 2.0f; + } + + } + public override void UpdateState(MoveStateManager mSM){ } @@ -35,7 +45,6 @@ public class MoveCrouchState : MoveBaseState if((!Input.GetKey(KeyCode.JoystickButton1) && !Input.GetKey(KeyCode.Q))){ if ((Physics.Raycast(mSM.gameObject.transform.position, mSM.slideUp, out slideRay, 5f) == false)){ - ExitCrouchState(mSM); mSM.SwitchState(mSM.IdleState); } else{ @@ -52,15 +61,4 @@ public class MoveCrouchState : MoveBaseState */ mSM.SlideMovement(); } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } - - public void ExitCrouchState(MoveStateManager mSM){ - mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); - mSM.pStats.CurVel = mSM.calculatedCurVel; - mSM.pStats.Traction = originalTraction; - mSM.moveController.height *= 2.0f; - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs index 5d56e37..8ff2c31 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchWalkState.cs @@ -4,9 +4,13 @@ using UnityEngine; public class MoveCrouchWalkState : MoveBaseState { - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Crouch Walk State"); } + + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } public override void UpdateState(MoveStateManager mSM){ @@ -33,7 +37,4 @@ public class MoveCrouchWalkState : MoveBaseState */ } - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs index b889dd2..721cdd2 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs @@ -8,7 +8,7 @@ public class MoveSlideState : MoveBaseState float originalTraction; // Traction before slide started RaycastHit slideRay; // slide raycast - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Slide State"); //Initialize Important Stats On state enter @@ -19,6 +19,15 @@ public class MoveSlideState : MoveBaseState mSM.pStats.Traction = 0.01f; } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + if(nextState != mSM.CrouchState){ + mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + mSM.pStats.CurVel = mSM.calculatedCurVel; + mSM.pStats.Traction = originalTraction; + mSM.moveController.height *= 2.0f; + } + } + public override void UpdateState(MoveStateManager mSM){ //if player comes to a stop while sliding they crouch @@ -38,15 +47,12 @@ public class MoveSlideState : MoveBaseState //Determine which state to go into based on player speed if(mSM.calculatedCurVel < mSM.walkLimit){ - SlideToMoveState(mSM); mSM.SwitchState(mSM.WalkState); } else if(mSM.calculatedCurVel < mSM.runLimit){ - SlideToMoveState(mSM); mSM.SwitchState(mSM.JogState); } else{ - SlideToMoveState(mSM); mSM.SwitchState(mSM.RunState); } } @@ -76,15 +82,4 @@ public class MoveSlideState : MoveBaseState */ mSM.SlideMovement(); } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } - - public void SlideToMoveState(MoveStateManager mSM){ - mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); - mSM.pStats.CurVel = mSM.calculatedCurVel; - mSM.pStats.Traction = originalTraction; - mSM.moveController.height *= 2.0f; - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs index 6268661..a4a9d07 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveIdleState.cs @@ -4,10 +4,14 @@ using UnityEngine; public class MoveIdleState : MoveBaseState { - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Idle State"); } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } + public override void UpdateState(MoveStateManager mSM){ //Move to Walk State after speed increases @@ -16,7 +20,7 @@ public class MoveIdleState : MoveBaseState } //If Q or joystick button1 crouch state - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ mSM.SwitchState(mSM.CrouchState); } } @@ -24,8 +28,4 @@ public class MoveIdleState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ mSM.DirectionalMovement(); } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs index acf141b..b545c45 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveJogState.cs @@ -4,11 +4,15 @@ using UnityEngine; public class MoveJogState : MoveBaseState { - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Jog State"); //Debug.Log(mSM.calculatedCurVel); } - + + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } + public override void UpdateState(MoveStateManager mSM){ //move to run state if speed increases @@ -21,7 +25,7 @@ public class MoveJogState : MoveBaseState } //move to slide if Q or JoystickButton1 - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ mSM.SwitchState(mSM.SlideState); } } @@ -29,8 +33,4 @@ public class MoveJogState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ mSM.DirectionalMovement(); } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs index 6e6b5aa..dba475a 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveRunState.cs @@ -4,11 +4,15 @@ using UnityEngine; public class MoveRunState : MoveBaseState { - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Run State"); //Debug.Log(mSM.calculatedCurVel); } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } + public override void UpdateState(MoveStateManager mSM){ //move to Jog if speed decreases @@ -17,7 +21,7 @@ public class MoveRunState : MoveBaseState } //move to slide if Q or JoystickButton1 - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ mSM.SwitchState(mSM.SlideState); } } @@ -25,8 +29,4 @@ public class MoveRunState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ mSM.DirectionalMovement(); } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs index 3750949..bcf7340 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/WASD/MoveWalkState.cs @@ -4,11 +4,15 @@ using UnityEngine; public class MoveWalkState : MoveBaseState { - public override void EnterState(MoveStateManager mSM){ + public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ Debug.Log("Walk State"); //Debug.Log(mSM.calculatedCurVel); } + public override void ExitState(MoveStateManager mSM, MoveBaseState nextState){ + + } + public override void UpdateState(MoveStateManager mSM){ //move to Jog if speed increases @@ -21,7 +25,7 @@ public class MoveWalkState : MoveBaseState } //move to slide if Q or JoystickButton1 - if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && mSM.aSM.currentState != mSM.aSM.FallingState){ + if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ mSM.SwitchState(mSM.SlideState); } } @@ -29,8 +33,4 @@ public class MoveWalkState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ mSM.DirectionalMovement(); } - - public override void OnCollisionEnter(MoveStateManager mSM){ - - } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro.meta new file mode 100644 index 0000000..a2cbe2e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8da7e24d55219204b86f9c99f23201c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs new file mode 100644 index 0000000..3cf6e7f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class NitroCooldownState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs.meta new file mode 100644 index 0000000..4d10b75 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 31aa143bf2a2d9c4ebccb1884b06e080 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs new file mode 100644 index 0000000..131e70b --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class NitroIncapacitatedState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs.meta new file mode 100644 index 0000000..319757a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a331aa9af6c346f43b8123be4e308693 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs new file mode 100644 index 0000000..2534e48 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class NitroNitroingState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs.meta new file mode 100644 index 0000000..b1f6a86 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cfb069621f651c743b64a3604ba25e8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs new file mode 100644 index 0000000..22c8641 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class NitroNoneState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs.meta new file mode 100644 index 0000000..7d3ad81 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b274f44e4b258004587d2afe1c748474 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs new file mode 100644 index 0000000..9c4606a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class NitroBaseState +{ + public abstract void EnterState(NitroStateManager nSM, NitroBaseState previousState); + public abstract void ExitState(NitroStateManager nSM, NitroBaseState nextState); + public abstract void UpdateState(NitroStateManager nSM); + public abstract void FixedUpdateState(NitroStateManager nSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs.meta new file mode 100644 index 0000000..466092f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7142e15316cd1694983f38a584c89346 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs new file mode 100644 index 0000000..9da8a27 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class NitroStateManager : MonoBehaviour +{ + ////Player States + public NitroBaseState currentState; + public NitroBaseState previousState; + //// + + ////Objects Sections + GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + Rigidbody rB; // Players Rigidbody + CapsuleCollider capCol; // Players Capsule Collider + Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public MoveStateManager mSM; + //// +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs.meta new file mode 100644 index 0000000..69ef437 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5f89839a9c7d0204ea00e910d9c5c5ee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch.meta new file mode 100644 index 0000000..0c89a26 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2292a829a1cb2c43b4e3889d4cfe7a6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs new file mode 100644 index 0000000..d448397 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseAirKickState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs.meta new file mode 100644 index 0000000..5fd0b81 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e963653fb34d3184fba3fb7e4417ed75 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs new file mode 100644 index 0000000..5d3469e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseAirPunchState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs.meta new file mode 100644 index 0000000..8941f53 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f00bc672381c3a44b010d905fabe9a0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs new file mode 100644 index 0000000..74c2f93 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseKickState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs.meta new file mode 100644 index 0000000..ad2ce20 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0447909f4233a324db4c49496dcc6bb8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs new file mode 100644 index 0000000..06b48f3 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffensePunchState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs.meta new file mode 100644 index 0000000..c063943 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 994ebfe06000a58488b76579ebf2c4dc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense.meta new file mode 100644 index 0000000..e177de1 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 703ef5745e09b544da4dace0f35c1ce5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs new file mode 100644 index 0000000..70d722f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseCooldownState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs.meta new file mode 100644 index 0000000..8989786 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d68d73793d961c640a7028eeeddded66 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs new file mode 100644 index 0000000..92eb7b8 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseIncapacitatedState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs.meta new file mode 100644 index 0000000..691b94e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a55bc30803d5e034ca1a922fc86eff22 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs new file mode 100644 index 0000000..a721e72 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseNoneState : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs.meta new file mode 100644 index 0000000..4f04dcf --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 49f93bffb8401e14dbd4b9ebf76442aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs new file mode 100644 index 0000000..2ba1ea1 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class OffenseBaseState +{ + public abstract void EnterState(OffenseStateManager oSM, OffenseBaseState previousState); + public abstract void ExitState(OffenseStateManager oSM, OffenseBaseState nextState); + public abstract void UpdateState(OffenseStateManager oSM); + public abstract void FixedUpdateState(OffenseStateManager oSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs.meta new file mode 100644 index 0000000..46dd274 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 865c3dd440a18de45b59955da056df65 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs new file mode 100644 index 0000000..55f3450 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class OffenseStateManager : MonoBehaviour +{ + ////Player States + public OffenseBaseState currentState; + public OffenseBaseState previousState; + //// + + ////Objects Sections + GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + Rigidbody rB; // Players Rigidbody + CapsuleCollider capCol; // Players Capsule Collider + Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public MoveStateManager mSM; + //// +} diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs.meta new file mode 100644 index 0000000..fae4d27 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dc5a1a9c85c29a744aa6ca7f1a8dbc60 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GrapplingHook.cs b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GrapplingHook.cs index 559891f..978489f 100644 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GrapplingHook.cs +++ b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/GrapplingHook.cs @@ -17,8 +17,7 @@ public class GrapplingHook : NetworkBehaviour private CharacterController movementController; private PlayerMovement playerMovement; private PlayerStats pStats; - [SerializeField] private float ropeLength; - private float climbRate = 5; + private float ropeLength; private Vector3 swingDirection; float inclinationAngle; float theta = -1; @@ -88,7 +87,7 @@ public class GrapplingHook : NetworkBehaviour release = false; lerpRelease = Vector3.zero; } - } + } else //Else we are grappling { isGrappled = false; //toggle grappling state to release @@ -105,27 +104,6 @@ public class GrapplingHook : NetworkBehaviour { Debug.DrawRay(gameObject.transform.position, (hookPoint.transform.position - gameObject.transform.position)); //Visual of line - //Extend Hook - if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.JoystickButton4)) - { - ropeLength += climbRate * Time.deltaTime; - if (ropeLength > maxGrappleDistance) - { - ropeLength = maxGrappleDistance; - } - //Debug.Log(ropeLength.ToString()); - } - - //Retract Hook - if (Input.GetKey(KeyCode.RightShift) || Input.GetKey(KeyCode.JoystickButton5)) - { - ropeLength -= climbRate * Time.deltaTime; - if (ropeLength < 8) - { - ropeLength = 8; - } - //Debug.Log(ropeLength.ToString()); - } //Debug.Log(Vector3.Distance(gameObject.transform.position, hookPoint.transform.position)); //Calculate tether force direction based on hookpoint if (Vector3.Distance(gameObject.transform.position, hookPoint.transform.position) >= ropeLength ) @@ -162,8 +140,7 @@ public class GrapplingHook : NetworkBehaviour if(release){ lerpRelease = Vector3.Lerp(lerpRelease, tempRelease, 10f * Time.deltaTime); - tempRelease *= .99f; - Debug.Log(lerpRelease); + tempRelease *= .95f; movementController.Move(lerpRelease); } @@ -315,11 +292,12 @@ public class GrapplingHook : NetworkBehaviour Vector3 releaseSwingForceDirection = momDirection * ((swingMom) + 10); - releaseSwingForceDirection = new Vector3(releaseSwingForceDirection.x,0,releaseSwingForceDirection.z); + releaseSwingForceDirection = new Vector3(releaseSwingForceDirection.x, 0, releaseSwingForceDirection.z); if(swingMom < 5){ return Vector3.zero; } + return releaseSwingForceDirection * Time.deltaTime; } } diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/WallRun.cs b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/WallRun.cs index 9a87967..2e8d8e5 100644 --- a/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/WallRun.cs +++ b/Assets/Scripts/PlayerScripts/PlayerItems/ItemScripts/WallRun.cs @@ -10,16 +10,12 @@ public class WallRun : NetworkBehaviour public float wallMaxDistance = 3f; public float wallSpeedMultiplier = 1.2f; public float minimumHeight = .1f; - public float maxAngleRoll = 20; [Range(0.0f, 1.0f)] public float normalizedAngleThreshold = 0.1f; - public float jumpDuration = .02f; public float wallBouncing = 3; public float cameraTransitionDuration = 1; - public float wallGravityDownForce = 2.8f; - [Space] PlayerMovement playerMovementController; From f580be178af09456c7d618550edcb6b050cc54bf Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Tue, 15 Feb 2022 21:37:49 -0600 Subject: [PATCH 06/11] Setup all the files so they can be state machined --- .../DashState/Dash/DashCooldownState.cs | 22 ++++--- .../DashState/Dash/DashDashingState.cs | 22 ++++--- .../DashState/Dash/DashIncapacitatedState.cs | 22 ++++--- .../DashState/Dash/DashNoneState.cs | 22 ++++--- .../DashState/DashStateManager.cs | 48 ++++++++++++++- .../NitroState/Nitro/NitroCooldownState.cs | 22 ++++--- .../Nitro/NitroIncapacitatedState.cs | 22 ++++--- .../NitroState/Nitro/NitroNitroingState.cs | 22 ++++--- .../NitroState/Nitro/NitroNoneState.cs | 22 ++++--- .../NitroState/NitroStateManager.cs | 55 +++++++++++++++++- .../Kick&Punch/OffenseAirKickState.cs | 22 ++++--- .../Kick&Punch/OffenseAirPunchState.cs | 22 ++++--- .../Kick&Punch/OffenseKickState.cs | 22 ++++--- .../Kick&Punch/OffensePunchState.cs | 22 ++++--- .../Offense/OffenseCooldownState.cs | 22 ++++--- .../Offense/OffenseIncapacitatedState.cs | 22 ++++--- .../OffenseState/Offense/OffenseNoneState.cs | 22 ++++--- .../OffenseState/OffenseStateManager.cs | 58 ++++++++++++++++++- 18 files changed, 352 insertions(+), 139 deletions(-) diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs index 8f49ed5..1ba6736 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class DashCooldownState : MonoBehaviour +public class DashCooldownState : DashBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(DashStateManager dSM, DashBaseState nextState){ + + } + + public override void UpdateState(DashStateManager dSM){ + + } + + public override void FixedUpdateState(DashStateManager dSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs index 6e03099..d2c4c32 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class DashDashingState : MonoBehaviour +public class DashDashingState : DashBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(DashStateManager dSM, DashBaseState nextState){ + + } + + public override void UpdateState(DashStateManager dSM){ + + } + + public override void FixedUpdateState(DashStateManager dSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs index a943023..5344d10 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class DashIncapacitatedState : MonoBehaviour +public class DashIncapacitatedState : DashBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(DashStateManager dSM, DashBaseState nextState){ + + } + + public override void UpdateState(DashStateManager dSM){ + + } + + public override void FixedUpdateState(DashStateManager dSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs index b84d582..84b813a 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class DashNoneState : MonoBehaviour +public class DashNoneState : DashBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(DashStateManager dSM, DashBaseState nextState){ + + } + + public override void UpdateState(DashStateManager dSM){ + + } + + public override void FixedUpdateState(DashStateManager dSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs index e88acd0..aff64e5 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs @@ -12,11 +12,11 @@ public class DashStateManager : MonoBehaviour public DashNoneState NoneState = new DashNoneState(); public DashIncapacitatedState IncapacitatedState = new DashIncapacitatedState(); public DashCooldownState CooldownState = new DashCooldownState(); + public DashDashingState DashingState = new DashDashingState(); //// ////Objects Sections GameObject parentObj; // Parent object - public Camera cam; // Camera object //// ////Components Section @@ -30,4 +30,50 @@ public class DashStateManager : MonoBehaviour public PlayerStats pStats; // Player Stats public MoveStateManager mSM; //// + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + //// + } + + void Start(){ + //players starting state + currentState = NoneState; + previousState = NoneState; + currentState.EnterState(this, previousState); + } + + void Update(){ + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(DashBaseState 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); + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs index 3cf6e7f..4982115 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class NitroCooldownState : MonoBehaviour +public class NitroCooldownState : NitroBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(NitroStateManager nSM, NitroBaseState nextState){ + + } + + public override void UpdateState(NitroStateManager nSM){ + + } + + public override void FixedUpdateState(NitroStateManager nSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs index 131e70b..e36fc0e 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class NitroIncapacitatedState : MonoBehaviour +public class NitroIncapacitatedState : NitroBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(NitroStateManager nSM, NitroBaseState nextState){ + + } + + public override void UpdateState(NitroStateManager nSM){ + + } + + public override void FixedUpdateState(NitroStateManager nSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs index 2534e48..27b6f6a 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class NitroNitroingState : MonoBehaviour +public class NitroNitroingState : NitroBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(NitroStateManager nSM, NitroBaseState nextState){ + + } + + public override void UpdateState(NitroStateManager nSM){ + + } + + public override void FixedUpdateState(NitroStateManager nSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs index 22c8641..dd9c124 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class NitroNoneState : MonoBehaviour +public class NitroNoneState : NitroBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(NitroStateManager nSM, NitroBaseState nextState){ + + } + + public override void UpdateState(NitroStateManager nSM){ + + } + + public override void FixedUpdateState(NitroStateManager nSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs index 9da8a27..0d874c7 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs @@ -7,11 +7,16 @@ public class NitroStateManager : MonoBehaviour ////Player States public NitroBaseState currentState; public NitroBaseState previousState; + + //Nitro States + public NitroNoneState NoneState = new NitroNoneState(); + public NitroIncapacitatedState IncapacitatedState = new NitroIncapacitatedState(); + public NitroCooldownState CooldownState = new NitroCooldownState(); + public NitroNitroingState NitroingState = new NitroNitroingState(); //// - + ////Objects Sections GameObject parentObj; // Parent object - public Camera cam; // Camera object //// ////Components Section @@ -25,4 +30,50 @@ public class NitroStateManager : MonoBehaviour public PlayerStats pStats; // Player Stats public MoveStateManager mSM; //// + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + //// + } + + void Start(){ + //players starting state + currentState = NoneState; + previousState = NoneState; + currentState.EnterState(this, previousState); + } + + void Update(){ + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(NitroBaseState 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); + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs index d448397..4cfb0d2 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffenseAirKickState : MonoBehaviour +public class OffenseAirKickState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs index 5d3469e..39ecd59 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffenseAirPunchState : MonoBehaviour +public class OffenseAirPunchState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs index 74c2f93..789c797 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffenseKickState : MonoBehaviour +public class OffenseKickState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs index 06b48f3..2464f50 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffensePunchState : MonoBehaviour +public class OffensePunchState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs index 70d722f..f02a9d2 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffenseCooldownState : MonoBehaviour +public class OffenseCooldownState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs index 92eb7b8..61e994d 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffenseIncapacitatedState : MonoBehaviour +public class OffenseIncapacitatedState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs index a721e72..4faaf40 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs @@ -2,17 +2,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class OffenseNoneState : MonoBehaviour +public class OffenseNoneState : OffenseBaseState { - // Start is called before the first frame update - void Start() - { - + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + } - // Update is called once per frame - void Update() - { - + public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ + + } + + public override void UpdateState(OffenseStateManager oSM){ + + } + + public override void FixedUpdateState(OffenseStateManager oSM){ + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs index 55f3450..47de434 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs @@ -7,11 +7,21 @@ public class OffenseStateManager : MonoBehaviour ////Player States public OffenseBaseState currentState; public OffenseBaseState previousState; + + //Offense States + public OffenseNoneState NoneState = new OffenseNoneState(); + public OffenseIncapacitatedState IncapacitatedState = new OffenseIncapacitatedState(); + public OffenseCooldownState CooldownState = new OffenseCooldownState(); + + //Kick&Punch States + public OffenseKickState KickState = new OffenseKickState(); + public OffenseAirKickState AirKickState = new OffenseAirKickState(); + public OffensePunchState PunchState = new OffensePunchState(); + public OffenseAirPunchState AirPunchState = new OffenseAirPunchState(); //// ////Objects Sections GameObject parentObj; // Parent object - public Camera cam; // Camera object //// ////Components Section @@ -25,4 +35,50 @@ public class OffenseStateManager : MonoBehaviour public PlayerStats pStats; // Player Stats public MoveStateManager mSM; //// + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + //// + } + + void Start(){ + //players starting state + currentState = NoneState; + previousState = NoneState; + currentState.EnterState(this, previousState); + } + + void Update(){ + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(OffenseBaseState 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); + } } From e2438dc3648812a3ff4eaba9f94813909375ba4d Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Tue, 15 Feb 2022 22:33:26 -0600 Subject: [PATCH 07/11] Finished State Machining Dash --- Assets/Scenes/Demos/MovementScene.unity | 24 ++++++++++++++++--- .../DashState/Dash/DashCooldownState.cs | 19 +++++++++++++-- .../DashState/Dash/DashDashingState.cs | 24 ++++++++++++++++--- .../DashState/Dash/DashIncapacitatedState.cs | 4 +++- .../DashState/Dash/DashNoneState.cs | 9 +++++++ .../DashState/DashStateManager.cs | 4 ++++ 6 files changed, 75 insertions(+), 9 deletions(-) diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index 85f2fbd..28829c2 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -2225,7 +2225,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1405946429} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 36.3, y: 24.5, z: 13.7} + m_LocalPosition: {x: 36.3, y: 22.3, z: 13.7} m_LocalScale: {x: 10, y: 10, z: 10} m_Children: [] m_Father: {fileID: 0} @@ -5248,8 +5248,8 @@ MonoBehaviour: hasGlider: 1 hasGrapple: 1 hasWallrun: 1 - hasNitro: 0 - hasDash: 0 + hasNitro: 1 + hasDash: 1 playerPoints: 15 --- !u!1 &4061813754685703498 GameObject: @@ -5269,6 +5269,7 @@ GameObject: - component: {fileID: 4061813754685703344} - component: {fileID: 4061813754685703500} - component: {fileID: 4061813754685703499} + - component: {fileID: 4061813754685703501} m_Layer: 0 m_Name: T-Pose m_TagString: ArcherTarget @@ -5346,6 +5347,23 @@ MonoBehaviour: tempRelease: {x: 0, y: 0, z: 0} lerpRelease: {x: 0, y: 0, z: 0} forceDirection: {x: 0, y: 0, z: 0} + eHeld: 0 +--- !u!114 &4061813754685703501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5904903ff376f25499c08e24ad00aaf8, type: 3} + m_Name: + m_EditorClassIdentifier: + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + dashItem: {fileID: 11400000, guid: 3156de54e455b4348b2a6e79383383b0, type: 2} --- !u!4 &4090990814600649861 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs index 1ba6736..aa78fb4 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs @@ -4,8 +4,12 @@ using UnityEngine; public class DashCooldownState : DashBaseState { - public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + private CoolDown driver; + bool cooldown = false; + public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + cooldown = false; + dSM.StartCoroutine(startCoolDown(dSM)); } public override void ExitState(DashStateManager dSM, DashBaseState nextState){ @@ -13,10 +17,21 @@ public class DashCooldownState : DashBaseState } public override void UpdateState(DashStateManager dSM){ - + 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); + } + else if(cooldown){ + dSM.SwitchState(dSM.NoneState); + } } public override void FixedUpdateState(DashStateManager dSM){ } + + private IEnumerator startCoolDown(DashStateManager dSM){ + //driver.startUICooldown(dashItem.name); + yield return new WaitForSeconds(dSM.dashItem.cooldownM); + cooldown = true; + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs index d2c4c32..25c7928 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashDashingState.cs @@ -4,19 +4,37 @@ using UnityEngine; public class DashDashingState : DashBaseState { - public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + Vector3 moveDirection; + const float maxDashTime = 1.0f; + float dashDistance = 10; + float dashStoppingSpeed = 0.1f; + float currentDashTime = maxDashTime; + float dashSpeed = 12; + + public override void EnterState(DashStateManager dSM, DashBaseState previousState){ + currentDashTime = 0; } public override void ExitState(DashStateManager dSM, DashBaseState nextState){ - + moveDirection = Vector3.zero; } public override void UpdateState(DashStateManager dSM){ + if(currentDashTime < maxDashTime){ + moveDirection = dSM.transform.forward * dashDistance; + currentDashTime += dashStoppingSpeed; + } + else{ + dSM.SwitchState(dSM.CooldownState); + } + 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(DashStateManager dSM){ - + dSM.moveController.Move(moveDirection * Time.deltaTime * dashSpeed); } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs index 5344d10..fc91bb8 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashIncapacitatedState.cs @@ -13,7 +13,9 @@ public class DashIncapacitatedState : DashBaseState } public override void UpdateState(DashStateManager dSM){ - + 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(DashStateManager dSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs index 84b813a..78ff873 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashNoneState.cs @@ -13,7 +13,16 @@ public class DashNoneState : DashBaseState } public override void UpdateState(DashStateManager dSM){ + if(dSM.pStats.HasDash){ + if ((Input.GetKeyDown(KeyCode.R) || Input.GetAxis("Dash") != 0)){ + dSM.SwitchState(dSM.DashingState); + } + 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); + } + } + } public override void FixedUpdateState(DashStateManager dSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs index aff64e5..c7d0f11 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs @@ -31,6 +31,10 @@ public class DashStateManager : MonoBehaviour public MoveStateManager mSM; //// + ////Items Section + public SpecialItem dashItem; + //// + void Awake(){ ////Initialize Player Components From ccbcbab71f550aed407471ee294b6e75a8301f72 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Tue, 15 Feb 2022 23:05:05 -0600 Subject: [PATCH 08/11] Nitro has been State Machined --- .../NitroState/Nitro/NitroCooldownState.cs | 19 +++++++++++++-- .../Nitro/NitroIncapacitatedState.cs | 4 +++- .../NitroState/Nitro/NitroNitroingState.cs | 24 +++++++++++++++++-- .../NitroState/Nitro/NitroNoneState.cs | 11 +++++++++ .../NitroState/NitroStateManager.cs | 8 +++++++ .../PlayerScripts/PlayerItems/SpecialItem.cs | 6 ----- Assets/Scripts/PlayerScripts/PlayerStats.cs | 7 ------ .../Scripts/SetInvScene/InvSceneSettings.cs | 2 -- 8 files changed, 61 insertions(+), 20 deletions(-) diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs index 4982115..a0f618d 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs @@ -4,8 +4,12 @@ using UnityEngine; public class NitroCooldownState : NitroBaseState { - public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + bool cooldown = false; + + public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + cooldown = false; + nSM.StartCoroutine(startCoolDown(nSM)); } public override void ExitState(NitroStateManager nSM, NitroBaseState nextState){ @@ -13,10 +17,21 @@ public class NitroCooldownState : NitroBaseState } public override void UpdateState(NitroStateManager nSM){ - + if(cooldown && (nSM.mSM.currentState == nSM.mSM.RagdollState || nSM.mSM.currentState == nSM.mSM.RecoveringState)){ + nSM.SwitchState(nSM.IncapacitatedState); + } + else if(cooldown){ + nSM.SwitchState(nSM.NoneState); + } } public override void FixedUpdateState(NitroStateManager nSM){ } + + private IEnumerator startCoolDown(NitroStateManager nSM){ + //driver.startUICooldown("Nitro"); + yield return new WaitForSeconds(nSM.nitroItem.cooldownM); + cooldown = true; + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs index e36fc0e..e27cc49 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroIncapacitatedState.cs @@ -13,7 +13,9 @@ public class NitroIncapacitatedState : NitroBaseState } public override void UpdateState(NitroStateManager nSM){ - + if(nSM.mSM.currentState != nSM.mSM.RagdollState && nSM.mSM.currentState != nSM.mSM.RecoveringState){ + nSM.SwitchState(nSM.NoneState); + } } public override void FixedUpdateState(NitroStateManager nSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs index 27b6f6a..226a46f 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNitroingState.cs @@ -4,16 +4,36 @@ using UnityEngine; public class NitroNitroingState : NitroBaseState { - public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + private float tempTimer; + private float actualMaxVel; + private float actualAcc; + + public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ + actualMaxVel = nSM.pStats.MaxVel; + actualAcc = nSM.pStats.Acc; + nSM.pStats.Acc += nSM.nitroAccBoost; + nSM.pStats.MaxVel += nSM.nitroVelBoost; + + tempTimer = 5; } public override void ExitState(NitroStateManager nSM, NitroBaseState nextState){ - + nSM.pStats.Acc = actualAcc; + nSM.pStats.MaxVel = actualMaxVel; } public override void UpdateState(NitroStateManager nSM){ + if(tempTimer > 0){ + tempTimer -= .02f; + } + else{ + nSM.SwitchState(nSM.CooldownState); + } + if(nSM.mSM.currentState == nSM.mSM.RagdollState){ + nSM.SwitchState(nSM.CooldownState); + } } public override void FixedUpdateState(NitroStateManager nSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs index dd9c124..ebe2283 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroNoneState.cs @@ -13,7 +13,18 @@ public class NitroNoneState : NitroBaseState } public override void UpdateState(NitroStateManager nSM){ + if(nSM.pStats.HasNitro){ + if ((Input.GetKeyDown(KeyCode.LeftShift) || Input.GetKeyDown(KeyCode.JoystickButton8))) + { + nSM.SwitchState(nSM.NitroingState); + } + + if(nSM.mSM.currentState == nSM.mSM.RagdollState){ + nSM.SwitchState(nSM.IncapacitatedState); + } + } + } public override void FixedUpdateState(NitroStateManager nSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs index 0d874c7..c80aba6 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs @@ -31,6 +31,14 @@ public class NitroStateManager : MonoBehaviour public MoveStateManager mSM; //// + ////Items Section + public SpecialItem nitroItem; + //// + + ////Variables Section + public float nitroVelBoost = 40; + public float nitroAccBoost = .4f; + void Awake(){ ////Initialize Player Components diff --git a/Assets/Scripts/PlayerScripts/PlayerItems/SpecialItem.cs b/Assets/Scripts/PlayerScripts/PlayerItems/SpecialItem.cs index 94cc09f..dfc83fa 100644 --- a/Assets/Scripts/PlayerScripts/PlayerItems/SpecialItem.cs +++ b/Assets/Scripts/PlayerScripts/PlayerItems/SpecialItem.cs @@ -45,9 +45,6 @@ public class SpecialItem : Item if(hasWallrunM != false){ p.HasWallrun = hasWallrunM; } - if(hasBlinkM != false){ - p.HasBlink = hasBlinkM; - } if(hasGrappleM != false){ p.HasGrapple = hasGrappleM; } @@ -93,9 +90,6 @@ public class SpecialItem : Item if(hasWallrunM != false){ p.HasWallrun = false; } - if(hasBlinkM != false){ - p.HasBlink = false; - } if(hasGrappleM != false){ p.HasGrapple = false; } diff --git a/Assets/Scripts/PlayerScripts/PlayerStats.cs b/Assets/Scripts/PlayerScripts/PlayerStats.cs index c4a7f64..6015996 100644 --- a/Assets/Scripts/PlayerScripts/PlayerStats.cs +++ b/Assets/Scripts/PlayerScripts/PlayerStats.cs @@ -89,13 +89,6 @@ public class PlayerStats : MonoBehaviour set{ gravVel = value; } } - //If The Player Has Blink - [SerializeField] private bool hasBlink = false; - public bool HasBlink{ - get{ return hasBlink; } - set{ hasBlink = value; } - } - //If The Player Has Glider [SerializeField] private bool hasGlider = false; public bool HasGlider{ diff --git a/Assets/Scripts/SetInvScene/InvSceneSettings.cs b/Assets/Scripts/SetInvScene/InvSceneSettings.cs index 862cc9e..6f627aa 100644 --- a/Assets/Scripts/SetInvScene/InvSceneSettings.cs +++ b/Assets/Scripts/SetInvScene/InvSceneSettings.cs @@ -109,8 +109,6 @@ public class InvSceneSettings : MonoBehaviour //Enables Script on player //NEEDS TO BE CLEANED UP AND IMPROVED public void itemToEnable(){ - if(pStats.HasBlink != player1.GetComponent().enabled) - player1.GetComponent().enabled = pStats.HasBlink; if(pStats.HasDash != player1.GetComponent().enabled) player1.GetComponent().enabled = pStats.HasDash; if(pStats.HasWallrun != player1.GetComponent().enabled) From 095fe0a9cb2430d7a5bd1fa87774d11fec817d40 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Wed, 16 Feb 2022 00:13:12 -0600 Subject: [PATCH 09/11] Everything is StateMachined just bugtesting --- Assets/Scenes/Demos/MovementScene.unity | 39 ++++++++++++++++++- .../DebugPlayer/DebugItems/dKickController.cs | 2 +- .../Kick&Punch/OffenseAirKickState.cs | 28 +++++++++++-- .../Kick&Punch/OffenseAirPunchState.cs | 26 ++++++++++++- .../Kick&Punch/OffenseKickState.cs | 34 +++++++++++++++- .../Kick&Punch/OffensePunchState.cs | 32 ++++++++++++++- .../Offense/OffenseCooldownState.cs | 20 ++++++++-- .../Offense/OffenseIncapacitatedState.cs | 4 +- .../OffenseState/Offense/OffenseNoneState.cs | 19 +++++++++ .../OffenseState/OffenseStateManager.cs | 29 +++++++++++++- 10 files changed, 217 insertions(+), 16 deletions(-) diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index 28829c2..7fbb39e 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -5244,7 +5244,6 @@ MonoBehaviour: recovTime: 3 playerGrav: 200 gravVel: 0 - hasBlink: 0 hasGlider: 1 hasGrapple: 1 hasWallrun: 1 @@ -5270,6 +5269,8 @@ GameObject: - component: {fileID: 4061813754685703500} - component: {fileID: 4061813754685703499} - component: {fileID: 4061813754685703501} + - component: {fileID: 4061813754685703502} + - component: {fileID: 4061813754685703503} m_Layer: 0 m_Name: T-Pose m_TagString: ArcherTarget @@ -5364,6 +5365,42 @@ MonoBehaviour: pStats: {fileID: 0} mSM: {fileID: 0} dashItem: {fileID: 11400000, guid: 3156de54e455b4348b2a6e79383383b0, type: 2} +--- !u!114 &4061813754685703502 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f89839a9c7d0204ea00e910d9c5c5ee, type: 3} + m_Name: + m_EditorClassIdentifier: + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + nitroItem: {fileID: 11400000, guid: a1c26807795a7ac4f83567455ce978ce, type: 2} + nitroVelBoost: 40 + nitroAccBoost: 0.4 +--- !u!114 &4061813754685703503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4061813754685703498} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc5a1a9c85c29a744aa6ca7f1a8dbc60, type: 3} + m_Name: + m_EditorClassIdentifier: + leg: {fileID: 0} + legHitbox: {fileID: 0} + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + aSM: {fileID: 0} --- !u!4 &4090990814600649861 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs index 49819f6..8521945 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugItems/dKickController.cs @@ -40,6 +40,7 @@ public class dKickController : NetworkBehaviour isKicking = true; isDiveKicking = true; leg.SetActive(true); + legRotation = -90; } //otherwise do ground kick for .3 seconds else if ((Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0) && isKicking == false && pMove.isSliding==false){ @@ -70,7 +71,6 @@ public class dKickController : NetworkBehaviour isKicking = false; legRotation = 0; leg.transform.eulerAngles = new Vector3(legRotation, leg.transform.eulerAngles.y, leg.transform.eulerAngles.z); - legHitbox.GetComponent().isTrigger = false; leg.SetActive(false); } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs index 4cfb0d2..53a735c 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirKickState.cs @@ -4,19 +4,41 @@ using UnityEngine; public class OffenseAirKickState : OffenseBaseState { - public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + private float legRotation = 0; + bool kicked = false; + + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + oSM.leg.SetActive(true); + legRotation = -90; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + kicked = false; + + oSM.StartCoroutine(kicking(8f)); } public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ - + legRotation = 0; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + oSM.leg.SetActive(false); } public override void UpdateState(OffenseStateManager oSM){ - + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + + if(kicked || (oSM.aSM.currentState == oSM.aSM.GroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } } public override void FixedUpdateState(OffenseStateManager oSM){ + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs index 39ecd59..e62f88b 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseAirPunchState.cs @@ -4,19 +4,41 @@ using UnityEngine; public class OffenseAirPunchState : OffenseBaseState { - public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + private float legRotation = 0; + bool kicked = false; + + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + oSM.leg.SetActive(true); + legRotation = -90; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + kicked = false; + + oSM.StartCoroutine(kicking(8f)); } public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ - + legRotation = 0; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + oSM.leg.SetActive(false); } public override void UpdateState(OffenseStateManager oSM){ + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + if(kicked || (oSM.aSM.currentState == oSM.aSM.GroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } } public override void FixedUpdateState(OffenseStateManager oSM){ + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs index 789c797..579c2d5 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffenseKickState.cs @@ -4,19 +4,49 @@ using UnityEngine; public class OffenseKickState : OffenseBaseState { - public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + float legRotation = 0; + bool kicked = false; + + + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + Debug.Log("Kicking State"); + + oSM.leg.SetActive(true); + kicked = false; + + oSM.StartCoroutine(kicking(1f)); } public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ - + legRotation = 0; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + oSM.leg.SetActive(false); } public override void UpdateState(OffenseStateManager oSM){ + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + if(kicked){ + oSM.SwitchState(oSM.CooldownState); + } } public override void FixedUpdateState(OffenseStateManager oSM){ + if(legRotation > -90){ + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + legRotation -= 20; + } + else{ + legRotation = -90; + } + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs index 2464f50..849d60a 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Kick&Punch/OffensePunchState.cs @@ -4,19 +4,47 @@ using UnityEngine; public class OffensePunchState : OffenseBaseState { - public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + float legRotation = 0; + bool kicked = false; + + + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + oSM.leg.SetActive(true); + kicked = false; + + oSM.StartCoroutine(kicking(1f)); } public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ - + legRotation = 0; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + oSM.leg.SetActive(false); } public override void UpdateState(OffenseStateManager oSM){ + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + if(kicked){ + oSM.SwitchState(oSM.CooldownState); + } } public override void FixedUpdateState(OffenseStateManager oSM){ + if(legRotation > -90){ + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + legRotation -= 20; + } + else{ + legRotation = -90; + } + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs index f02a9d2..ed1d701 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseCooldownState.cs @@ -4,19 +4,33 @@ using UnityEngine; public class OffenseCooldownState : OffenseBaseState { - public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + bool cooldown = false; - } + public override void EnterState(OffenseStateManager oSM, OffenseBaseState previousState){ + cooldown = false; + + oSM.StartCoroutine(kickCooldown()); + } public override void ExitState(OffenseStateManager oSM, OffenseBaseState nextState){ } public override void UpdateState(OffenseStateManager oSM){ - + if(cooldown && (oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.IncapacitatedState); + } + else if(cooldown){ + oSM.SwitchState(oSM.NoneState); + } } public override void FixedUpdateState(OffenseStateManager oSM){ } + + private IEnumerator kickCooldown(){ + yield return new WaitForSeconds(.5f); + cooldown = true; + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs index 61e994d..7b61619 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseIncapacitatedState.cs @@ -13,7 +13,9 @@ public class OffenseIncapacitatedState : OffenseBaseState } public override void UpdateState(OffenseStateManager oSM){ - + if((oSM.mSM.currentState != oSM.mSM.RagdollState && oSM.mSM.currentState != oSM.mSM.SlideState && oSM.mSM.currentState != oSM.mSM.CrouchState && oSM.mSM.currentState != oSM.mSM.CrouchWalkState) && (oSM.aSM.currentState != oSM.aSM.WallRunState && oSM.aSM.currentState != oSM.aSM.WallIdleState && oSM.aSM.currentState != oSM.aSM.GrappleAirState && oSM.aSM.currentState != oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.NoneState); + } } public override void FixedUpdateState(OffenseStateManager oSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs index 4faaf40..9f1b945 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/Offense/OffenseNoneState.cs @@ -14,6 +14,25 @@ public class OffenseNoneState : OffenseBaseState public override void UpdateState(OffenseStateManager oSM){ + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.IncapacitatedState); + } + else if(oSM.aSM.currentState == oSM.aSM.GroundedState && (Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0)){ + if(oSM.pStats.KickPow > 300){ + oSM.SwitchState(oSM.PunchState); + } + else{ + oSM.SwitchState(oSM.KickState); + } + } + else if((Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0)){ + if(oSM.pStats.KickPow > 300){ + oSM.SwitchState(oSM.AirPunchState); + } + else{ + oSM.SwitchState(oSM.AirKickState); + } + } } public override void FixedUpdateState(OffenseStateManager oSM){ diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs index 47de434..a3f9134 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/OffenseState/OffenseStateManager.cs @@ -22,6 +22,8 @@ public class OffenseStateManager : MonoBehaviour ////Objects Sections GameObject parentObj; // Parent object + public GameObject leg; // leg object + public GameObject legHitbox; // leg hitbox //// ////Components Section @@ -34,6 +36,7 @@ public class OffenseStateManager : MonoBehaviour ////Scripts Section public PlayerStats pStats; // Player Stats public MoveStateManager mSM; + public AerialStateManager aSM; //// void Awake(){ @@ -43,13 +46,20 @@ public class OffenseStateManager : MonoBehaviour rB = GetComponent(); //set Rigid Body capCol = GetComponent(); // set Capsule Collider capCol.enabled = true; - parentObj = transform.parent.gameObject; // set parent object animator = GetComponent(); // set animator //// + ////Initialize Player Objects + leg = transform.Find("Leg").gameObject; // Set Leg Object + legHitbox = leg.transform.Find("LegHitbox").gameObject; // Set Leg Hitbox + leg.SetActive(false); + parentObj = transform.parent.gameObject; // set parent object + //// + ////Initialize Scripts pStats = GetComponent(); // set PlayerStats mSM = GetComponent(); // set move state manager + aSM = GetComponent(); //// } @@ -81,4 +91,21 @@ public class OffenseStateManager : MonoBehaviour currentState = state; currentState.EnterState(this, previousState); } + + private void OnCollisionEnter(Collision collision) + { + //if (!IsLocalPlayer) { return; } + Collider myCollider = collision.contacts[0].thisCollider; + if (collision.transform.CompareTag("kickable") && myCollider == legHitbox.GetComponent()){ + if(collision.gameObject.GetComponent().isKinematic == true){ + collision.gameObject.GetComponent().isKinematic = false; + } + Vector3 direction = this.transform.forward; + Debug.Log(direction); + collision.rigidbody.AddForce(direction * pStats.KickPow, ForceMode.Impulse); + } + if (collision.transform.CompareTag("destroyable") && myCollider == legHitbox.GetComponent()){ + collision.transform.gameObject.GetComponent().damage(pStats.KickPow); + } + } } From 3ff60a830aa9ff21904c5bd947ade4d470b41fcc Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Wed, 16 Feb 2022 00:18:44 -0600 Subject: [PATCH 10/11] bug with crouch fixed --- .../DebugStateStuff/MovementState/Slide/MoveCrouchState.cs | 6 ------ .../DebugStateStuff/MovementState/Slide/MoveSlideState.cs | 3 +++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs index dfb255b..b6774c2 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveCrouchState.cs @@ -6,7 +6,6 @@ public class MoveCrouchState : MoveBaseState { //Slide Variables - float originalTraction; // Traction before slide started RaycastHit slideRay; // slide raycast public override void EnterState(MoveStateManager mSM, MoveBaseState previousState){ @@ -15,10 +14,8 @@ public class MoveCrouchState : MoveBaseState if(previousState != mSM.SlideState){ //Initialize Important Stats On state enter mSM.pStats.CurVel = 0; - originalTraction = mSM.pStats.Traction; mSM.gameObject.transform.eulerAngles = new Vector3(mSM.transform.localEulerAngles.x - 90, mSM.transform.localEulerAngles.y, mSM.transform.localEulerAngles.z); mSM.moveController.height *= .5f; - mSM.pStats.Traction = 0.01f; } } @@ -26,7 +23,6 @@ public class MoveCrouchState : MoveBaseState if(nextState != mSM.CrouchWalkState){ mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); mSM.pStats.CurVel = mSM.calculatedCurVel; - mSM.pStats.Traction = originalTraction; mSM.moveController.height *= 2.0f; } @@ -38,7 +34,6 @@ public class MoveCrouchState : MoveBaseState public override void FixedUpdateState(MoveStateManager mSM){ mSM.transform.Rotate(Vector3.forward * -mSM.sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); - mSM.pStats.Traction += .004f; ///////ONCE WE HAVE IT SO SLIDE DOESNT ROTATE PLAYER MOVE THIS TO UPDATE //If player isn't pressing either Q or the joystick button they stop crouching if nothing is above them @@ -59,6 +54,5 @@ public class MoveCrouchState : MoveBaseState mSM.SwitchState(mSM.IdleState); } */ - mSM.SlideMovement(); } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs index 721cdd2..9301773 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/MovementState/Slide/MoveSlideState.cs @@ -26,6 +26,9 @@ public class MoveSlideState : MoveBaseState mSM.pStats.Traction = originalTraction; mSM.moveController.height *= 2.0f; } + else{ + mSM.pStats.Traction = originalTraction; + } } public override void UpdateState(MoveStateManager mSM){ From ab3598eee454d1bb32a3270739373f3e88588a99 Mon Sep 17 00:00:00 2001 From: Melbyj1125 <60886701+Melbyj1125@users.noreply.github.com> Date: Wed, 16 Feb 2022 12:31:11 -0600 Subject: [PATCH 11/11] added some comments --- .../AerialState/Aerial/AerialFallingState.cs | 25 +++++++++++++------ .../AerialState/Aerial/AerialGlidingState.cs | 15 +++++++++-- .../AerialState/Aerial/AerialGroundedState.cs | 7 ++++++ .../AerialState/Aerial/AerialJumpingState.cs | 9 ++++++- .../Grapple/AerialGrappleAirState.cs | 13 +++++++--- .../DashState/Dash/DashCooldownState.cs | 3 +-- .../DashState/DashStateManager.cs | 2 ++ .../NitroState/Nitro/NitroCooldownState.cs | 3 +-- .../NitroState/NitroStateManager.cs | 2 ++ 9 files changed, 61 insertions(+), 18 deletions(-) diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs index e111edd..c341a94 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialFallingState.cs @@ -13,31 +13,40 @@ public class AerialFallingState : AerialBaseState } public override void UpdateState(AerialStateManager aSM){ + + //if Grav Vel > 0 then jumping if(aSM.pStats.GravVel > 0){ aSM.SwitchState(aSM.JumpingState); } + //if jump has been pressed and has glider and is in a state that allows it glide else if(Input.GetButton("Jump") && aSM.pStats.HasGlider && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.GlidingState); } + //if is grounded then grounded if(aSM.isGrounded){ aSM.SwitchState(aSM.GroundedState); } + //if is wallrunning ands is in a state that allows it wallrun if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.WallRunState); } - } - - public override void FixedUpdateState(AerialStateManager aSM){ - aSM.GravityCalculation(aSM.pStats.PlayerGrav); - - if(aSM.pStats.HasGrapple){ - aSM.GrappleReleaseForce(); - } + //if grapple is possible and in state that allows it grapple air if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.GrappleAirState); } } + + public override void FixedUpdateState(AerialStateManager aSM){ + + //Default gravity calculation + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + + //if grapple released apply release force + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } + } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs index 31ee640..fa16e11 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGlidingState.cs @@ -4,40 +4,51 @@ using UnityEngine; public class AerialGlidingState : AerialBaseState { - float tempTraction; + float tempTraction; // temp traction to store the actual player traction public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ Debug.Log("Gliding State"); + //Modify base traction tempTraction = aSM.pStats.Traction; aSM.pStats.Traction = 1.0f; } public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + + //return traction to normal aSM.pStats.Traction = tempTraction; } public override void UpdateState(AerialStateManager aSM){ + + //if not holding jump fall if(!Input.GetButton("Jump")){ aSM.SwitchState(aSM.FallingState); } + //if is grounded then grounded if(aSM.isGrounded){ aSM.SwitchState(aSM.GroundedState); } - + + //if isWallrunning and in state that allows it wallrun if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.WallRunState); } + //if can grapple and in state that allows it grapple if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.GrappleAirState); } } public override void FixedUpdateState(AerialStateManager aSM){ + + //modified gravity calculation to fall slower aSM.GravityCalculation(9); + //if grapple released apply release force if(aSM.pStats.HasGrapple){ aSM.GrappleReleaseForce(); } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs index d985778..b5f10d1 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialGroundedState.cs @@ -7,6 +7,7 @@ public class AerialGroundedState : AerialBaseState public override void EnterState(AerialStateManager aSM, AerialBaseState previousState){ Debug.Log("Grounded State"); + //release is false if grounded aSM.release = false; } @@ -15,19 +16,25 @@ public class AerialGroundedState : AerialBaseState } public override void UpdateState(AerialStateManager aSM){ + + //if grav vel < 0 then falling if(aSM.pStats.GravVel < 0){ aSM.SwitchState(aSM.FallingState); } + //if grav vel > 0 then jumping else if(aSM.pStats.GravVel > 0){ aSM.SwitchState(aSM.JumpingState); } + //can grapple and in state that allows grapple if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.GrappleGroundedState); } } public override void FixedUpdateState(AerialStateManager aSM){ + + //base gravity calculations aSM.GravityCalculation(aSM.pStats.PlayerGrav); } } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs index 8c58281..64333b1 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Aerial/AerialJumpingState.cs @@ -15,26 +15,33 @@ public class AerialJumpingState : AerialBaseState public override void UpdateState(AerialStateManager aSM){ + //if grav vel < 0 falling if(aSM.pStats.GravVel < 0){ aSM.SwitchState(aSM.FallingState); } + //if is grounded then grounded if(aSM.isGrounded){ aSM.SwitchState(aSM.GroundedState); } - + + //if is wall running and in a state that allows it wallrun if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.WallRunState); } + //if can grapple and in a state that allows it grapple if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ aSM.SwitchState(aSM.GrappleAirState); } } public override void FixedUpdateState(AerialStateManager aSM){ + + //default gravity calculations aSM.GravityCalculation(aSM.pStats.PlayerGrav); + //if grapple release then apply grapple release force if(aSM.pStats.HasGrapple){ aSM.GrappleReleaseForce(); } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs index 88ee5a7..2bf92ac 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/AerialState/Grapple/AerialGrappleAirState.cs @@ -24,24 +24,31 @@ public class AerialGrappleAirState : AerialBaseState Debug.Log("Grapple Air State"); + //refresh jump number aSM.curJumpNum = 0; + //rope length limit ropeLength = Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position); if(ropeLength > aSM.maxGrappleDistance){ ropeLength = aSM.maxGrappleDistance; } + //old and cur direction vector for player to hookpoint oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; curXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + //swing momentum calculation swingMom = CalculateSwingMom(aSM.mSM.driftVel.magnitude * 50f, aSM); oldSwingMom = swingMom; - aSM.pStats.GravVel = -1; - aSM.release = false; - aSM.lerpRelease = Vector3.zero; + + //Initialize variables + aSM.pStats.GravVel = -1; // grav vel is adjusted so things work + aSM.release = false; // player hasn't released + aSM.lerpRelease = Vector3.zero; // reset lerp release } public override void ExitState(AerialStateManager aSM, AerialBaseState nextState){ + if(nextState != aSM.GrappleGroundedState){ aSM.release = true; aSM.pStats.GravVel = 0; diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs index aa78fb4..a80097e 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/Dash/DashCooldownState.cs @@ -4,7 +4,6 @@ using UnityEngine; public class DashCooldownState : DashBaseState { - private CoolDown driver; bool cooldown = false; public override void EnterState(DashStateManager dSM, DashBaseState previousState){ @@ -30,7 +29,7 @@ public class DashCooldownState : DashBaseState } private IEnumerator startCoolDown(DashStateManager dSM){ - //driver.startUICooldown(dashItem.name); + //dSM.driver.startUICooldown(dashItem.name); yield return new WaitForSeconds(dSM.dashItem.cooldownM); cooldown = true; } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs index c7d0f11..eb49e0f 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/DashState/DashStateManager.cs @@ -29,6 +29,7 @@ public class DashStateManager : MonoBehaviour ////Scripts Section public PlayerStats pStats; // Player Stats public MoveStateManager mSM; + public CoolDown driver; //// ////Items Section @@ -44,6 +45,7 @@ public class DashStateManager : MonoBehaviour capCol.enabled = true; parentObj = transform.parent.gameObject; // set parent object animator = GetComponent(); // set animator + //driver = GameObject.Find("Canvas").GetComponent(); //// ////Initialize Scripts diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs index a0f618d..1265414 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/Nitro/NitroCooldownState.cs @@ -4,7 +4,6 @@ using UnityEngine; public class NitroCooldownState : NitroBaseState { - bool cooldown = false; public override void EnterState(NitroStateManager nSM, NitroBaseState previousState){ @@ -30,7 +29,7 @@ public class NitroCooldownState : NitroBaseState } private IEnumerator startCoolDown(NitroStateManager nSM){ - //driver.startUICooldown("Nitro"); + //nSM.driver.startUICooldown("Nitro"); yield return new WaitForSeconds(nSM.nitroItem.cooldownM); cooldown = true; } diff --git a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs index c80aba6..3c0fd4d 100644 --- a/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs +++ b/Assets/Scripts/PlayerScripts/DebugPlayer/DebugStateStuff/NitroState/NitroStateManager.cs @@ -29,6 +29,7 @@ public class NitroStateManager : MonoBehaviour ////Scripts Section public PlayerStats pStats; // Player Stats public MoveStateManager mSM; + public CoolDown driver; //// ////Items Section @@ -48,6 +49,7 @@ public class NitroStateManager : MonoBehaviour capCol.enabled = true; parentObj = transform.parent.gameObject; // set parent object animator = GetComponent(); // set animator + //driver = GameObject.Find("Canvas").GetComponent(); //// ////Initialize Scripts