Made trivia questions work
This commit is contained in:
202
Assets/Prefabs/TextButtonPrefab.prefab
Normal file
202
Assets/Prefabs/TextButtonPrefab.prefab
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2940310635561786684
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1414490042639617302}
|
||||||
|
- component: {fileID: 5291019555413885228}
|
||||||
|
- component: {fileID: 3825336479657745611}
|
||||||
|
- component: {fileID: 7082475543525880575}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: TextButtonPrefab
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &1414490042639617302
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2940310635561786684}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 4463935307105001289}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 160, y: 30}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5291019555413885228
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2940310635561786684}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &3825336479657745611
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2940310635561786684}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_Type: 1
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &7082475543525880575
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2940310635561786684}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 3825336479657745611}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
--- !u!1 &8163815796456593488
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4463935307105001289}
|
||||||
|
- component: {fileID: 7219155264245777851}
|
||||||
|
- component: {fileID: 7690044542930724813}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Text (Legacy)
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4463935307105001289
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8163815796456593488}
|
||||||
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1414490042639617302}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &7219155264245777851
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8163815796456593488}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &7690044542930724813
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8163815796456593488}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_FontData:
|
||||||
|
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
m_FontSize: 20
|
||||||
|
m_FontStyle: 0
|
||||||
|
m_BestFit: 0
|
||||||
|
m_MinSize: 2
|
||||||
|
m_MaxSize: 40
|
||||||
|
m_Alignment: 4
|
||||||
|
m_AlignByGeometry: 0
|
||||||
|
m_RichText: 1
|
||||||
|
m_HorizontalOverflow: 0
|
||||||
|
m_VerticalOverflow: 0
|
||||||
|
m_LineSpacing: 1
|
||||||
|
m_Text: hello
|
||||||
7
Assets/Prefabs/TextButtonPrefab.prefab.meta
Normal file
7
Assets/Prefabs/TextButtonPrefab.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dab7e63431a2b974cab5c2a6117a037c
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -12,4 +12,10 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7a072103fe40445691e28d3eb4509d1b, type: 3}
|
m_Script: {fileID: 11500000, guid: 7a072103fe40445691e28d3eb4509d1b, type: 3}
|
||||||
m_Name: AdvertRegistry
|
m_Name: AdvertRegistry
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Adverts: []
|
m_Adverts:
|
||||||
|
- {fileID: 21300000, guid: a16f47cf69d6cac4aa6283e32df807b4, type: 3}
|
||||||
|
- {fileID: 21300000, guid: cfef516196b2c1d4b9a2ec018cfe6a53, type: 3}
|
||||||
|
- {fileID: 21300000, guid: e34bfec25f7947f4e936bb8adc01a8f0, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 76058b5a9bf44a9478ab31804ab9d2df, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 8841696fbfeb4cb49aa2e65c44c8f2a4, type: 3}
|
||||||
|
- {fileID: 21300000, guid: 210bdc7c31d9da3408d6c71877e64d7b, type: 3}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: f25c8c9754c2489da8616c79fe173e69, type: 3}
|
m_Script: {fileID: 11500000, guid: f25c8c9754c2489da8616c79fe173e69, type: 3}
|
||||||
m_Name: ImageRegistry
|
m_Name: ImageRegistry
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
<Registered>k__BackingField:
|
m_Registered:
|
||||||
- <Images>k__BackingField:
|
- <Images>k__BackingField:
|
||||||
- {fileID: 1904163225, guid: 0a3345be1f4bf77488a64ce0d8ea336c, type: 3}
|
- {fileID: 1904163225, guid: 0a3345be1f4bf77488a64ce0d8ea336c, type: 3}
|
||||||
- {fileID: -1747164198, guid: 0a3345be1f4bf77488a64ce0d8ea336c, type: 3}
|
- {fileID: -1747164198, guid: 0a3345be1f4bf77488a64ce0d8ea336c, type: 3}
|
||||||
|
|||||||
@@ -12,4 +12,5 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 9631aba76ad0408d8819b9f979caae5e, type: 3}
|
m_Script: {fileID: 11500000, guid: 9631aba76ad0408d8819b9f979caae5e, type: 3}
|
||||||
m_Name: PrefabRegistry
|
m_Name: PrefabRegistry
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
<ImagePrefab>k__BackingField: {fileID: 0}
|
<ImagePrefab>k__BackingField: {fileID: 1810675969122322477, guid: 792c010445685104eac99ebe5c3831ce,
|
||||||
|
type: 3}
|
||||||
|
|||||||
@@ -542,10 +542,6 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
<CanvasRect>k__BackingField: {fileID: 1539476655}
|
<CanvasRect>k__BackingField: {fileID: 1539476655}
|
||||||
<GameCanvas>k__BackingField: {fileID: 1539476654}
|
<GameCanvas>k__BackingField: {fileID: 1539476654}
|
||||||
<ImagePrefab>k__BackingField: {fileID: 1810675969122322477, guid: 792c010445685104eac99ebe5c3831ce,
|
|
||||||
type: 3}
|
|
||||||
<Images>k__BackingField: {fileID: 11400000, guid: 157e9466a4474c147bbd98676e5b1d22,
|
|
||||||
type: 2}
|
|
||||||
--- !u!1 &1683319378
|
--- !u!1 &1683319378
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ namespace InterfaceOff
|
|||||||
public class PrefabRegistry : ScriptableObject
|
public class PrefabRegistry : ScriptableObject
|
||||||
{
|
{
|
||||||
[field: SerializeField] public GameObject ImagePrefab { get; private set; }
|
[field: SerializeField] public GameObject ImagePrefab { get; private set; }
|
||||||
|
[field: SerializeField] public GameObject TextButtonPrefab { get; private set; }
|
||||||
|
|
||||||
public static PrefabRegistry Instance { get; private set; }
|
public static PrefabRegistry Instance { get; private set; }
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||||
|
|||||||
@@ -1,23 +1,42 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace InterfaceOff
|
namespace InterfaceOff
|
||||||
{
|
{
|
||||||
[System.Serializable] public struct TriviaQuestion
|
[System.Serializable] public struct TriviaQuestion
|
||||||
{
|
{
|
||||||
|
/* Disables name warnings because of JSON serialization */
|
||||||
|
|
||||||
|
// ReSharper disable once InconsistentNaming
|
||||||
public string question;
|
public string question;
|
||||||
|
|
||||||
|
// ReSharper disable once InconsistentNaming
|
||||||
public string[] choices;
|
public string[] choices;
|
||||||
|
|
||||||
|
// ReSharper disable once InconsistentNaming
|
||||||
public string answer;
|
public string answer;
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.Serializable] public struct TriviaSet
|
[System.Serializable] public struct TriviaSet
|
||||||
{
|
{
|
||||||
|
/* Disables name warnings because of JSON serialization */
|
||||||
|
|
||||||
|
// ReSharper disable once InconsistentNaming
|
||||||
public TriviaQuestion[] questions;
|
public TriviaQuestion[] questions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TriviaWindow : WindowBase
|
public class TriviaWindow : WindowBase
|
||||||
{
|
{
|
||||||
private static TriviaSet Trivia;
|
private static TriviaSet Trivia;
|
||||||
|
|
||||||
|
private static Vector2[] Positions { get; } =
|
||||||
|
{
|
||||||
|
new(-110, 30f),
|
||||||
|
new(110f, 30f),
|
||||||
|
new(-110, -60),
|
||||||
|
new(110f, -60)
|
||||||
|
};
|
||||||
|
|
||||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||||
private static void LoadTriviaSet()
|
private static void LoadTriviaSet()
|
||||||
@@ -30,10 +49,36 @@ namespace InterfaceOff
|
|||||||
|
|
||||||
public override void OnWindowInstantiation()
|
public override void OnWindowInstantiation()
|
||||||
{
|
{
|
||||||
|
/* Fetches a random question and sets it as the title */
|
||||||
TriviaQuestion question = Trivia.questions[Random.Range(0, Trivia.questions.Length)];
|
TriviaQuestion question = Trivia.questions[Random.Range(0, Trivia.questions.Length)];
|
||||||
Components.InfoText.text = question.question;
|
Components.InfoText.text = question.question;
|
||||||
|
Components.SetWidth(500); // Larger width is needed for this component that others
|
||||||
|
|
||||||
Components.SetWidth(500);
|
/* Adds the answer boxes */
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
/* Creates the gameobject and fetches the needed components */
|
||||||
|
GameObject go = Instantiate(PrefabRegistry.Instance.TextButtonPrefab, transform);
|
||||||
|
Text text = go.GetComponentInChildren<Text>();
|
||||||
|
Button button = go.GetComponent<Button>();
|
||||||
|
|
||||||
|
/* Assigns needed info to the components */
|
||||||
|
text.text = question.choices[i];
|
||||||
|
|
||||||
|
RectTransform buttonTransform = button.GetComponent<RectTransform>();
|
||||||
|
buttonTransform.anchoredPosition = Positions[i];
|
||||||
|
buttonTransform.sizeDelta = new Vector2(200, 60);
|
||||||
|
|
||||||
|
/* Adds a lambda function to the button press to detect answers */
|
||||||
|
bool isCorrectButton = string.Equals(question.choices[i], question.answer);
|
||||||
|
button.onClick.AddListener(() =>
|
||||||
|
{
|
||||||
|
if (isCorrectButton)
|
||||||
|
{
|
||||||
|
DestroyWindow();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ namespace InterfaceOff
|
|||||||
|
|
||||||
public override void OnWindowInstantiation()
|
public override void OnWindowInstantiation()
|
||||||
{
|
{
|
||||||
|
/* Adds a random advert to the display */
|
||||||
|
Components.WindowImage.sprite = AdvertRegistry.GetRandomAdvert();
|
||||||
|
Components.WindowImage.color = new Color(1, 1, 1, 1);
|
||||||
|
|
||||||
/* Calculates a random health value */
|
/* Calculates a random health value */
|
||||||
m_Health = Random.Range(2, 6);
|
m_Health = Random.Range(2, 6);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user