Danro/Assets/Scripts/Behaviour/Sequence/TeleportPlayerAction.cs

30 lines
839 B
C#

using System.Collections;
using RR.Game2D.Core.Managers;
using UnityEngine;
namespace RR.Common.Behaviour
{
public class TeleportPlayerAction : SequenceAction
{
[SerializeField] private bool useRelativePosition = false;
[SerializeField] private Vector3 position;
public override IEnumerator Execute(Sequencer context, GameObject target)
{
GameObject playerObj = target;
if (!playerObj || !playerObj.CompareTag("Player")) playerObj = GameManager.Instance.PlayerObj;
if (useRelativePosition)
{
playerObj.transform.position += position;
}
else
{
playerObj.transform.position = position;
}
yield return null;
}
}
}