자식 오브젝트 가져오기(Update문), 유닛 이동시키기(유닛→빈자리, 유닛↔유닛), IBeginDragHandler, IEndDragHandler

유승아·2024년 6월 21일

내일배움캠프

목록 보기
61/69

1. 자식 오브젝트 가져오기

MapArea.cs

public class MapArea : MonoBehaviour
{
	private void Update()
	{
		GetUnitObject();
	}
		
	public void GetUnitObject()
	{
		if (hasUnit) // 배치한 유닛이 있으면 유닛 오브젝트 가져오기
		{
			Transform child = transform.GetChild(0);
			unitObject = child.gameObject;
		}
	}
}

클릭을 해야지만 오브젝트를 가지고 오는 것이 어색하여 OnPointerClick 대신
Update문에서 오브젝트를 바로 가지고 올 수 있도록 수정하였다.


2. 유닛 이동시키기

현재까지 작업된 유닛의 위치를 이동시키는 기능이다.
IBeginDragHandler, IEndDragHandler 인터페이스를 사용하여 드래그 이벤트를 처리했다.

움짤에서 확인할 수 있듯이 유닛을 빈자리로 옮기는 것은 가능하지만 자연스러운 이동 애니메이션이 적용되지 않았고

유닛의 자리를 서로 바꾸는 기능은 이동 애니메이션은 적용되었지만 원하는 자리보다 1칸씩 차이가 나는 것을 확인할 수 있다.

자리의 hasUnit 값이 변경되는지 확인해봐야겠다.
코드는 기능이 완성되고 정리 좀 한 다음에 적는 걸로...😳

0개의 댓글