diff --git a/Assets/Scenes/WalljumpTest.unity b/Assets/Scenes/WalljumpTest.unity index 98c09f1..3f6890f 100644 --- a/Assets/Scenes/WalljumpTest.unity +++ b/Assets/Scenes/WalljumpTest.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74dadf0e7abae9aa3eb00726859b73a50e45d849720fc434d3a27f6faf54b6b6 -size 1728849 +oid sha256:3b53772d9a9f66ad6819f67005db77162cb086ebf7bc819d3d73d1f0af8ea4fb +size 1740290 diff --git a/Assets/Scripts/CameraFollower.cs b/Assets/Scripts/CameraFollower.cs index 7472137..1695ac9 100644 --- a/Assets/Scripts/CameraFollower.cs +++ b/Assets/Scripts/CameraFollower.cs @@ -9,6 +9,8 @@ public class CameraFollower : MonoBehaviour [SerializeField] private float m_FollowStrength = 3f; [SerializeField] private bool m_FollowX = true; [SerializeField] private bool m_FollowY = false; + [SerializeField] private float m_OffsetX = 0f; + [SerializeField] private float m_OffsetY = 2.0f; private Camera m_Camera; @@ -22,8 +24,8 @@ public class CameraFollower : MonoBehaviour if(Mathf.Abs(Player.transform.position.x - m_Camera.transform.position.x) > m_FollowStrength) { m_Camera.transform.Translate( - m_FollowX ? (m_FollowStrength + Player.transform.position.x - m_Camera.transform.position.x) * Time.deltaTime : 0, - m_FollowY ? (m_FollowStrength + Player.transform.position.y - m_Camera.transform.position.y) * Time.deltaTime : 0, + (m_FollowX ? (m_FollowStrength + Player.transform.position.x - m_Camera.transform.position.x - m_OffsetX) * Time.deltaTime : 0), + (m_FollowY ? (m_FollowStrength + Player.transform.position.y - m_Camera.transform.position.y - m_OffsetY) * Time.deltaTime : 0), 0); } } diff --git a/Assets/Scripts/PlatformMover.cs b/Assets/Scripts/PlatformMover.cs new file mode 100644 index 0000000..376085b --- /dev/null +++ b/Assets/Scripts/PlatformMover.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlatformMover : MonoBehaviour +{ + [SerializeField] private Transform m_StartPos; + [SerializeField] private Transform m_EndPos; + [SerializeField] private float m_Duration = 2f; + + private Transform m_OldParent; + + private void Update() + { + transform.position = Vector2.Lerp(m_StartPos.position, m_EndPos.position, (Mathf.Sin(Time.time * m_Duration) + 1.0f) / 2.0f); + } + + private void OnCollisionEnter2D(Collision2D collision) + { + var playerController = collision.gameObject.GetComponent(); + if(playerController) + { + m_OldParent = playerController.transform.parent; + playerController.transform.parent = transform; + } + } + + private void OnCollisionExit2D(Collision2D collision) + { + var playerController = collision.gameObject.GetComponent(); + if(playerController) + { + playerController.transform.parent = m_OldParent; + m_OldParent = null; + } + + } + +#if UNITY_EDITOR + private void OnDrawGizmos() + { + Gizmos.color = Color.green; + Gizmos.DrawLine(m_StartPos.position, m_EndPos.position); + } +#endif +} diff --git a/Assets/Scripts/PlatformMover.cs.meta b/Assets/Scripts/PlatformMover.cs.meta new file mode 100644 index 0000000..c648773 --- /dev/null +++ b/Assets/Scripts/PlatformMover.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e37b7702510697041a7ae1a25956385b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Variables/Runtime/freezePlayer.asset b/Assets/Variables/Runtime/freezePlayer.asset index f616f65..a81d699 100644 --- a/Assets/Variables/Runtime/freezePlayer.asset +++ b/Assets/Variables/Runtime/freezePlayer.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f374dd84929158d72abba2b7081384c232df90b4e44faaabd3958edc540e7783 +oid sha256:466fdb9107b37543a2ad85e238da069372b91af9605c5eeabd8ce9114f1801eb size 466