From 33664d273594a1306b7bace986b2f946e84e2b03 Mon Sep 17 00:00:00 2001 From: Shaun M Reed Date: Mon, 4 Sep 2017 19:53:18 -0400 Subject: [PATCH] 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 --- Assets/Scenes/Main.unity | Bin 111968 -> 120520 bytes Assets/Scripts/ExperienceBar.cs | 2 +- Assets/Scripts/GameManager.cs | 154 ++++++++++++++++++++++- Assets/Scripts/PopupNotification.cs | 38 ++++++ Assets/Scripts/PopupNotification.cs.meta | 12 ++ 5 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 Assets/Scripts/PopupNotification.cs create mode 100644 Assets/Scripts/PopupNotification.cs.meta diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index ff1af1c5d103aedcd842f3cd1e92a5a7c7866876..82fce2aee298e528f17fe22f6af9979dc2bd3de5 100644 GIT binary patch delta 9344 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 delta 6013 zcmaLZdvFv*9tZI5CBO!VED(#_fw;Vi6yzW$$+6)f0mQ7}BSL@$f-EPGMS)r&NP^&Q zAc2VC<*E}Uk)Yv-JU1*lE6;@>EFh2|9`VF8JoGT41f;B7;mLh_=GQd-ahIy8nfXl5 z@7Mk7p3X*hw5)GvVPmXLWBemGW2_yngX?YaylYj@j>Vzx*KX;Z*p~Gz*w*`jYUjqX zZCm4-g{O{fK4$dV8SlOF+l2A8{ij~O&6;4nD$IAKqSefh7N}cm`CPJQvqFhk#19#cuyTuS3~kpORHhQb~@H zg(s_lOimp6XA!R+CgWu%j`SJm&Q^0gg&H=&#G;AEOV5$npHl(TbDuWeb;9Hv4LJ?Sv=E(x<6_r^xDHa#Q(?%>TTq!fCQ~ z(^ZaLzh6eNhGc*TzPNXqOC=0k4q-VR8|EPv)AV;x&+Y=Bjub zir>dxiT!3S^WFQWQ%aaHPnEiiEC`cTc#q8GRaMwX=6OjaxwY$`LyaUbjL%rWKa(;1 zCk(<`BR{)M7z8Hb+x`O{jJlIOOuSr|qeeWM%!M6FF0LoZ8ew8X5{vaIGW#OcnOD1a z!=8#S3?>(=Pnf8G6nGwIv03=3VR^0^T|QY5wU>)^b@xx7LUUFJE5uoRo@>b5i`A5@ zC9}R_R`5ZzTSpdL!kACa`+C9%x+jwq^;?fUi?M4kndCJx@2jc`tH`Vvjhv>}$%1}0 zkYch({=FPNc5>1PcfxU=&{oWtC`V@;UyylVO}H29R__d z5i;)@v(xR-_Apt=TGeSEYwt7yMu3dH&no7KW7^8l40nN z5pOwJ1SY4hz%(E81k~IWQbXHYYVKB$+22-4?0pAJL2TxP$*Jo~7JTMGcZFmL@2G$)$bvAr;8v2kHmFV)k$Fm0r?=Wqn>k>z zGTVHF_A*tP?PO75*i^*czk|%XQ6`%vUdv zk{l!~`amT)L{@@{lly{x;n*~hBm&E$Bw@1j&8k|Tkk!HD&$Yc|)-6Un^YY(aQs9ThPiOx1;-6Cn{O930YEH{ zMnXUAG2B0lW8eNovv6Wjn5@ixvdo~W%mK0{VRAaj%6H#4on*m~IS}LbUrG2QBS{@l zCV7X8%U9u*aOtOKj{9~1*lq{&LY8_sk>JbB}gDu552FH=rsXhZ;VU?ts8aBe@ zqB%-t->U*1Kl#RsBA^o{S9+AJ4koAb1etfAS|2CL{QL3!%T;}fuyQ|RIS6dWF=+GD zc{nlq0X4^i$$~JsFo%%24ywvLO2#6pGDFF1hbb@evsv?V#1dc*p!}RXWMP;b$!xOB zBkGsz3uOLkHIPLw%oGcpRl;Ota>*P=RlGcy$j@qkay}PR!`x%4*RPNj9al;0OXn{T z?*?J=bLvW#7*$ESkwswgYwAvR?F9B;S^hVE{MHC)JE<07fUE>2OZ_HU`YF}vx5%!2 zraJvLS<`9N>Bq+N-~Pfc1|Vn-^#)dI!q@_ zeogsg5tz)eOqi&@=W{cO*v*zxL)#Z-k`Ax}GW*|El11N66<-l^!sMFCC5yu3n#m(` zUr_NDlX>g#`$v|)K2&A|ECI?zbBQeROV#VkWHrLL`OoPJS?*V=GFQopE~-wqLx=GS zYd^5xxx4tob>PA`2YB1Sruytqhf8TZF#htpyk+3#SDWY}>&|pTw3Jlt2;KhA z?Pf;Uj4jC)ZamOaV)%9n^i@x>7sn6Zb1HvzGu8^%bshJ3#dT|3kAJr|D6ZS+ms;{~ z5Jx}Unm=O(iGP5_g%#cG8EdH*3ILc>5y!?+;}jem7}7T-AD`^WE$>wolh z|ML9D&l=a!BUO86Axts~O6zJXTK|!81?* zJ%6N}lk*vz<{qK-np3GIbL2Y zAw7q8{-4v6#vj&tEaWyc_3wRQhcuTN|i_%uD;&;X9 ztJd7BzHSScmAv$}EITS9Ueu?RVM5Fr#c+pqbt8&A80$|jd!PTnwWyt^=xsKe^I26% zk+;hzF}wH@i&m4x+i1mAJVz_4;PHWrKeW=j?B=&bC)#~1n@$h&9().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 popups = new List(); + GameObject[] allPopups = GameObject.Find("Notification Panel").GetComponentsInChildren(true); + foreach (GameObject obj in allPopups) + { + popups.Add(obj.GetComponent()); + } + */ + + + + //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; + } + } diff --git a/Assets/Scripts/PopupNotification.cs b/Assets/Scripts/PopupNotification.cs new file mode 100644 index 0000000..e68f075 --- /dev/null +++ b/Assets/Scripts/PopupNotification.cs @@ -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().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 = localNotify; + + if(timer >= 3) + { + this.gameObject.SetActive(false); + active = false; + timer = 0.0f; + this.gameObject.transform.localPosition = origin; + } + + } +} diff --git a/Assets/Scripts/PopupNotification.cs.meta b/Assets/Scripts/PopupNotification.cs.meta new file mode 100644 index 0000000..2f767b1 --- /dev/null +++ b/Assets/Scripts/PopupNotification.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f65f56ebba8d5fd49ac926af557e92d7 +timeCreated: 1504554538 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: