diff options
author | chai <215380520@qq.com> | 2024-03-19 21:06:40 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-19 21:06:40 +0800 |
commit | c743485dad2ca83e12d16326afc9c319e3169f9a (patch) | |
tree | bef7635defc8d48ffe64738a7ee598f43843f9c3 /ActiveRagdoll/Assets/TABG/Scripts/Data | |
parent | 999a454764e91714847f531aee13903bfc31b0a9 (diff) |
*misc
Diffstat (limited to 'ActiveRagdoll/Assets/TABG/Scripts/Data')
11 files changed, 141 insertions, 38 deletions
diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/AnimationHandler.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/AnimationHandler.cs index bc20e7c..2d051bf 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/AnimationHandler.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/AnimationHandler.cs @@ -5,12 +5,18 @@ using UnityEngine; namespace Rigging.Data { - public class AnimationHandler : MonoBehaviour + public class AnimationHandler : RiggingDataBase { + protected override void OnStart() + { + base.OnStart(); + } + + } } diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/CharacterGearHandler.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/CharacterGearHandler.cs index 7490043..95ef268 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/CharacterGearHandler.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/CharacterGearHandler.cs @@ -5,19 +5,11 @@ using UnityEngine; namespace Rigging.Data { - public class CharacterGearHandler : MonoBehaviour + public class CharacterGearHandler : RiggingDataBase { - // Start is called before the first frame update - void Start() - { - } - // Update is called once per frame - void Update() - { - } } }
\ No newline at end of file diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs index f087185..2e24f81 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs @@ -5,7 +5,7 @@ using UnityEngine; namespace Rigging.Data { - public class Gravity : MonoBehaviour + public class Gravity : RiggingDataBase { // Start is called before the first frame update void Start() diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/MovementDataHandler.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/MovementDataHandler.cs index ae3eb00..9a87817 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/MovementDataHandler.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/MovementDataHandler.cs @@ -4,7 +4,7 @@ using UnityEngine; namespace Rigging.Data { - public class MovementDataHandler : MonoBehaviour + public class MovementDataHandler : RiggingDataBase { // Start is called before the first frame update void Start() diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/RiggingDataBase.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/RiggingDataBase.cs new file mode 100644 index 0000000..f304d5d --- /dev/null +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/RiggingDataBase.cs @@ -0,0 +1,56 @@ +using UnityEngine; + +namespace Rigging.Data +{ + + public class RiggingDataBase : MonoBehaviour + { + + protected Player player; + + private void Awake() + { + player = GetComponentInParent<Player>(); + OnAwake(); + } + + private void Update() + { + OnUpdate(); + } + + private void FixedUpdate() + { + OnFixedUpdate(); + } + + private void Start() + { + OnStart(); + } + + private void LateUpdate() + { + OnLateUpdate(); + } + + protected virtual void OnAwake() + { + } + protected virtual void OnUpdate() + { + } + protected virtual void OnFixedUpdate() + { + } + protected virtual void OnStart() + { + } + + protected virtual void OnLateUpdate() + { + } + + } + +} diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/RiggingDataBase.cs.meta b/ActiveRagdoll/Assets/TABG/Scripts/Data/RiggingDataBase.cs.meta new file mode 100644 index 0000000..3544c82 --- /dev/null +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/RiggingDataBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0a8f5353f5205904fb677c7c4c397460 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/RigidbodyHolder.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/RigidbodyHolder.cs index ee3c350..eefa961 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/RigidbodyHolder.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/RigidbodyHolder.cs @@ -5,16 +5,15 @@ namespace Rigging.Data { // 保存所有14个骨骼 - public class RigidbodyHolder : MonoBehaviour - { - public Rigidbody[] allRigs; + public class RigidbodyHolder : RiggingDataBase + { + public Transform rootBone; - //private WeaponHandler weapons; + public Rigidbody[] allRigs; private void Start() { - allRigs = GetComponentsInChildren<Rigidbody>(); - //weapons = GetComponent<WeaponHandler>(); + allRigs = rootBone.gameObject.GetComponentsInChildren<Rigidbody>(); } private void Update() diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/SetRigidbodySettings.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/SetRigidbodySettings.cs index cb4b4e6..0af06c9 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/SetRigidbodySettings.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/SetRigidbodySettings.cs @@ -5,7 +5,7 @@ using UnityEngine; namespace Rigging.Data { - public class SetRigidbodySettings : MonoBehaviour + public class SetRigidbodySettings : RiggingDataBase { // Start is called before the first frame update void Start() diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/StandingDataHandler.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/StandingDataHandler.cs index 588f089..6a4aeb2 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/StandingDataHandler.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/StandingDataHandler.cs @@ -5,18 +5,64 @@ using UnityEngine; namespace Rigging.Data { - public class StandingDataHandler : MonoBehaviour + public class StandingDataHandler : RiggingDataBase { - // Start is called before the first frame update - void Start() + + public float sinceGrounded; // 离地时间 + + public float sinceLanded; + + public bool isGrounded; + + public float distanceToGround = 1f; + + private bool hasRecievedTouchedGround; + + private MovementDataHandler movementData; + + protected override void OnStart() + { + movementData = player.status.movementData; + } + + protected override void OnFixedUpdate() + { + sinceGrounded += Time.fixedDeltaTime; + sinceLanded += Time.fixedDeltaTime; + if ((double)sinceGrounded > 0.1) + { + isGrounded = false; + } + } + + protected override void OnLateUpdate() + { + hasRecievedTouchedGround = false; + } + + public void TouchGround(float distance, Vector3 normal) { - + //if (sinceGrounded > 0.5f && (bool)wobbleShake) + //{ + // wobbleShake.AddShake(-Vector3.up * 5f * Mathf.Pow(sinceGrounded, 1.5f), 0.8f); + //} + if (sinceGrounded > 0.5f) + { + Land(sinceGrounded); + } + sinceGrounded = 0f; + isGrounded = true; + if (distance > distanceToGround || !hasRecievedTouchedGround) + { + distanceToGround = distance; + } + hasRecievedTouchedGround = true; + //moveMentData.SetSlope(normal); } - // Update is called once per frame - void Update() + private void Land(float landForce) { - + sinceLanded = 0f; } } diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/StepHandler.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/StepHandler.cs index cf178c5..032cf3f 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/StepHandler.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/StepHandler.cs @@ -5,7 +5,7 @@ using UnityEngine; namespace Rigging.Data { - public class StepHandler : MonoBehaviour + public class StepHandler : RiggingDataBase { // Start is called before the first frame update void Start() diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/Strength.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/Strength.cs index 6967953..b774c1a 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/Strength.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/Strength.cs @@ -5,19 +5,12 @@ using UnityEngine; namespace Rigging.Data { - public class Strength : MonoBehaviour + public class Strength : RiggingDataBase { - // Start is called before the first frame update - void Start() - { - - } - // Update is called once per frame - void Update() - { - - } + + + } }
\ No newline at end of file |