You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

269 lines
10 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using SiegeSong;
namespace SiegeSong
{
public class HUDManager : MonoBehaviour
{
public float HealthDisplayValue = 100.0f;
public float MagicDisplayValue = 100.0f;
public float StaminaDisplayValue = 100.0f;
public string LeftHandTechniqueDisplayValue = "Unarmed Jab";
public string LeftHandEquipDisplayValue = "Left Hand";
public string AbilityTechniqueDisplayValue = "High Kick";
public string AbilityEquipDisplayValue = "No Equipment";
public string RightHandTechniqueDisplayValue = "Unarmed Jab";
public string RightHandEquipDisplayValue = "Right Hand";
public string BigNotificationTitle = "";
public string BigNotificationSubtitle = "";
public string Notification = "";
public Slider HealthBarLR;
public Slider HealthBarRL;
public Slider StaminaBarLR;
public Slider StaminaBarRL;
public Slider MagicBarLR;
public Slider MagicBarRL;
public CanvasGroup StatBarUIGroup;
public float StatBarUIGroupTimer;
public float StatBarUIGroupDisplayTime;
public bool StatBarUIGroupTimerActive;
public CanvasGroup EquipmentAreaUIGroup;
public float EquipmentAreaUIGroupTimer;
public float EquipmentAreaUIGroupDisplayTime;
public bool EquipmentAreaUIGroupTimerActive;
public CanvasGroup SelectorAreaUIGroup;
public float SelectorAreaUIGroupTimer;
public float SelectorAreaUIGroupDisplayTime;
public bool SelectorAreaUIGroupTimerActive;
public CanvasGroup NotificationAreaUIGroup;
public float NotificationAreaUIGroupTimer;
public float NotificationAreaUIGroupDisplayTime;
public bool NotificationAreaUIGroupTimerActive;
public CanvasGroup LeftDirectionalUIGroup;
public float LeftDirectionalUIGroupTimer;
public float LeftDirectionalUIGroupDisplayTime;
public bool LeftDirectionalUIGroupTimerActive;
public CanvasGroup RightDirectionalUIGroup;
public float RightDirectionalUIGroupTimer;
public float RightDirectionalUIGroupDisplayTime;
public bool RightDirectionalUIGroupTimerActive;
public CanvasGroup BigNotificationUIGroup;
public float BigNotificationUIGroupTimer;
public float BigNotificationUIGroupDisplayTime;
public bool BigNotificationUIGroupTimerActive;
public Text NotificationHUD;
public Text BigNotificationHeaderHUD;
public Text BigNotificationSubheaderHUD;
public Text LeftHandTechniqueHUD;
public Text LeftHandEquipHUD;
public Text AbilityTechniqueHUD;
public Text AbilityEquipHUD;
public Text RightHandTechniqueHUD;
public Text RightHandEquipHUD;
public float AlphaStep = 0.05f;
public float DefaultDisplayTime = 2.0f;
public GameObject UIWrapper;
public void DisplayUIGroup(HUDGroup uiGroup, float displayTime = 2.0f)
{
switch (uiGroup)
{
case HUDGroup.StatBarArea:
StatBarUIGroup.alpha = 1.0f;
StatBarUIGroupTimerActive = true;
StatBarUIGroupDisplayTime = displayTime;
StatBarUIGroupTimer = 0.0f;
break;
case HUDGroup.EquipmentArea:
EquipmentAreaUIGroup.alpha = 1.0f;
EquipmentAreaUIGroupTimerActive = true;
EquipmentAreaUIGroupDisplayTime = displayTime;
EquipmentAreaUIGroupTimer = 0.0f;
break;
case HUDGroup.SelectorArea:
SelectorAreaUIGroup.alpha = 1.0f;
SelectorAreaUIGroupTimerActive = true;
SelectorAreaUIGroupDisplayTime = displayTime;
SelectorAreaUIGroupTimer = 0.0f;
break;
case HUDGroup.NotificationArea:
NotificationAreaUIGroup.alpha = 1.0f;
NotificationAreaUIGroupTimerActive = true;
NotificationAreaUIGroupDisplayTime = displayTime;
NotificationAreaUIGroupTimer = 0.0f;
break;
case HUDGroup.LeftDirectionalArea:
LeftDirectionalUIGroup.alpha = 1.0f;
LeftDirectionalUIGroupTimerActive = true;
LeftDirectionalUIGroupDisplayTime = displayTime;
LeftDirectionalUIGroupTimer = 0.0f;
break;
case HUDGroup.RightDirectionalArea:
RightDirectionalUIGroup.alpha = 1.0f;
RightDirectionalUIGroupTimerActive = true;
RightDirectionalUIGroupDisplayTime = displayTime;
RightDirectionalUIGroupTimer = 0.0f;
break;
//case HUDGroup.BigNotificationArea:
// BigNotificationUIGroup.alpha = 1.0f;
// BigNotificationUIGroupTimerActive = true;
// BigNotificationUIGroupDisplayTime = displayTime;
// BigNotificationUIGroupTimer = 0.0f;
// break;
}
}
void Start()
{
}
void Update()
{
NotificationHUD.text = Notification;
//BigNotificationHeaderHUD.text = BigNotificationTitle;
//BigNotificationSubheaderHUD.text = BigNotificationSubtitle;
HealthBarLR.value = HealthDisplayValue;
HealthBarRL.value = HealthDisplayValue;
StaminaBarLR.value = StaminaDisplayValue;
StaminaBarRL.value = StaminaDisplayValue;
MagicBarLR.value = MagicDisplayValue;
MagicBarRL.value = MagicDisplayValue;
LeftHandTechniqueHUD.text = LeftHandTechniqueDisplayValue;
LeftHandEquipHUD.text = LeftHandEquipDisplayValue;
AbilityTechniqueHUD.text = AbilityTechniqueDisplayValue;
AbilityEquipHUD.text = AbilityEquipDisplayValue;
RightHandTechniqueHUD.text = RightHandTechniqueDisplayValue;
RightHandEquipHUD.text = RightHandEquipDisplayValue;
if (StatBarUIGroupTimerActive)
{
StatBarUIGroupTimer += Time.deltaTime;
if (StatBarUIGroupTimer > StatBarUIGroupDisplayTime)
{
if (StatBarUIGroup.alpha > 0.0f)
{
StatBarUIGroup.alpha -= AlphaStep;
}
else
{
StatBarUIGroupTimerActive = false;
}
}
}
if (EquipmentAreaUIGroupTimerActive)
{
EquipmentAreaUIGroupTimer += Time.deltaTime;
if (EquipmentAreaUIGroupTimer > EquipmentAreaUIGroupDisplayTime)
{
if (EquipmentAreaUIGroup.alpha > 0.0f)
{
EquipmentAreaUIGroup.alpha -= AlphaStep;
}
else
{
EquipmentAreaUIGroupTimerActive = false;
}
}
}
if (SelectorAreaUIGroupTimerActive)
{
SelectorAreaUIGroupTimer += Time.deltaTime;
if (SelectorAreaUIGroupTimer > SelectorAreaUIGroupDisplayTime)
{
if (SelectorAreaUIGroup.alpha > 0.0f)
{
SelectorAreaUIGroup.alpha -= AlphaStep;
}
else
{
SelectorAreaUIGroupTimerActive = false;
}
}
}
if (NotificationAreaUIGroupTimerActive)
{
NotificationAreaUIGroupTimer += Time.deltaTime;
if (NotificationAreaUIGroupTimer > NotificationAreaUIGroupDisplayTime)
{
if (NotificationAreaUIGroup.alpha > 0.0f)
{
NotificationAreaUIGroup.alpha -= AlphaStep;
}
else
{
NotificationAreaUIGroupTimerActive = false;
}
}
}
if (LeftDirectionalUIGroupTimerActive)
{
LeftDirectionalUIGroupTimer += Time.deltaTime;
if (LeftDirectionalUIGroupTimer > LeftDirectionalUIGroupDisplayTime)
{
if (LeftDirectionalUIGroup.alpha > 0.0f)
{
LeftDirectionalUIGroup.alpha -= AlphaStep;
}
else
{
LeftDirectionalUIGroupTimerActive = false;
}
}
}
if (RightDirectionalUIGroupTimerActive)
{
RightDirectionalUIGroupTimer += Time.deltaTime;
if (RightDirectionalUIGroupTimer > RightDirectionalUIGroupDisplayTime)
{
if (RightDirectionalUIGroup.alpha > 0.0f)
{
RightDirectionalUIGroup.alpha -= AlphaStep;
HealthBarLR.value = HealthDisplayValue;
HealthBarRL.value = HealthDisplayValue;
StaminaBarLR.value = StaminaDisplayValue;
StaminaBarRL.value = StaminaDisplayValue;
MagicBarLR.value = MagicDisplayValue;
MagicBarRL.value = MagicDisplayValue;
}
else
{
RightDirectionalUIGroupTimerActive = false;
}
}
}
//if (BigNotificationUIGroupTimerActive)
//{
// BigNotificationUIGroupTimer += Time.deltaTime;
// if (BigNotificationUIGroupTimer > BigNotificationUIGroupDisplayTime)
// {
// if (BigNotificationUIGroup.alpha > 0.0f)
// {
// BigNotificationUIGroup.alpha -= AlphaStep;
// }
// else
// {
// BigNotificationUIGroupTimerActive = false;
// }
// }
//}
}
}
}