Skip to content

Commit

Permalink
Confirmation popup box
Browse files Browse the repository at this point in the history
  • Loading branch information
DMagic1 committed Feb 21, 2017
1 parent 6fba9b3 commit f8bbeae
Show file tree
Hide file tree
Showing 3 changed files with 201 additions and 4 deletions.
58 changes: 58 additions & 0 deletions SCANsat.Unity/Unity/SCAN_Popup.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;

namespace SCANsat.Unity.Unity
{
public class SCAN_Popup : CanvasFader
{
public class OnSelectEvent : UnityEvent { }

[SerializeField]
private TextHandler m_WarningText = null;

private OnSelectEvent _onSelectUpdate = new OnSelectEvent();

public OnSelectEvent OnSelectUpdate
{
get { return _onSelectUpdate; }
}

protected override void Awake()
{
base.Awake();

Alpha(0);
}

public void Setup(string text)
{
if (m_WarningText != null)
m_WarningText.OnTextUpdate.Invoke(text);

FadeIn();
}

private void FadeIn()
{
Fade(1, true);
}

public void FadeOut(bool fast = false)
{
Fade(0, fast, Close, false);
}

private void Close()
{
gameObject.SetActive(false);
DestroyImmediate(gameObject);
}

public void Confirm()
{
_onSelectUpdate.Invoke();
}
}
}
105 changes: 101 additions & 4 deletions SCANsat.Unity/Unity/SCAN_SettingsData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using SCANsat.Unity.Interfaces;

Expand Down Expand Up @@ -128,8 +129,43 @@ public void OnInputClick(BaseEventData eventData)
settings.LockInput = true;
}

private void PopupPopup(string message, UnityAction callback)
{
if (SCAN_Settings.Instance == null)
return;

if (SCAN_Settings.Instance.WarningPopup != null)
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;
}

if (SCAN_Settings.Instance.PopupPrefab == null)
return;

SCAN_Settings.Instance.WarningPopup = Instantiate(SCAN_Settings.Instance.PopupPrefab).GetComponent<SCAN_Popup>();

if (SCAN_Settings.Instance.WarningPopup == null)
return;

SCAN_Settings.Instance.WarningPopup.transform.SetParent(transform, false);

SCAN_Settings.Instance.WarningPopup.Setup(message);

SCAN_Settings.Instance.WarningPopup.OnSelectUpdate.AddListener(callback);
}

public void ResetCurrentMap()
{
if (settings != null)
PopupPopup(settings.DataResetCurrent, ConfirmResetCurrentMap);
}

private void ConfirmResetCurrentMap()
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;

if (settings == null)
return;

Expand All @@ -138,26 +174,87 @@ public void ResetCurrentMap()

public void ResetAllMaps()
{
if (settings != null)
PopupPopup(settings.DataResetAll, ConfirmResetAllMaps);
}

private void ConfirmResetAllMaps()
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;

if (settings == null)
return;

settings.ResetAll();
}

public void ResetSCANResource()
public void ResetSCANResourceCurrent()
{
if (settings != null)
PopupPopup(settings.SCANResourceResetCurrent, ConfirmResetSCANResourceCurrent);
}

private void ConfirmResetSCANResourceCurrent()
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;

if (settings == null)
return;

settings.ResetSCANResource();
settings.ResetSCANResourceCurrent();
}

public void ResetSCANResourceAll()
{
if (settings != null)
PopupPopup(settings.SCANResourceResetAll, ConfirmResetSCANResourceAll);
}

public void ResetStockResource()
private void ConfirmResetSCANResourceAll()
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;

if (settings == null)
return;

settings.ResetSCANResourceCurrent();
}

public void ResetStockResourceCurrent()
{
if (settings != null)
PopupPopup(settings.StockResourceResetCurrent, ConfirmResetStockResourceCurrent);
}

private void ConfirmResetStockResourceCurrent()
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;

if (settings == null)
return;

settings.ResetStockResourceCurrent();
}

public void ResetStockResourceAll()
{
if (settings != null)
PopupPopup(settings.StockResourceResetAll, ConfirmResetStockResourceAll);
}

private void ConfirmResetStockResourceAll()
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;

if (settings == null)
return;

settings.ResetStockResource();
settings.ResetStockResourceAll();
}

public void FillCurrentMap()
Expand Down
42 changes: 42 additions & 0 deletions SCANsat.Unity/Unity/SCAN_SettingsResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,34 @@ public void DisableStock(bool isOn)
if (!loaded || settings == null)
return;

if (isOn && !settings.ModuleManager)
{
if (SCAN_Settings.Instance == null)
return;

if (SCAN_Settings.Instance.WarningPopup != null)
{
SCAN_Settings.Instance.WarningPopup.FadeOut(true);
SCAN_Settings.Instance.WarningPopup = null;
}

if (SCAN_Settings.Instance.PopupPrefab == null)
return;

SCAN_Settings.Instance.WarningPopup = Instantiate(SCAN_Settings.Instance.PopupPrefab).GetComponent<SCAN_Popup>();

if (SCAN_Settings.Instance.WarningPopup == null)
return;

SCAN_Settings.Instance.WarningPopup.transform.SetParent(transform, false);

SCAN_Settings.Instance.WarningPopup.Setup(settings.ModuleManagerWarning);

SCAN_Settings.Instance.WarningPopup.OnSelectUpdate.AddListener(ConfirmStockDisable);

return;
}

settings.DisableStock = isOn;

if (m_InstantScanToggle != null)
Expand All @@ -142,6 +170,20 @@ public void DisableStock(bool isOn)
m_StockThresholdObject.gameObject.SetActive(isOn);
}

private void ConfirmStockDisable()
{
if (settings == null)
return;

settings.DisableStock = true;

if (m_InstantScanToggle != null)
m_InstantScanToggle.gameObject.SetActive(false);

if (m_StockThresholdObject != null)
m_StockThresholdObject.gameObject.SetActive(true);
}

public void InstantScan(bool isOn)
{
if (!loaded || settings == null)
Expand Down

0 comments on commit f8bbeae

Please sign in to comment.