Started implementing TriviaWindow

This commit is contained in:
2026-01-14 23:10:11 +00:00
committed by Pasha Bibko
parent 69a28e31b8
commit a7413ab629
10 changed files with 1041 additions and 956 deletions

View File

@@ -1,12 +1,12 @@
using UnityEngine.UI;
using UnityEngine;
using UnityEngine.Serialization;
namespace InterfaceOff
{
public class WindowComponents : MonoBehaviour
{
[field: SerializeField] public Image WindowImage { get; private set; }
[field: SerializeField] public RectTransform TopBarRectTransform { get; private set; }
[field: SerializeField] public RectTransform RectTransform { get; private set; }
[field: SerializeField] public RectTransform CloseButtonRectTransform { get; private set; }
[field: SerializeField] public Text InfoText { get; private set; }
@@ -18,5 +18,16 @@ namespace InterfaceOff
RectTransform.rect.width,
RectTransform.rect.height
);
public void SetWidth(float width)
{
RectTransform.sizeDelta = new Vector2(width, RectTransform.sizeDelta.y);
WindowImage.rectTransform.sizeDelta = new Vector2(width, 200);
TopBarRectTransform.sizeDelta = new Vector2(width, 40);
CloseButtonRectTransform.anchoredPosition = new Vector2(width / 2 - 20, 0);
InfoText.rectTransform.sizeDelta = new Vector2(width - 40, 30);
}
}
}

View File

@@ -41,6 +41,8 @@ namespace InterfaceOff
go.SetActive(true);
Type type = WindowTypes.GetRandom();
go.name = type.Name;
WindowBase windowBase = go.AddComponent(type) as WindowBase;
/* Checks it created correctly before instantiating further */

View File

@@ -0,0 +1,53 @@
using System.IO;
using UnityEngine;
namespace InterfaceOff
{
[System.Serializable] public struct TriviaQuestion
{
public string question;
public string[] choices;
public string answer;
}
[System.Serializable] public struct TriviaSet
{
public TriviaQuestion[] questions;
}
public class TriviaWindow : WindowBase
{
private static TriviaSet Trivia;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadTriviaSet()
{
string path = Application.dataPath + "/Resources/Trivia.json";
string json = File.ReadAllText(path);
Trivia = JsonUtility.FromJson<TriviaSet>(json);
string longest = "";
int length = 0;
foreach (TriviaQuestion question in Trivia.questions)
{
if (length < question.question.Length)
{
length = question.question.Length;
longest = question.question;
}
}
Debug.Log(longest);
}
public override void OnWindowInstantiation()
{
TriviaQuestion question = Trivia.questions[Random.Range(0, Trivia.questions.Length)];
Components.InfoText.text = question.question;
Components.SetWidth(500);
}
}
}

View File

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