유니티 인터페이스로 호출 (Unity interface call / check)

 

인터페이스를 가지고 있는지 확인하고 특정 메소드를 호출하기.

 

1
2
3
4
5
6
if (Physics.Raycast(ray, out RaycastHit hit, Mathf.Infinity, layerMask))
{
    // 인터페이스를 호출
    IDamagable IDamagable = (IDamagable)hit.collider.GetComponent(typeof(IDamagable));
    IDamagable.Damaged();
}

 

추가적으로 인터페이스를 클래스 내부에서 인터페이스를 구현 할 때

 

인터페이스를 암묵적으로 구현할 경우 public 클래스 멤버로 외부 호출이 가능. 

public bool DeathBoom { get; set; }

 

명시적으로 구현 할경우 private 클래스 멤버가 되어 먼저 인터페이스의 레퍼런스를 얻어야 호출 가능하다. 

bool IDamagable.DeathBoom { get; set; }

 

댓글

Designed by JB FACTORY