UI Sprites, Buttons, Canvases, Prefabs and a new Font Added
This commit is contained in:
29
Assets/Scripts/UI/ButtonBehaviour.cs
Normal file
29
Assets/Scripts/UI/ButtonBehaviour.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using TMPro;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
public class ButtonBehaviour : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
|
||||
{
|
||||
[SerializeField] private Vector2 offset = new Vector2(8, -8);
|
||||
private TMP_Text text = null;
|
||||
private Vector3 initialTextPosition = Vector3.zero;
|
||||
|
||||
public void OnPointerDown(PointerEventData eventData)
|
||||
{
|
||||
text.transform.localPosition = initialTextPosition + (Vector3)offset;
|
||||
}
|
||||
|
||||
public void OnPointerUp(PointerEventData eventData)
|
||||
{
|
||||
text.transform.localPosition = initialTextPosition;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
text = GetComponentInChildren<TMP_Text>();
|
||||
initialTextPosition = text.transform.localPosition;
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/UI/ButtonBehaviour.cs.meta
Normal file
11
Assets/Scripts/UI/ButtonBehaviour.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cff2b2a95a8f4ce49906463ba9f385d0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
11
Assets/Scripts/UI/CanvasUIConnection.cs
Normal file
11
Assets/Scripts/UI/CanvasUIConnection.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
public class CanvasUIConnection : MonoBehaviour, IUIManager
|
||||
{
|
||||
public void SwitchToCanvas(string canvasName) => UIManager.Instance.SwitchToCanvas(canvasName);
|
||||
public void CloseAllCanvases() => UIManager.Instance.CloseAllCanvases();
|
||||
public void ExitGame() => UIManager.Instance.ExitGame();
|
||||
}
|
||||
}
|
11
Assets/Scripts/UI/CanvasUIConnection.cs.meta
Normal file
11
Assets/Scripts/UI/CanvasUIConnection.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 24e57cccec2e3944e93ca23e706e03a9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
9
Assets/Scripts/UI/IUIManager.cs
Normal file
9
Assets/Scripts/UI/IUIManager.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace UI
|
||||
{
|
||||
public interface IUIManager
|
||||
{
|
||||
void ExitGame();
|
||||
void CloseAllCanvases();
|
||||
void SwitchToCanvas(string canvasName);
|
||||
}
|
||||
}
|
11
Assets/Scripts/UI/IUIManager.cs.meta
Normal file
11
Assets/Scripts/UI/IUIManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9879bf9bd717b6f4c8bcec563a8ab5b5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
52
Assets/Scripts/UI/UIManager.cs
Normal file
52
Assets/Scripts/UI/UIManager.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
public class UIManager : MonoBehaviour, IUIManager
|
||||
{
|
||||
private static UIManager _instance = null;
|
||||
public static UIManager Instance => _instance;
|
||||
private Dictionary<string, Canvas> canvases = null;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (_instance == null)
|
||||
_instance = this;
|
||||
|
||||
if (_instance != this)
|
||||
Destroy(this);
|
||||
}
|
||||
|
||||
public void SwitchToCanvas(string canvasName)
|
||||
{
|
||||
Initialize();
|
||||
|
||||
CloseAllCanvases();
|
||||
|
||||
canvases[canvasName].gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
public void CloseAllCanvases()
|
||||
{
|
||||
foreach (Canvas canvas in canvases.Values)
|
||||
canvas.gameObject.SetActive(false);
|
||||
}
|
||||
public void ExitGame() => Application.Quit();
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
if (canvases != null)
|
||||
return;
|
||||
|
||||
Transform mainCanvasTransform = transform.Find("Main Canvas");
|
||||
canvases = new Dictionary<string, Canvas>(mainCanvasTransform.childCount);
|
||||
|
||||
for (int i = 0; i < mainCanvasTransform.childCount; i++)
|
||||
{
|
||||
Transform child = mainCanvasTransform.GetChild(i);
|
||||
canvases.Add(child.name, child.GetComponent<Canvas>());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/UI/UIManager.cs.meta
Normal file
11
Assets/Scripts/UI/UIManager.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 82d1132fe93244a46a489ce83a9d2b41
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user