1. UI 버튼 작업 했음 2. 칼, 방패 따로 붙이는 작업 헀음 3. 공격 모션에 이제 버튼 연동함 Todo 1. 공격시 화면 이상하게 흔들리는거 수정할 차례 2. 히트 박스 해서 몬스터 공격하는거 연동하기
73 lines
2.2 KiB
C#
73 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.InputSystem;
|
|
using UnityEngine.UI;
|
|
using Object = UnityEngine.Object; // InputSystem 사용을 위해 추가
|
|
|
|
public abstract class BaseScene : MonoBehaviour
|
|
{
|
|
public Define.Scene _sceneType { get; protected set; } = Define.Scene.Uknown;
|
|
protected Canvas _canvas;
|
|
|
|
private void Awake()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
protected virtual void Init()
|
|
{
|
|
Object obj = FindFirstObjectByType<EventSystem>();
|
|
if (obj == null)
|
|
Manager.Resource.Instantiate("Prefabs/UI/EventSystem").name = "@EventSystem";
|
|
|
|
GameObject canvas = GameObject.Find("@Canvas");
|
|
if (canvas == null)
|
|
{
|
|
GameObject newCanvas = new GameObject("@Canvas");
|
|
_canvas = newCanvas.AddComponent<Canvas>();
|
|
_canvas.renderMode = RenderMode.ScreenSpaceOverlay;
|
|
|
|
newCanvas.AddComponent<CanvasScaler>();
|
|
//Canvas Scaler 의 ui Scale Mode을 Scale With Screen Size로 설정
|
|
CanvasScaler canvasScaler = newCanvas.GetComponent<CanvasScaler>();
|
|
canvasScaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize;
|
|
canvasScaler.referenceResolution = new Vector2(1920, 1080);
|
|
canvasScaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight;
|
|
canvasScaler.matchWidthOrHeight = 0.5f; //0: Width,
|
|
|
|
newCanvas.AddComponent<GraphicRaycaster>();
|
|
}
|
|
else
|
|
{
|
|
_canvas = canvas.GetComponent<Canvas>();
|
|
}
|
|
|
|
|
|
Manager.Input.InputAction -= Check;
|
|
Manager.Input.InputAction += Check;
|
|
}
|
|
|
|
private void Check(Define.InputEvent evt)
|
|
{
|
|
switch (evt)
|
|
{
|
|
case Define.InputEvent.Click:
|
|
Debug.Log($"Clicked Position:"); //{Manager.Input.LastPointPosition}");
|
|
break;
|
|
default:
|
|
Manager.Input.PointAction -= DebugLog;
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void DebugLog(Vector2 vec)
|
|
{
|
|
Debug.Log(vec);
|
|
}
|
|
|
|
public abstract void Clear();
|
|
|
|
}
|