1. 상위 클래스에서 관리하는 방식
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonSceneMain : MonoBehaviour
{
public UIButtons uiButtons;
void Start()
{
this.uiButtons.onClick = ((btnType) =>
{
Debug.Log(btnType);
});
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIButtons : MonoBehaviour
{
public enum eBtnTypes
{
Yellow,
Green,
Blue,
}
public Button[] arrBtns;
public System.Action<eBtnTypes> onClick;
private void Start()
{
for (int i = 0; i < arrBtns.Length; i++)
{
int idx = i;
this.arrBtns[idx].onClick.AddListener(() => {
this.onClick((eBtnTypes)idx);
});
}
}
}
2. 하위 클래스에서 관리하는 방식
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonSceneMain : MonoBehaviour
{
public UIButtons uiButtons;
private void Start()
{
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UIButtons : MonoBehaviour
{
public ButtonSceneMain buttonSceneMain;
public Button yellowBtn;
public void Start()
{
this.yellowBtn.onClick.AddListener(() =>
{
Debug.Log("Yellow");
});
}
}
'C# > 수업 내용' 카테고리의 다른 글
Unity) [유니티 UI] 월드 - 캔버스 좌표 연결 (0) | 2023.02.08 |
---|---|
230207 (0) | 2023.02.07 |
230203 (0) | 2023.02.03 |
Vertical2DShooting (0) | 2023.02.03 |
230202 (0) | 2023.02.02 |