Files
PGiZ4/Assets/Code/Gameplay/Level/SideMovingObstacle.cs
T

39 lines
999 B
C#

using UnityEngine;
namespace Code.Gameplay.Level
{
public class SideMovingObstacle : MonoBehaviour
{
public float speed = 10f;
[SerializeField] private float range = 7f;
private bool _movingRight;
private void Start()
{
_movingRight = transform.position.x < 0;
UpdateRotation();
}
private void Update()
{
var step = speed * Time.deltaTime;
transform.Translate(Vector3.forward * step);
if (_movingRight && transform.position.x >= range)
{
_movingRight = false;
UpdateRotation();
}
else if (!_movingRight && transform.position.x <= -range)
{
_movingRight = true;
UpdateRotation();
}
}
private void UpdateRotation()
{
transform.rotation = Quaternion.Euler(0, _movingRight ? 90 : -90, 0);
}
}
}