Global Game Jam 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

46 lines
1.3 KiB

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<CharacterController2D>();
if(playerController)
{
m_OldParent = playerController.transform.parent;
playerController.transform.parent = transform;
}
}
private void OnCollisionExit2D(Collision2D collision)
{
var playerController = collision.gameObject.GetComponent<CharacterController2D>();
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
}