Started implementing TriviaWindow
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 */
|
||||
|
||||
53
Assets/Scripts/Windows/TriviaWindow.cs
Normal file
53
Assets/Scripts/Windows/TriviaWindow.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Assets/Scripts/Windows/TriviaWindow.cs.meta
Normal file
11
Assets/Scripts/Windows/TriviaWindow.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3c11be2f2ebd10b4dafb50bb17c06112
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user