From a1934f0e844a327ce0f4703a22fd174e9ecdc1a0 Mon Sep 17 00:00:00 2001 From: shadow8t4 Date: Fri, 20 Apr 2018 12:22:14 -0500 Subject: [PATCH] Replaced GetLeaderboard with LeaderboardManager. Manages all button functions and leaderboard stuff. --- MoCha/Assets/Scenes/Leaderboard.unity | Bin 38332 -> 42208 bytes MoCha/Assets/Scripts/GetLeaderboard.cs | 40 ------ MoCha/Assets/Scripts/LeaderboardManager.cs | 123 ++++++++++++++++++ ...ard.cs.meta => LeaderboardManager.cs.meta} | 4 +- MoCha/Assets/Scripts/MochaParser.cs | 27 ++++ 5 files changed, 152 insertions(+), 42 deletions(-) delete mode 100644 MoCha/Assets/Scripts/GetLeaderboard.cs create mode 100644 MoCha/Assets/Scripts/LeaderboardManager.cs rename MoCha/Assets/Scripts/{GetLeaderboard.cs.meta => LeaderboardManager.cs.meta} (77%) diff --git a/MoCha/Assets/Scenes/Leaderboard.unity b/MoCha/Assets/Scenes/Leaderboard.unity index 5f69d20c5cca9d0e3940d14d8f3794f255f34b82..c1830d151f28e84ccec2158b060a0aa271547ce7 100644 GIT binary patch delta 2238 zcmcJQT}&KR6vxjjv$9H&DP0!I=VD7rE0S$U3{6O-e3bQ}mZ(({sR7N1R7$tq#V%Q3 zcLkPU%ZEK|#kW>{FwqC>nCL^T*cgM_T1ZU92ICrP!jmB;YE6uK&dj|#(E6w(mpk`2 z=bn#y|7Z5{yN=Ws4h^8+0C+nE09)yK@qKM+ztPw3&oNf^&y*M+zf`7H^zC{$Z=mhh zTP?3thM&pY@!kCD>6MN@ep*es_g!E8VCY@tz%UOita z!TO{5+e>M!K#Yb0Y;#c9l$kbOw#h8FZ1BgL-I=HKlYM$HgqMS*j(RXwgG);EO1sX{ zV2+%}X;x``B3NxU6+&w#jd{UR#9R(5mrn&-%K^|70D1*i1-nfLQAz7e8pAt&*+mn0 z=|Bc)<`^Rui^2thvjjNEs4%R}wH+n|^KY{q{@wKZ9x{gjv6D2jLuj_x8Zqfl5iI5g zsGGh{wO|XxW@t@? z!wtbY@+nDL-$x_ww^t9*1dGIE(w?Y*{sKGee8E!0d?M=t!L&mA6bf$~JIoGiiOH)g z5^SDWE4`z`g<`?9A}bj>TqqGN8YB1w0Xj7(6>yoDy!Xf(iO1;`#ER{^8xRaiY`a0h z-XW$6eGCaUS7u*lRIqukSxD3r$n-;RKE*-S2+B%c6D&|}2RSEL0ZCSh5C!w@w1dnD z=Buzzt9UOw%`w`Dtz`g^B;bW)&CfxG^}7L%)6DnYm9*F#u@tRYnB9U+lk8&He>$Nx z>+qy!yryw1I6iUwQv5vTgg?aZ!!G0V@J)x}FfK;Eb>f9cE~dh&F&Y0W1J{RKb+WU_ zWx7-NS#}aX%TD9CE*h<;^q0F&^aXJ}=2y90u`XVP>t|hg9w7?eC9_sh8S!jq@(BN< z8@~#$egI&h0l?pY+DIj*WIB4QXF`d}(28ZAE|otv0TH^jvrCung&EMD!jazYP=9l8 zS9h;oefYU!`tzYG?*=AK(=+J;PHf(XW0Rv+RqrJ}!{sSa;!@a)zHt?&M?b{8I7{HJ;A~%KyLv$&v74da7cJ}nN=%J?0 zP$&HwZ~ps_T7|1>=nI8#YI4xfrhHDN8xPD(W%I8Z|Cv9jxHMCyZB&A(x5Z&M`V)Jw aFuBFC(1`Ox9{eGki>=9>I7=gzEcgdpR0>!C delta 974 zcmYk4ZAg<*6vxk<4oA$KZup>^({z%F+AJx;SiVFWp&Mw~mx8j{DxA7a*g)BQ$&^W& z$2UsEm-Qip(w-oYNfY|8%zTN62m=iQKc)0Z`eNtNEB3(Qf6niod(OS*KI5j9{GZS6Ex@U8@e$Kf;{A>yjHm4c0 z)f-zn|H3Osr_D7Yt1pqsGsr!Ivzh0N+iDcj-HZ`V4`kBC`lA4fUx4GvLdFlNT%&m*c#lsL|!B zvzx$WyXU;U=fnO&rPb{+!BwZ#VZT*tbwWjTorA<-ZD_PQU63QTIaistE$z>7>I2hs z-e%HBvUbjl(E!5~%gG*c7AB@*``7E>?AuWQX#i1VA1}Q=M*lSQf=p z0zU0CFN8Rx8nDC@w~6&rOajZCb<&g7Q+$LharwTP1a^qEkV;LoocZWEEfmud=r~&; zChaAGB+d%r04l%>Kni*ehbfSL3F*eY*%Q}D;JW&-$rH}ji3NCGA7`B!Vl)|A0_4mX ze>kmv&I*LXY3WLHp-O6EBe)p>KsBId;I~s^7A-(6sdT%$oP~%@Q!E|O##y}%pc`A< z9jZ6F>i6!2D!MxfFk z#FRj$^d>Mi4=`8^up#dHZ?Ha}LR{?G-qWo9MMkL_4EvS1*{;FhP#ziw4U~gxPs56X z0ph%eYCluU28(dyQ68#BHK-feVSt5QL%8jU6jh@}IkREmWDk?!kI7`F$A*DK%nxW~ l8^yTdjmIrd9Qp!=6zN0 players; + private int currentPage; + + void Start() + { + // Eventually get data on start. + } + + public void CallGetData() + { + DisplayAllSeparated(request, Usernames, Scores); + } + + public void DisplayAllSeparated(string request, Text Usernames, Text Scores) + { + MochaParser parser = new MochaParser (); + + StartCoroutine (parser.GrabLeaderboard(request, Usernames, Scores, this)); + } + + public void setPlayers(List p) + { + players = p; + } + + public void setInitialBoard(Text u, Text s) + { + currentPage = 1; + Usernames = u; + Scores = s; + + string usernameOutput = "Username"; + string scoreOutput = "Score"; + + /* + * Just an extra step in case for whatever reason + * the leaderboard length is less than 10. + * */ + + int boardlength = players.Count; + + if (boardlength > 10) + boardlength = 10; + + for(int i = 0; i < boardlength; ++i) + { + usernameOutput += "\n" + players[i].username; + scoreOutput += "\n" + players [i].score; + } + + Usernames.text = usernameOutput; + Scores.text = scoreOutput; + } + + public void nextPage() + { + int currentIndex = currentPage * 10; + int test = players.Count - currentIndex; + + if (test < 0) + { + return; + } + + else + { + string usernameOutput = "Username"; + string scoreOutput = "Score"; + int pagelength = 10; + + if (test < pagelength) + { + pagelength = test; + } + + for (int i = currentIndex; i < (currentIndex + pagelength); ++i) + { + usernameOutput += "\n" + players[i].username; + scoreOutput += "\n" + players [i].score; + } + + Usernames.text = usernameOutput; + Scores.text = scoreOutput; + currentPage += 1; + } + } + + public void previousPage() + { + if (currentPage <= 1) + { + return; + } + + else + { + currentPage -= 1; + int currentIndex = currentPage * 10; + string usernameOutput = "Username"; + string scoreOutput = "Score"; + int pagelength = 10; + + for (int i = (currentIndex - pagelength); i < currentIndex; ++i) { + usernameOutput += "\n" + players [i].username; + scoreOutput += "\n" + players [i].score; + } + + Usernames.text = usernameOutput; + Scores.text = scoreOutput; + } + } +} diff --git a/MoCha/Assets/Scripts/GetLeaderboard.cs.meta b/MoCha/Assets/Scripts/LeaderboardManager.cs.meta similarity index 77% rename from MoCha/Assets/Scripts/GetLeaderboard.cs.meta rename to MoCha/Assets/Scripts/LeaderboardManager.cs.meta index c3cdcc8..60b63f9 100644 --- a/MoCha/Assets/Scripts/GetLeaderboard.cs.meta +++ b/MoCha/Assets/Scripts/LeaderboardManager.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 4bc1364c87acb4744a9444f492464508 -timeCreated: 1524103750 +guid: 5456004561983334783798d8d62b1869 +timeCreated: 1524239051 licenseType: Free MonoImporter: externalObjects: {} diff --git a/MoCha/Assets/Scripts/MochaParser.cs b/MoCha/Assets/Scripts/MochaParser.cs index e95db43..2534190 100644 --- a/MoCha/Assets/Scripts/MochaParser.cs +++ b/MoCha/Assets/Scripts/MochaParser.cs @@ -179,5 +179,32 @@ public class MochaParser usernames.text = OutputUsernames (); scores.text = OutputScores (); } + + public IEnumerator GrabLeaderboard (string request, Text usernames, Text scores, LeaderboardManager lbm) + { + + // Remove this later. + MakePlayers(); + + lbm.setPlayers (players); + lbm.setInitialBoard (usernames, scores); + + // Move this back to the top of this function. + yield return MakeRequest (request); + } + + /* + * Temporary hardcoded players. + * */ + public void MakePlayers() + { + for(int i = 0; i < 69; i++) + { + PlayerInfo temp = new PlayerInfo (); + temp.username = "A test!" + (i + 1); + temp.score = i * 69; + players.Add (temp); + } + } }