From 0e8ce5318fe683d0cf3d2c7c98fb361f62d4428f Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 20 Feb 2022 17:29:32 +0800 Subject: * rename folder --- .../Scripts/FPSCharacterController.cs | 431 --------------------- .../Scripts/FPSCharacterController.cs.meta | 11 - .../FPSControllerVelocity/Scripts/GroundChecker.cs | 48 --- .../Scripts/GroundChecker.cs.meta | 11 - .../Scripts/MainCameraFollow.cs | 20 - .../Scripts/MainCameraFollow.cs.meta | 11 - .../FPSControllerVelocity/Scripts/Player.cs | 39 -- .../FPSControllerVelocity/Scripts/Player.cs.meta | 11 - .../FPSControllerVelocity/Scripts/PlayerBody.cs | 37 -- .../Scripts/PlayerBody.cs.meta | 11 - .../FPSControllerVelocity/Scripts/StairChecker.cs | 19 - .../Scripts/StairChecker.cs.meta | 11 - .../FPSControllerVelocity/Scripts/WallChecker.cs | 74 ---- .../Scripts/WallChecker.cs.meta | 11 - 14 files changed, 745 deletions(-) delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs.meta delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs.meta delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs.meta delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs.meta delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs.meta delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs delete mode 100644 JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs.meta (limited to 'JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts') diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs deleted file mode 100644 index db0cb20..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs +++ /dev/null @@ -1,431 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace JamUtils -{ - - // 第一人称角色控制 - public class FPSCharacterController : MonoBehaviour - { - [Flags] - public enum CharacterModule - { - None, - LookAround = 1 << 0, // 相机环绕 - MoveAround = 1 << 1, // 水平地面移动 - MoveInAir = 1 << 2, // 空中移动 - Dodge = 1 << 3, // 冲刺 - Rush = 1 << 4, // 加速 - WalkOnSlope = 1 << 5 | 1 << 1, // 斜面移动 - WalkOnStairs = 1 << 6 | 1 << 1, // 楼梯移动 - WallRun = 1 << 7, // 飞檐走壁 - Jump = 1 << 8, // 跳跃 - WallJump = 1 << 9, // 忍者跳 - Slide = 1 << 10, // 滑铲 - Shot = 1 << 11, // 射击 - Step = 1 << 12, // 脚步 - PullTrick = 1 << 13, // - ExtraGravity = 1 << 14, // 额外重力 - Crouch = 1 << 15, - } - - [SerializeField] private CharacterModule m_Modules; - - [SerializeField] private Transform m_Eye; - - [SerializeField] private PlayerBody m_Body; - [SerializeField] private GroundChecker m_GroundChecker; - [SerializeField] private WallChecker m_WallChecker; - - [SerializeField] private MainCameraFollow m_Camera; - - #region Modules - - [Header("Look Around")] - [SerializeField] private float m_LookSensitive = 1000f; - [Range(0.01f, 1)] - [SerializeField] private float m_LookSmooth = 0.2f; - private float m_CameraRotation; - private float m_BodyRotation; - - [Header("Move Around")] - [SerializeField] private float m_MoveSpeed = 100f; - [Range(0.01f, 1)] - [SerializeField] private float m_MoveSmooth = 0.2f; - private Vector3 m_MoveDirection; - private bool m_ReadyMoveAround = false; - [SerializeField] private bool m_HeadBobbing = false; - - [Header("Move In Air")] - [SerializeField] private float m_MoveSpeedInAir = 50f; - [SerializeField] private float m_MoveInAirSmooth = 0.2f; - private Vector3 m_MoveInAirDirection; - - [Header("Jump")] - [SerializeField] private float m_JumpPower = 300f; - private bool m_ReadyToJump = false; - - [Header("Shot")] - [SerializeField] private Transform m_Muzzle; - [SerializeField] private LayerMask m_HittableLayers; - [SerializeField] private float m_ShotInfiniteDistance = 100f; - - [Header("WallJump")] - [SerializeField] private float m_WallJumpForce = 1; - [SerializeField] private float m_WallJumpPower = 1000; - private bool m_ReadyWallJump = false; - - [Header("WallRun")] - [SerializeField] private float m_WallRunSpeed = 1; - - [Header("ExtraGravity")] - [SerializeField] private Vector3 m_ExtraGravity; - - [Header("WalkOnStairs")] - [SerializeField] private Transform m_Lower; - [SerializeField] private Transform m_Upper; - [SerializeField] private float m_StepSmooth; - - #endregion - - public Func checkHit; - public Action shootTarget; - - private Rigidbody m_Rigidbody; - - private bool m_LockCursor = false; - public bool lockCursor - { - get - { - return m_LockCursor; - } - set - { - m_LockCursor = value; - if (value) - { - Cursor.lockState = CursorLockMode.Locked; - } - else - { - Cursor.lockState = CursorLockMode.None; - } - } - } - - bool IsModuleActive(CharacterModule module) - { - return (module & m_Modules) != 0; - } - - void ActivateModule(CharacterModule module) - { - m_Modules |= module; - } - - void LookAround() - { - if (!IsModuleActive(CharacterModule.LookAround)) - return; - - float mouseX = Input.GetAxis("Mouse X"); - float mouseY = Input.GetAxis("Mouse Y"); - - //mouseX = -0.1f; // test jittery - - m_CameraRotation -= mouseY * Time.deltaTime * m_LookSensitive; - m_CameraRotation = Mathf.Clamp(m_CameraRotation, -90, 90); - Quaternion rot = Quaternion.Euler(m_CameraRotation, 0, 0); - m_Eye.localRotation = Quaternion.Slerp(m_Eye.localRotation, rot, m_LookSmooth ); - - m_BodyRotation += mouseX * Time.deltaTime * m_LookSensitive; - rot = Quaternion.Euler(0, m_BodyRotation, 0); - transform.localRotation = Quaternion.Slerp(transform.localRotation, rot, m_LookSmooth); - } - - void MoveAroundUpdate() - { - if (!IsModuleActive(CharacterModule.MoveAround)) - return; - - if (!m_GroundChecker.isOnGround) - return; - - float moveX = Input.GetAxisRaw("Horizontal"); - float moveZ = Input.GetAxisRaw("Vertical"); - - Vector3 right = transform.right; - Vector3 forward = transform.forward; - - Vector3 dir = right * moveX + forward * moveZ; - - if (IsModuleActive(CharacterModule.WalkOnSlope)) - { - if (m_GroundChecker.isOnGround) - { - RaycastHit hitInfo; - if (Physics.Raycast(m_GroundChecker.foot.position, Vector3.down, out hitInfo)) - { - Vector3 normal = hitInfo.normal; - dir = Vector3.ProjectOnPlane(dir, normal); - GizmosHandle.Instance.DoGizmos(() => - { - Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + dir); - }); - } - } - } - - dir = dir.normalized; - - m_MoveDirection = Vector3.Slerp(m_MoveDirection, dir, 1f); - } - - void MoveAroundFixedUpdate() - { - if (!IsModuleActive(CharacterModule.MoveAround)) - return; - - if (!m_GroundChecker.isOnGround) - return; - - float vy = m_Rigidbody.velocity.y; - Vector3 velocity = new Vector3(m_MoveDirection.x * Time.deltaTime * m_MoveSpeed, vy, m_MoveDirection.z * Time.deltaTime * m_MoveSpeed); - - Vector3 rigidVel = m_Rigidbody.velocity; - - // 对速度Slerp比较危险 - //if (Vector3.Angle(rigidVel, velocity) > 90) - //{ - // m_Rigidbody.velocity = Vector3.Lerp(rigidVel, velocity, m_MoveSmooth); - //} - //else - //{ - // m_Rigidbody.velocity = Vector3.Slerp(rigidVel, velocity, m_MoveSmooth); - //} - - m_Rigidbody.velocity = Vector3.Lerp(rigidVel, velocity, m_MoveSmooth); - } - - void MoveInAirUpdate() - { - if (!IsModuleActive(CharacterModule.MoveInAir)) - return; - - if (m_GroundChecker.isOnGround) - return; - - float moveX = Input.GetAxisRaw("Horizontal"); - float moveZ = Input.GetAxisRaw("Vertical"); - - m_MoveInAirDirection = Vector3.ClampMagnitude(transform.right * moveX + transform.forward * moveZ, 1); - } - - void MoveInAirFixedUpdate() - { - if (!IsModuleActive(CharacterModule.MoveInAir)) - return; - - if (m_GroundChecker.isOnGround) - return; - - if (m_MoveInAirDirection.magnitude == 0f) - return; - - float vy = m_Rigidbody.velocity.y; - Vector3 velocity = new Vector3(m_MoveInAirDirection.x * Time.deltaTime * m_MoveSpeedInAir, vy, m_MoveInAirDirection.z * Time.deltaTime * m_MoveSpeedInAir); - - m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveInAirSmooth); - } - - void Jump() - { - if (!IsModuleActive(CharacterModule.Jump)) - return; - - if (!m_GroundChecker.isOnGround) - return; - - if (Input.GetButtonDown("Jump")) - { - m_ReadyToJump = true; - } - } - - void JumpFixedUpdate() - { - if(m_ReadyToJump) - { - m_ReadyToJump = false; - m_Rigidbody.AddForce(Vector3.up * m_JumpPower, ForceMode.Acceleration); - } - } - - void Dodge() - { - if (!IsModuleActive(CharacterModule.Dodge)) - return; - - if (Input.GetKeyDown(KeyCode.LeftShift)) - { - - } - } - - void DodgeFixed() - { - - } - - void Shot() - { - if (!IsModuleActive(CharacterModule.Shot)) - return; - - if (Input.GetButtonDown("Fire1")) - { - Vector3 hitPoint = GetHitPoint(); - if (shootTarget != null) - shootTarget(hitPoint, m_Muzzle); - } - } - - Vector3 GetHitPoint() - { - RaycastHit[] hits = Physics.RaycastAll(m_Eye.position, m_Eye.forward, m_HittableLayers, (int)QueryTriggerInteraction.Ignore); - if (hits.Length < 1) - { - return m_Eye.position + m_Eye.forward * m_ShotInfiniteDistance; - } - else - { - for (int i = 0; i < hits.Length; ++i) - { - if (checkHit != null && checkHit(hits[i])) - { - return hits[i].point; - } - } - } - return hits[0].point; - } - - void WallJump() - { - if (!IsModuleActive(CharacterModule.WallJump)) - return; - - if (!m_WallChecker.IsOnWall) - return; - - if (m_GroundChecker.isOnGround) - return; - - if (Input.GetButtonDown("Jump")) - { - m_ReadyWallJump = true; - } - } - - void WallJumpFixedUpdate() - { - if(m_ReadyWallJump) - { - m_ReadyWallJump = false; - Vector3 poc; - if (m_WallChecker.GetCollisionPoint(out poc)) - { - Vector3 dir = Vector3.ClampMagnitude(transform.position - poc, 1f); - Vector3 wallJumpDirection = new Vector3(dir.x, 1, dir.z); - m_Rigidbody.velocity = Vector3.zero; - m_Rigidbody.AddForce(wallJumpDirection * m_WallJumpPower); - } - } - } - - void WallRun() - { - if (!IsModuleActive(CharacterModule.WallRun)) - return; - - if (!m_WallChecker.IsOnWall) - return; - - } - - void PullTrick() - { - - } - - void ExtraGravity() - { - if (!IsModuleActive(CharacterModule.ExtraGravity)) - return; - - m_Rigidbody.AddForce(m_ExtraGravity, ForceMode.Acceleration); - } - - void WalkOnStairs() - { - //int layermask = ~(1 << LayerMask.NameToLayer("Player")); - - //RaycastHit hitLower; - //if (Physics.Raycast(m_Lower.position, transform.TransformDirection(Vector3.forward), out hitLower, 0.6f, layermask)) - //{ - // RaycastHit hitUpper; - // if (!Physics.Raycast(m_Upper.position, transform.TransformDirection(Vector3.forward), out hitUpper, 0.7f, layermask)) - // { - // m_Rigidbody.position += new Vector3(0f, m_StepSmooth * Time.deltaTime, 0f); - // } - //} - } - - - void SetCamera () - { - m_Camera.SetCameraPositionAndRotation(m_Eye); - } - - private void Awake() - { - m_Rigidbody = GetComponent(); - } - - private void Start() - { - m_CameraRotation = 0; - - lockCursor = true; - } - - private void Update() - { - LookAround(); - MoveAroundUpdate(); - MoveInAirUpdate(); - Jump(); - Dodge(); - Shot(); - WallJump(); - PullTrick(); - - SetCamera(); - } - - private void FixedUpdate() - { - WalkOnStairs(); - MoveAroundFixedUpdate(); - MoveInAirFixedUpdate(); - DodgeFixed(); - ExtraGravity(); - JumpFixedUpdate(); - WallJumpFixedUpdate(); - } - - } -} diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs.meta deleted file mode 100644 index 555d7fe..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/FPSCharacterController.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9013df258fd554e4e80d2a39ae1c5a86 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs deleted file mode 100644 index 5e27a02..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace JamUtils -{ - - public class GroundChecker : MonoBehaviour - { - [SerializeField] private Transform m_Foot; - - private List m_Colliders = new List(); - - public Transform foot - { - get - { - return m_Foot; - } - } - - public bool isOnGround - { - get - { - return m_Colliders.Count != 0; - } - } - - private void OnTriggerEnter(Collider other) - { - if (!m_Colliders.Contains(other)) - m_Colliders.Add(other); - } - - private void OnTriggerExit(Collider other) - { - if (m_Colliders.Contains(other)) - m_Colliders.Remove(other); - } - - private void OnTriggerStay(Collider other) - { - } - - } - -} diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs.meta deleted file mode 100644 index 6d7d500..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/GroundChecker.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 77cfc1aa874d7ae4c906191d64538a3a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs deleted file mode 100644 index e310715..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace JamUtils -{ - - [RequireComponent(typeof(Camera))] - public class MainCameraFollow : MonoBehaviour - { - - public void SetCameraPositionAndRotation(Transform reference) - { - transform.position = reference.position; - transform.rotation = reference.rotation; - } - - } - -} \ No newline at end of file diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta deleted file mode 100644 index 890d789..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/MainCameraFollow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 52723e4b1bc8e7a459bca520c75f6e48 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs deleted file mode 100644 index 83454d1..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace JamUtils -{ - - public class Player : MonoBehaviour - { - [SerializeField] private GameObject m_Bullet; - - private FPSCharacterController m_Controller; - - private void Awake() - { - m_Controller = GetComponent(); - } - - private void Start() - { - m_Controller.shootTarget = ShootTarget; - m_Controller.checkHit = CheckHit; - } - - bool CheckHit(RaycastHit hit) - { - return true; - } - - void ShootTarget(Vector3 target, Transform muzzle) - { - GameObject go = GameObject.Instantiate(m_Bullet); - go.transform.position = muzzle.position; - go.GetComponent().velocity = (target - muzzle.position).normalized * 100; - } - - } - -} diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs.meta deleted file mode 100644 index d39ac17..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/Player.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ec838ef829bbe05498510200c17766a4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs deleted file mode 100644 index 709b756..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class PlayerBody : MonoBehaviour -{ - private CapsuleCollider m_CapsuleCollider; - - public CapsuleCollider capsuleCollider - { - get - { - return m_CapsuleCollider; - } - } - - private void Awake() - { - m_CapsuleCollider = GetComponent(); - } - - private void OnCollisionEnter(Collision collision) - { - - } - - private void OnCollisionStay(Collision collision) - { - - } - - private void OnCollisionExit(Collision collision) - { - - } - -} diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs.meta deleted file mode 100644 index 218de82..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/PlayerBody.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2c8f58020a68c9a4cad47eca148231ff -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs deleted file mode 100644 index d5b881e..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class StairChecker : MonoBehaviour -{ - public Transform upper; - public Transform lower; - - void Start() - { - - } - - void Update() - { - - } -} diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs.meta deleted file mode 100644 index bf23780..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/StairChecker.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: aa1da003e4adb0a4882351b5858277d2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs deleted file mode 100644 index 423dcf6..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace JamUtils -{ - - - public class WallChecker : MonoBehaviour - { - - private bool m_IsOnWall; - public bool IsOnWall - { - get - { - return m_IsOnWall; - } - } - - private List m_Colliders = new List(); - - private void Update() - { - if (m_IsOnWall && m_Colliders.Count == 0) - { - m_IsOnWall = false; - } - } - - public bool GetCollisionPoint(out Vector3 point) - { - bool result = false; - point = Vector3.zero; - if (m_Colliders.Count > 0) - { - float dist = 100f; - for (int i = 0; i < m_Colliders.Count; ++i) - { - Collider col = m_Colliders[i]; - Vector3 p = ColliderUtility.FindClosestPoint(col, transform.position); - if (Vector3.Distance(p, transform.position) <= dist) - { - dist = Vector3.Distance(p, transform.position); - point = p; - result = true; - } - } - } - return result; - } - - private void OnTriggerEnter(Collider other) - { - m_IsOnWall = true; - - m_Colliders.Add(other); - } - - private void OnTriggerStay(Collider other) - { - } - - private void OnTriggerExit(Collider other) - { - if (m_Colliders.Contains(other)) - { - m_Colliders.Remove(other); - } - } - - } - -} diff --git a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs.meta b/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs.meta deleted file mode 100644 index 2041b9f..0000000 --- a/JamHelper/Assets/JamUtils/FPSControllerVelocity/Scripts/WallChecker.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 32f00fa7c9bddb34a9f2255a5ad0d669 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -- cgit v1.1-26-g67d0