UIButton 사용 설명 적어둠
This commit is contained in:
SEAN 2025-10-16 16:24:34 +09:00
parent 428be95f13
commit c3c0180afc
2 changed files with 34 additions and 3 deletions

View File

@ -22,7 +22,6 @@ public class GameScene : BaseScene
atkbtn.SetButtonContents(null,"공", false, true); atkbtn.SetButtonContents(null,"공", false, true);
atkbtn.SetButtonRect("Button_Attack", new Vector2(50, 150)); atkbtn.SetButtonRect("Button_Attack", new Vector2(50, 150));
atkbtn.OnButtonClicked += Manager.Input.OnClicked; atkbtn.OnButtonClicked += Manager.Input.OnClicked;
// atkbtn.Bind(() => Debug.Log("Attack Button Clicked"));
} }
UIButton defbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Defence", true); UIButton defbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Defence", true);

View File

@ -1,12 +1,44 @@
using System; using System;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI; using UnityEngine.UI;
/// <summary> /// <summary>
/// 원하는 스크립트에서 메서드 만들고 {버튼}.Bind(메서드) 하면 클릭시 메서드 실행 /// UIButton은 버튼이라는 오브젝트를 위한 클래스
/// </summary> /// </summary>
/// <example>
/// 1. GameScene과 같은 Scene에서 UIManager의 UIList에 "Button_Attack"과 같이 사용할 버튼의 이름을 추가
/// <code>
/// Manager.UI.UIList = new List&lt;string&gt; { "Button_Attack" };
/// </code>
/// 2. GameScene과 같은 Scene에서 UI 호출하게 되면 다음과 같이 버튼을 설정
/// <code>
/// UIButton atkbtn = Manager.UI.SwitchOnObject&lt;UIButton&gt;("Button_Attack", true);
/// if (atkbtn != null)
/// {
/// atkbtn.SetButtonContents(null,"공", false, true);
/// atkbtn.SetButtonRect("Button_Attack", new Vector2(50, 150));
/// // 아래 코드는 버튼이 클릭 되었을 경우 InputManager의 OnClicked 함수를 호출
/// atkbtn.OnButtonClicked += Manager.Input.OnClicked;
/// }
/// </code>
/// 3. 만약에 해당 버튼을 사용하는 오브젝트(예: PlayerController)에서 버튼 클릭 이벤트를 받고 싶다면 Start에 다음 같이 설정
/// <code>
/// void Start()
/// {
/// Manager.Input.RegisterAction("Button_Attack", OnAttack);
/// }
///
/// private void OnAttack()
/// {
/// if (!_isAttack)
/// {
/// _isAttack = true;
/// Behavior = PlayerBehavior.Attack;
/// }
/// }
/// </code>
/// </example>
public class UIButton: MonoBehaviour public class UIButton: MonoBehaviour
{ {
private string _name; private string _name;