작성
·
265
·
수정됨
0
BaseController
private void Start()
{
Init();
}
protected virtual void Init()
{
}
PlayerController
protected override void Init()
{
base.Init();
_stat = gameObject.GetComponent<PlayerStat>();
//Managers.Input.KeyAction -= OnKeyboard;
//Managers.Input.KeyAction += OnKeyboard;
Managers.Input.MouseAction -= OnMouseEvent;
Managers.Input.MouseAction += OnMouseEvent;
Managers.UI.MakeWorldSpaceUI<UI_HpBar>(transform);
//Managers.UI.ClosePopupUI(ui);
//Managers.Resource.Instantiate("UI/UI_Button");
}
1.BaseController에 start는 스크립트를 추가하지 않았는데 왜 실행되는지
2. public과 protected 사용 기준
이 두가지가 궁금합니다!
답변 1
0
유니티가 그렇게 되어 있습니다. Awake, Start, Update 등은 실행하지 않아도 엔진 코드에서 실행하고 있는 것입니다.
public은 모두 공개할 때 (즉 외부 클래스에서도 접근해서 사용이 필요한 경우), protected는 상속된 클래스 에서만 사용할 때입니다.