36 lines
918 B
C#
36 lines
918 B
C#
using UnityEngine;
|
|
|
|
public class Skywalker_MovingPlatform : MonoBehaviour
|
|
{
|
|
public float speed = 2f;
|
|
public float distance = 3f;
|
|
private Vector3 startPos;
|
|
Transform prevParent;
|
|
void Start()
|
|
{
|
|
startPos = transform.position;
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
transform.position = startPos + Vector3.down * Mathf.PingPong(Time.time * speed, distance);
|
|
}
|
|
private void OnCollisionEnter(Collision collision)
|
|
{
|
|
if (collision.gameObject.CompareTag("Player"))
|
|
{
|
|
if (collision.transform.parent != null)
|
|
{
|
|
prevParent = collision.transform.parent;
|
|
}
|
|
collision.transform.parent = transform;
|
|
}
|
|
}
|
|
private void OnCollisionExit(Collision collision)
|
|
{
|
|
if (collision.gameObject.CompareTag("Player"))
|
|
{
|
|
collision.transform.parent = prevParent;
|
|
}
|
|
}
|
|
} |