Added basic notification system
-Works with minimal calls to SendNotification(), infinite loop possible on multiple calls -Add to MoreExp() --Add case for multiple notifications of same type combining value --If notification timer > maxTime ---expRate = expNotifyValue / secondsPassed ---Display Exp/s instead of continuously growing value
This commit is contained in:
parent
cc86eabeef
commit
33664d2735
Binary file not shown.
|
@ -60,7 +60,7 @@ public class ExperienceBar : MonoBehaviour {
|
||||||
++clicks;
|
++clicks;
|
||||||
currentExp = currentExp + Increment;
|
currentExp = currentExp + Increment;
|
||||||
fillAmount = currentExp / currentRequirement;
|
fillAmount = currentExp / currentRequirement;
|
||||||
Debug.Log("fillAmount = " + fillAmount);
|
//Debug.Log("fillAmount = " + fillAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LevelUp()
|
public void LevelUp()
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Runtime.Serialization.Formatters.Binary;
|
using System.Runtime.Serialization.Formatters.Binary;
|
||||||
|
@ -23,6 +24,19 @@ public class GameManager : MonoBehaviour {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string notify;
|
||||||
|
public bool wait;
|
||||||
|
public bool activeOne;
|
||||||
|
public bool activeTwo;
|
||||||
|
public bool activeThree;
|
||||||
|
public bool activeFour;
|
||||||
|
public float idleExp;
|
||||||
|
public GameObject popupOne;
|
||||||
|
public GameObject popupTwo;
|
||||||
|
public GameObject popupThree;
|
||||||
|
public GameObject popupFour;
|
||||||
|
public float timer;
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update () {
|
void Update () {
|
||||||
|
|
||||||
|
@ -59,6 +73,28 @@ public class GameManager : MonoBehaviour {
|
||||||
Save();
|
Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
popupOne.SetActive(false);
|
||||||
|
popupTwo.SetActive(false);
|
||||||
|
popupThree.SetActive(false);
|
||||||
|
popupFour.SetActive(false);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FixedUpdate()
|
||||||
|
{
|
||||||
|
UpdatePopups();
|
||||||
|
timer += 0.02f;
|
||||||
|
if(timer > 9999.0f)
|
||||||
|
{
|
||||||
|
timer = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void Save()
|
public void Save()
|
||||||
{
|
{
|
||||||
BinaryFormatter bf = new BinaryFormatter();
|
BinaryFormatter bf = new BinaryFormatter();
|
||||||
|
@ -103,9 +139,15 @@ public class GameManager : MonoBehaviour {
|
||||||
|
|
||||||
DateTime loadTime = System.DateTime.Now;
|
DateTime loadTime = System.DateTime.Now;
|
||||||
int secondsPassed = GetIdleTime(data.currentTime, loadTime);
|
int secondsPassed = GetIdleTime(data.currentTime, loadTime);
|
||||||
float idleExp = (data.rotationsPerSec * secondsPassed) * data.increment;
|
idleExp = (data.rotationsPerSec * secondsPassed) * data.increment;
|
||||||
GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentExp += idleExp;
|
GameObject.FindGameObjectWithTag("ExpGained").GetComponent<ExperienceBar>().currentExp += idleExp;
|
||||||
|
|
||||||
|
if (idleExp >= 0.0f)
|
||||||
|
{
|
||||||
|
string notification = ("+" + idleExp + "EXP");
|
||||||
|
SendNotification(notification);
|
||||||
|
}
|
||||||
|
|
||||||
Debug.Log("Loaded");
|
Debug.Log("Loaded");
|
||||||
Debug.Log("idleExp: " + idleExp);
|
Debug.Log("idleExp: " + idleExp);
|
||||||
}
|
}
|
||||||
|
@ -137,4 +179,114 @@ public class GameManager : MonoBehaviour {
|
||||||
return secondsPassed;
|
return secondsPassed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdatePopups()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (GameObject.Find("Pop-up Panel 1") == null)
|
||||||
|
{
|
||||||
|
activeOne = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
activeOne = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GameObject.Find("Pop-up Panel 2") == null)
|
||||||
|
{
|
||||||
|
activeTwo = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
activeTwo = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GameObject.Find("Pop-up Panel 3") == null)
|
||||||
|
{
|
||||||
|
activeThree = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
activeThree = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GameObject.Find("Pop-up Panel 4") == null)
|
||||||
|
{
|
||||||
|
activeFour = false;
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
activeFour = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendNotification(string notification)
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
List<GameObject> popups = new List<GameObject>();
|
||||||
|
GameObject[] allPopups = GameObject.Find("Notification Panel").GetComponentsInChildren<GameObject>(true);
|
||||||
|
foreach (GameObject obj in allPopups)
|
||||||
|
{
|
||||||
|
popups.Add(obj.GetComponent<GameObject>());
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Debug.Log("Number of Popups: " + popups.Count);
|
||||||
|
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
Debug.Log("For1");
|
||||||
|
if (wait == true)
|
||||||
|
{
|
||||||
|
Debug.Log("For1.1");
|
||||||
|
continue;
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
Debug.Log("For1.1");
|
||||||
|
notify = notification;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
Debug.Log("For2");
|
||||||
|
if (activeOne == false)
|
||||||
|
{
|
||||||
|
popupOne.SetActive(true);
|
||||||
|
wait = false;
|
||||||
|
break;
|
||||||
|
} else if (activeTwo == false)
|
||||||
|
{
|
||||||
|
popupTwo.SetActive(true);
|
||||||
|
wait = false;
|
||||||
|
break;
|
||||||
|
} else if (activeThree == false)
|
||||||
|
{
|
||||||
|
popupThree.SetActive(true);
|
||||||
|
wait = false;
|
||||||
|
break;
|
||||||
|
} else if (activeFour == false)
|
||||||
|
{
|
||||||
|
popupFour.SetActive(true);
|
||||||
|
wait = false;
|
||||||
|
break;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
wait = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetNotify()
|
||||||
|
{
|
||||||
|
return notify;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
|
||||||
|
public class PopupNotification : MonoBehaviour {
|
||||||
|
|
||||||
|
public bool active = false;
|
||||||
|
public Vector3 origin;
|
||||||
|
public float timer = 0.0f;
|
||||||
|
public string localNotify;
|
||||||
|
|
||||||
|
// Use this for initialization
|
||||||
|
void OnEnable () {
|
||||||
|
active = true;
|
||||||
|
origin = this.transform.localPosition;
|
||||||
|
localNotify = GameObject.Find("EventSystem").GetComponent<GameManager>().GetNotify();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update is called once per frame
|
||||||
|
void FixedUpdate () {
|
||||||
|
|
||||||
|
timer += 0.02f;
|
||||||
|
|
||||||
|
this.gameObject.transform.Translate(new Vector3(0, 10f * Time.deltaTime, 0));
|
||||||
|
this.gameObject.GetComponentInChildren<Text>().text = localNotify;
|
||||||
|
|
||||||
|
if(timer >= 3)
|
||||||
|
{
|
||||||
|
this.gameObject.SetActive(false);
|
||||||
|
active = false;
|
||||||
|
timer = 0.0f;
|
||||||
|
this.gameObject.transform.localPosition = origin;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f65f56ebba8d5fd49ac926af557e92d7
|
||||||
|
timeCreated: 1504554538
|
||||||
|
licenseType: Free
|
||||||
|
MonoImporter:
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
Reference in New Issue