to new git

This commit is contained in:
2022-05-04 23:50:07 +07:00
parent 290f5515b7
commit c8af0e5284
39 changed files with 720 additions and 359 deletions

View File

@ -1,10 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.Barracuda;
using UnityEngine;
using UnityEngine;
using static scr_Models;
using static scr_Models;
public class scr_CharacterController : MonoBehaviour
{
@ -14,7 +10,7 @@ public class scr_CharacterController : MonoBehaviour
private Vector2 input_Movement;
[HideInInspector]
public Vector2 input_View;
private Vector3 newCameraRotation;
private Vector3 newCharacterRotation;
@ -22,14 +18,14 @@ public class scr_CharacterController : MonoBehaviour
public Transform cameraHolder;
public Transform feetTransform;
[Header("Settings")]
[Header("Settings")]
public PlayerSettingsModel playerSettings;
public float ViewClampYMin = -70;
public float ViewClampYMax = 80;
public LayerMask playerMask;
[Header("Gravity")]
[Header("Gravity")]
public float gravityAmount;
public float gravityMin;
private float playerGravity;
@ -37,14 +33,14 @@ public class scr_CharacterController : MonoBehaviour
public Vector3 jumpingForce;
private Vector3 jumpingForceVelocity;
[Header("Stance")]
[Header("Stance")]
public PlayerStance playerStance;
public float playerStanceSmoothing;
public CharacterStance playerStandStance;
public CharacterStance playerCrouchStance;
public CharacterStance playerProneStance;
private float stanceCheckErrorMargin = 0.05f;
private float cameraHeight;
private float cameraHeightVelocity;
@ -61,13 +57,13 @@ public class scr_CharacterController : MonoBehaviour
defaultInput.Character.Movement.performed += e => input_Movement = e.ReadValue<Vector2>();
defaultInput.Character.View.performed += e => input_View = e.ReadValue<Vector2>();
defaultInput.Character.Jump.performed += e => Jump();
defaultInput.Character.Crouch.performed += e => Crouch();
defaultInput.Character.Prone.performed += e => Prone();
defaultInput.Character.Sprint.performed += e => ToggleSprint();
defaultInput.Character.SprintReleased.performed += e => StopSprint();
defaultInput.Enable();
newCameraRotation = cameraHolder.localRotation.eulerAngles;
@ -80,7 +76,7 @@ public class scr_CharacterController : MonoBehaviour
{
currentWeapon.Initialise(this);
}
}
private void Update()
@ -95,10 +91,10 @@ public class scr_CharacterController : MonoBehaviour
{
newCharacterRotation.y += playerSettings.ViewXSensetivity * (playerSettings.ViewXInverted ? -input_View.x : input_View.x) * Time.deltaTime;
transform.localRotation = Quaternion.Euler(newCharacterRotation);
newCameraRotation.x += playerSettings.ViewYSensetivity * (playerSettings.ViewYInverted ? input_View.y : -input_View.y) * Time.deltaTime;
newCameraRotation.x = Mathf.Clamp(newCameraRotation.x, ViewClampYMin, ViewClampYMax);
cameraHolder.localRotation = Quaternion.Euler(newCameraRotation);
}
@ -108,7 +104,7 @@ public class scr_CharacterController : MonoBehaviour
{
isSprinting = false;
}
var verticalSpeed = playerSettings.WalkingForwardSpeed;
var horizontalSpeed = playerSettings.WalkingStrafeSpeed;
@ -117,17 +113,17 @@ public class scr_CharacterController : MonoBehaviour
verticalSpeed = playerSettings.RunningForwardSpeed;
horizontalSpeed = playerSettings.RunningStrafeSpeed;
}
// Effectors
if (!characterController.isGrounded)
{
playerSettings.SpeedEffector = playerSettings.FallingSpeedEffector;
}
else if(playerStance == PlayerStance.Crouch)
else if (playerStance == PlayerStance.Crouch)
{
playerSettings.SpeedEffector = playerSettings.CrouchSpeedEffector;
}
else if(playerStance == PlayerStance.Prone)
}
else if (playerStance == PlayerStance.Prone)
{
playerSettings.SpeedEffector = playerSettings.ProneSpeedEffector;
}
@ -135,15 +131,15 @@ public class scr_CharacterController : MonoBehaviour
{
playerSettings.SpeedEffector = 1;
}
verticalSpeed *= playerSettings.SpeedEffector;
horizontalSpeed *= playerSettings.SpeedEffector;
newMovementSpeed = Vector3.SmoothDamp(newMovementSpeed,
new Vector3(horizontalSpeed * input_Movement.x * Time.deltaTime,
0, verticalSpeed * input_Movement.y * Time.deltaTime),
ref newMovementSpeedVelocity, characterController.isGrounded ? playerSettings.MovementSmoothing : playerSettings.FallingSmoothing);
var MovementSpeed = transform.TransformDirection(newMovementSpeed);
if (playerGravity > gravityMin)
@ -158,7 +154,7 @@ public class scr_CharacterController : MonoBehaviour
MovementSpeed.y += playerGravity;
MovementSpeed += jumpingForce * Time.deltaTime;
characterController.Move(MovementSpeed);
}
@ -179,7 +175,7 @@ public class scr_CharacterController : MonoBehaviour
{
stanceHeight = playerProneStance.CameraHeight;
}
cameraHeight = Mathf.SmoothDamp(cameraHolder.localPosition.y, stanceHeight, ref cameraHeightVelocity, playerStanceSmoothing);
cameraHolder.localPosition = new Vector3(cameraHolder.localPosition.x, cameraHeight, cameraHolder.localPosition.z);
@ -190,7 +186,7 @@ public class scr_CharacterController : MonoBehaviour
{
return;
}
if (playerStance == PlayerStance.Crouch)
{
if (StanceCheck(playerStandStance.StanceCollider.height))
@ -200,7 +196,7 @@ public class scr_CharacterController : MonoBehaviour
playerStance = PlayerStance.Stand;
return;
}
// Jump
jumpingForce = Vector3.up * playerSettings.JumpingHeight;
playerGravity = 0;
@ -233,8 +229,8 @@ public class scr_CharacterController : MonoBehaviour
{
var start = new Vector3(feetTransform.position.x, feetTransform.position.y + characterController.radius + stanceCheckErrorMargin, feetTransform.position.z);
var end = new Vector3(feetTransform.position.x, feetTransform.position.y - characterController.radius - stanceCheckErrorMargin + stanceCheckheight, feetTransform.position.z);
return Physics.CheckCapsule(start, end, characterController.radius, playerMask);
}
@ -247,7 +243,7 @@ public class scr_CharacterController : MonoBehaviour
}
isSprinting = !isSprinting;
}
private void StopSprint()
{
if (playerSettings.SprintingHold)
@ -255,5 +251,5 @@ public class scr_CharacterController : MonoBehaviour
isSprinting = false;
}
}
}