Added registries
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Registeries.meta
Normal file
3
Assets/Scripts/Registeries.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 88f50186ae5949a69b1a09bdbf679e2b
|
||||
timeCreated: 1768472737
|
||||
20
Assets/Scripts/Registeries/AdvertRegistry.cs
Normal file
20
Assets/Scripts/Registeries/AdvertRegistry.cs
Normal 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];
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Registeries/AdvertRegistry.cs.meta
Normal file
3
Assets/Scripts/Registeries/AdvertRegistry.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7a072103fe40445691e28d3eb4509d1b
|
||||
timeCreated: 1768472783
|
||||
25
Assets/Scripts/Registeries/ImageRegistry.cs
Normal file
25
Assets/Scripts/Registeries/ImageRegistry.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
14
Assets/Scripts/Registeries/PrefabRegistry.cs
Normal file
14
Assets/Scripts/Registeries/PrefabRegistry.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/Registeries/PrefabRegistry.cs.meta
Normal file
3
Assets/Scripts/Registeries/PrefabRegistry.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9631aba76ad0408d8819b9f979caae5e
|
||||
timeCreated: 1768474019
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user