Practice_Unity/Assets/Scripts/Scenes/GameScene.cs
Seonkyu.kim c0eeb5455c 작업
1. UIButton.cs 파일 하나로 버튼 동작 청사진 만들기
- 씬 <> UI매니저 <> 버튼 <> 인풋 매니저 <> 컨트롤러
2025-10-14 13:54:45 +09:00

86 lines
2.7 KiB
C#

using System;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class GameScene : BaseScene
{
protected override void Init()
{
base.Init();
_sceneType = Define.Scene.Game;
Manager.UI.UIList = new List<string> { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"};
// var onList = new[] { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"};
Manager.UI.SwitchOnObject<ExpBar>("ExpBar", true);
Manager.UI.SwitchOnObject<Joystick>("JoyStick", true);
UIButton atkbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Attack", true);
if (atkbtn != null)
{
atkbtn.SetButtonContents(null,"공", false, true);
atkbtn.SetButtonRect("Button_Attack", new Vector2(50, 150));
atkbtn.OnButtonClicked += Manager.Input.OnClicked;
// atkbtn.Bind(() => Debug.Log("Attack Button Clicked"));
}
UIButton defbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Defence", true);
if (defbtn != null)
{
defbtn.SetButtonContents(null,"방", false, true);
defbtn.SetButtonRect(
"Button_Defence",
new Vector2(-100f - 180f / 2, 100f + 180f / 2),
180.0f,180.0f,
new Vector2(1, 0),
new Vector2(0.5f, 0.5f)
);
// defbtn.Bind(() => Debug.Log("Defence Button Clicked"));
}
Manager.UI.ExclusiveExpBar();
CreateSpawner();
}
void CreateJoyStick()
{
// GameObject joystick = Manager.Resource.Instantiate("Prefabs/UI/VirtualJoyStick", GameObject.Find("@Canvas").transform);
// joystick.AddComponent<VirtualJoystick>();
}
void CreateButtons()
{
Button_Action buttons = _canvas.AddComponent<Button_Action>();
// if (buttons != null)
// {
// buttons.SetSkillButtonEvent(0, () => Debug.Log("Skill 1 Button Clicked"));
// buttons.SetSkillButtonEvent(1, () => Debug.Log("Skill 2 Button Clicked"));
// buttons.SetSkillButtonEvent(2, () => Debug.Log("Skill 3 Button Clicked"));
// // buttons.SetSkillButtonEvent(3, () => Debug.Log("Skill 4 Button Clicked"));
// }
}
void CreateSpawner()
{
GameObject spawner = Manager.Resource.Instantiate("Prefabs/UI/Spawner", GameObject.Find("@Scene").transform);
var spawn = spawner.AddComponent<SpawnController>();
spawn.EnemyPrefabPath = "Prefabs/Characters/Test_Enemy";
spawn.EnemyDataPath = "Data/E_Test1";
}
private void Update()
{
}
public override void Clear()
{
}
}