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; | ||||
|     currentExp = currentExp + Increment; | ||||
|     fillAmount = currentExp / currentRequirement; | ||||
|     Debug.Log("fillAmount = " + fillAmount); | ||||
|     //Debug.Log("fillAmount = " + fillAmount); | ||||
|   } | ||||
| 
 | ||||
|   public void LevelUp() | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using UnityEngine; | ||||
| using UnityEngine.UI; | ||||
| using System; | ||||
| using System.IO; | ||||
| 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 | ||||
|   void Update () { | ||||
| 		 | ||||
| @ -59,6 +73,28 @@ public class GameManager : MonoBehaviour { | ||||
|     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() | ||||
|   { | ||||
|     BinaryFormatter bf = new BinaryFormatter(); | ||||
| @ -103,9 +139,15 @@ public class GameManager : MonoBehaviour { | ||||
| 
 | ||||
|       DateTime loadTime = System.DateTime.Now; | ||||
|       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; | ||||
| 
 | ||||
|       if (idleExp >= 0.0f) | ||||
|       { | ||||
|         string notification = ("+" + idleExp + "EXP"); | ||||
|         SendNotification(notification); | ||||
|       } | ||||
| 
 | ||||
|       Debug.Log("Loaded"); | ||||
|       Debug.Log("idleExp: " + idleExp); | ||||
|     } | ||||
| @ -137,4 +179,114 @@ public class GameManager : MonoBehaviour { | ||||
|     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; | ||||
|   } | ||||
| 
 | ||||
| } | ||||
|  | ||||
							
								
								
									
										38
									
								
								Assets/Scripts/PopupNotification.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								Assets/Scripts/PopupNotification.cs
									
									
									
									
									
										Normal file
									
								
							| @ -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; | ||||
|     } | ||||
| 
 | ||||
|   } | ||||
| } | ||||
							
								
								
									
										12
									
								
								Assets/Scripts/PopupNotification.cs.meta
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								Assets/Scripts/PopupNotification.cs.meta
									
									
									
									
									
										Normal file
									
								
							| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user