Cleaned up window base code
This commit is contained in:
@@ -58,7 +58,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 2100000, guid: 6412be81563725c40bfc6c75b1a58af8, type: 2}
|
||||
m_Color: {r: 0, g: 1, b: 0.015290737, a: 1}
|
||||
m_Color: {r: 0.24528301, g: 0.24528301, b: 0.24528301, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
|
||||
@@ -54,6 +54,13 @@ namespace InterfaceOff
|
||||
}
|
||||
|
||||
public virtual void OnWindowInstantiation() { }
|
||||
public virtual void OnWindowClicked() { }
|
||||
|
||||
/* Default close button closes the window */
|
||||
public virtual void OnWindowCloseButtonClicked() => DestroyWindow();
|
||||
|
||||
protected void DestroyWindow()
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,6 @@ namespace InterfaceOff
|
||||
private WindowBase AttachedWindow { get; set; }
|
||||
|
||||
public void SetAttachedTo(WindowBase window) => AttachedWindow = window;
|
||||
public void WindowClicked() => AttachedWindow.OnWindowClicked();
|
||||
public void WindowClicked() => AttachedWindow.OnWindowCloseButtonClicked();
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,17 @@
|
||||
namespace InterfaceOff
|
||||
using UnityEngine;
|
||||
|
||||
namespace InterfaceOff
|
||||
{
|
||||
public class BasicWindow : WindowBase
|
||||
{
|
||||
public override void OnWindowInstantiation()
|
||||
{
|
||||
Components.InfoText.text = "Close";
|
||||
/* Adds a random advert to the display */
|
||||
Components.WindowImage.sprite = AdvertRegistry.GetRandomAdvert();
|
||||
Components.WindowImage.color = new Color(1, 1, 1, 1);
|
||||
}
|
||||
|
||||
public override void OnWindowClicked()
|
||||
public override void OnWindowCloseButtonClicked()
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace InterfaceOff
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnWindowClicked()
|
||||
public override void OnWindowCloseButtonClicked()
|
||||
{
|
||||
if (m_TilesRotatedCorrectly == 4)
|
||||
{
|
||||
|
||||
@@ -4,28 +4,20 @@ namespace InterfaceOff
|
||||
{
|
||||
public class MovingWindow : WindowBase
|
||||
{
|
||||
private int m_Health = int.MaxValue;
|
||||
|
||||
public override void OnWindowInstantiation()
|
||||
{
|
||||
/* Creates a random health value */
|
||||
m_Health = Random.Range(2, 6);
|
||||
Components.InfoText.text = $"{m_Health}";
|
||||
|
||||
/* Adds a random advert to the display */
|
||||
Components.WindowImage.sprite = AdvertRegistry.GetRandomAdvert();
|
||||
Components.WindowImage.color = new Color(1, 1, 1, 1);
|
||||
|
||||
/* Calculates a random velocity direction */
|
||||
float angle = Random.Range(0, Mathf.PI * 2);
|
||||
Velocity = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle)) * 100;
|
||||
}
|
||||
|
||||
public override void OnWindowClicked()
|
||||
public override void OnWindowCloseButtonClicked()
|
||||
{
|
||||
/* Decreases health and destroys if at 0 */
|
||||
m_Health--;
|
||||
Components.InfoText.text = $"{m_Health}";
|
||||
|
||||
if (m_Health <= 0)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,20 +26,6 @@ namespace InterfaceOff
|
||||
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()
|
||||
|
||||
@@ -5,25 +5,28 @@ namespace InterfaceOff
|
||||
public class TrollWindow : WindowBase
|
||||
{
|
||||
private int m_Health = int.MaxValue;
|
||||
private bool m_SpawnOnRight = true;
|
||||
|
||||
public override void OnWindowInstantiation()
|
||||
{
|
||||
/* Calculates a random health value */
|
||||
m_Health = Random.Range(2, 6);
|
||||
Components.InfoText.text = "TROLL";
|
||||
}
|
||||
|
||||
public override void OnWindowClicked()
|
||||
public override void OnWindowCloseButtonClicked()
|
||||
{
|
||||
/* Decreases health and destroys if at 0 */
|
||||
m_Health--;
|
||||
if (m_Health <= 0)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
DestroyWindow();
|
||||
return;
|
||||
}
|
||||
|
||||
/* If not at zero randomly moves the close button */
|
||||
float randX = Random.Range(-80, 80);
|
||||
float randX = m_SpawnOnRight ? Random.Range(0, 80) : Random.Range(-80, 0);
|
||||
m_SpawnOnRight = !m_SpawnOnRight; // Makes sure the close button is semi far away
|
||||
|
||||
Components.CloseButtonRectTransform.anchoredPosition = new Vector2(randX, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user