Unity 3D 플레이어 데미지 처리 이론
// TryGetComponent 메서드 형식
public bool TryGetComponent<T>(out T component) where T : Component;
- ref
- 변수를 참조 형태로 전달하는데 사용됨
- 변수가 메서드 안에서 변경될 수 있다는 뜻
- out
- 변수를 참조 형태로 전달하는데 사용됨
- 변수를 전달하기 전에 변수를 초기화 하지 않아도 됨
- 메서드 안에서는 반드시 할당되어야 함
- T
- 가져오려는 컴포넌트의 타입
- MonoBehaviour를 상속한 컴포넌트는 모두 사용 가능
- Component
- 컴포넌트를 가져올 때 사용되는 out 매개변수
// 예시
using UnityEngine;
public class Test : MonoBehaviour
{
private void Start()
{
Rigidbody rb;
// Rigidbody 컴포넌트가 있는지 확인하고 가져와라
if (TryGetComponent<Rigidbody>(out rb))
{
// Rigidbody에 3D기준 위방향으로 100만큼의 힘을 더해줘라
rb.AddForce(Vector3.up * 100f);
}
// Rigidbody 컴포넌트가 없으면
else
{
Debug.Log("Rigidbody component not found.");
}
}
}
<좌> 동기식 / <우> 비동기식
<좌> 일반 기능 / <우> 코루틴