UI Sprites, Buttons, Canvases, Prefabs and a new Font Added

This commit is contained in:
2022-02-23 14:53:01 +03:00
parent a1e5a5ad88
commit b73372fe3f
44 changed files with 5624 additions and 11 deletions

View 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;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: cff2b2a95a8f4ce49906463ba9f385d0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View 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();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 24e57cccec2e3944e93ca23e706e03a9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,9 @@
namespace UI
{
public interface IUIManager
{
void ExitGame();
void CloseAllCanvases();
void SwitchToCanvas(string canvasName);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9879bf9bd717b6f4c8bcec563a8ab5b5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View 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>());
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 82d1132fe93244a46a489ce83a9d2b41
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: