• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

코드중에 궁굼한사항이 있어 질문남깁니다

23.02.15 02:16 작성 23.02.15 02:21 수정 조회수 163

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

  1. 유니티가 그렇게 되어 있습니다. Awake, Start, Update 등은 실행하지 않아도 엔진 코드에서 실행하고 있는 것입니다.

  2. public은 모두 공개할 때 (즉 외부 클래스에서도 접근해서 사용이 필요한 경우), protected는 상속된 클래스 에서만 사용할 때입니다.