Added registries

This commit is contained in:
Pasha Bibko
2026-01-15 10:51:27 +00:00
parent a7413ab629
commit da7cb58ec3
42 changed files with 895 additions and 27 deletions

View File

@@ -7,9 +7,6 @@ namespace InterfaceOff
[field: SerializeField] public RectTransform CanvasRect { get; private set; }
[field: SerializeField] public Canvas GameCanvas { get; private set; }
[field: SerializeField] public GameObject ImagePrefab { get; private set; }
[field: SerializeField] public ImageRegistry Images { get; set; }
public static CanvasManager Instance { get; private set; }
private void Awake()

View File

@@ -1,21 +0,0 @@
using UnityEngine;
namespace InterfaceOff
{
[System.Serializable] public struct ImageSet
{
[field: SerializeField] public Sprite[] Images { get; set; }
}
[CreateAssetMenu(fileName = "Image Registry", menuName = "Custom/Create Image Registry")]
public class ImageRegistry : ScriptableObject
{
[field: SerializeField] public ImageSet[] Registered { get; set; }
public Sprite[] GetRandomSpriteSet()
{
int index = Random.Range(0, Registered.Length);
return Registered[index].Images;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 88f50186ae5949a69b1a09bdbf679e2b
timeCreated: 1768472737

View File

@@ -0,0 +1,20 @@
using UnityEngine;
namespace InterfaceOff
{
[CreateAssetMenu(fileName = "Advert Registry", menuName = "Custom/Create Advert Registry")]
public class AdvertRegistry : ScriptableObject
{
[field: SerializeField] public Sprite[] m_Adverts;
private static AdvertRegistry Instance;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadRegistry() => Instance = Resources.Load<AdvertRegistry>("AdvertRegistry");
public static Sprite GetRandomAdvert()
{
int index = Random.Range(0, Instance.m_Adverts.Length);
return Instance.m_Adverts[index];
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7a072103fe40445691e28d3eb4509d1b
timeCreated: 1768472783

View File

@@ -0,0 +1,25 @@
using UnityEngine;
namespace InterfaceOff
{
[System.Serializable] public struct ImageSet
{
[field: SerializeField] public Sprite[] Images { get; set; }
}
[CreateAssetMenu(fileName = "Image Registry", menuName = "Custom/Create Image Registry")]
public class ImageRegistry : ScriptableObject
{
[field: SerializeField] private ImageSet[] m_Registered;
private static ImageRegistry Instance;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadRegistry() => Instance = Resources.Load<ImageRegistry>("ImageRegistry");
public static Sprite[] GetRandomSpriteSet()
{
int index = Random.Range(0, Instance.m_Registered.Length);
return Instance.m_Registered[index].Images;
}
}
}

View File

@@ -0,0 +1,14 @@
using UnityEngine;
namespace InterfaceOff
{
[CreateAssetMenu(fileName = nameof(PrefabRegistry), menuName = "Custom/Create Prefab Registry")]
public class PrefabRegistry : ScriptableObject
{
[field: SerializeField] public GameObject ImagePrefab { get; private set; }
public static PrefabRegistry Instance { get; private set; }
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadRegistry() => Instance = Resources.Load<PrefabRegistry>(nameof(PrefabRegistry));
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9631aba76ad0408d8819b9f979caae5e
timeCreated: 1768474019

View File

@@ -21,11 +21,11 @@ namespace InterfaceOff
Components.InfoText.text = "Rotate";
/* Creates the images to rotate */
Sprite[] sprites = CanvasManager.Instance.Images.GetRandomSpriteSet();
Sprite[] sprites = ImageRegistry.GetRandomSpriteSet();
for (int i = 0; i < 4; i++)
{
/* Fetches/Creates needed components */
GameObject go = Instantiate(CanvasManager.Instance.ImagePrefab, transform);
GameObject go = Instantiate(PrefabRegistry.Instance.ImagePrefab, transform);
RectTransform t = go.GetComponent<RectTransform>();
t.sizeDelta = new Vector2(80, 80);