강의, 책/[Unity] C#과 유니티로 만드는 MMORPG 게임 개발 시리즈

Section 7. UI - 인벤토리 실습

hye3193 2024. 1. 31. 13:12

인벤토리 패널 산하에 들어가는 Inven_Item 스크립트는 UI_Popup도, UI_Panel도 아니기 때문에 UI_Base를 상속받게 되는데, 그럼 팝업과 씬에서 만들어두었던 Init 함수를 사용하지 못하기 때문에 그 부분을 수정해준다

 

public abstract class UI_Base : MonoBehaviour
{
    public abstract void Init();
}

UI_Base 스크립트에 이렇게 추가해준다

이때 virtual로 선언한 것과 달리, abstract로 선언한 경우, 자식 클래스에서 반드시 재선언을 해주어야 사용할 수가 있다

 

그리고 Ui_Popup.cs, UI_Scene.cs에서 기존에 virtual Init으로 선언했던 함수를 override Init으로 변경해주면 된다