From 74e79f6ec39c7d3a20c73d84f0f9c8e92182abf3 Mon Sep 17 00:00:00 2001 From: Naliwe GS Date: Tue, 25 Oct 2016 23:09:56 +0200 Subject: [PATCH] Score --- Assets/Images/BG.png.meta | 5 +++++ Assets/Scenes/Menu.unity | Bin 32808 -> 0 bytes Assets/Scripts/API/Score.cs | 13 ++++++++++++- Assets/Scripts/API/Server.cs | 48 +++++++++++++++++++++++++++++------------------- Assets/Scripts/Player.cs | 3 +++ Assets/Scripts/SimpleEnnemy.cs | 2 +- Assets/Scripts/Spawner.cs | 4 ++-- Assets/Scripts/UIController.cs | 13 +++++++++++-- ProjectSettings/EditorSettings.asset | Bin 4212 -> 0 bytes ProjectSettings/GraphicsSettings.asset | Bin 4392 -> 0 bytes ProjectSettings/ProjectSettings.asset | Bin 45109 -> 0 bytes 11 files changed, 63 insertions(+), 25 deletions(-) diff --git a/Assets/Images/BG.png.meta b/Assets/Images/BG.png.meta index 712cfdc..cc8c413 100644 --- a/Assets/Images/BG.png.meta +++ b/Assets/Images/BG.png.meta @@ -54,6 +54,11 @@ TextureImporter: textureFormat: -3 compressionQuality: 50 allowsAlphaSplitting: 0 + - buildTarget: Android + maxTextureSize: 8192 + textureFormat: -2 + compressionQuality: 50 + allowsAlphaSplitting: 0 spriteSheet: serializedVersion: 2 sprites: [] diff --git a/Assets/Scenes/Menu.unity b/Assets/Scenes/Menu.unity index c24b0f3..b774457 100644 Binary files a/Assets/Scenes/Menu.unity and b/Assets/Scenes/Menu.unity differ diff --git a/Assets/Scripts/API/Score.cs b/Assets/Scripts/API/Score.cs index 31f572f..10341f6 100644 --- a/Assets/Scripts/API/Score.cs +++ b/Assets/Scripts/API/Score.cs @@ -1,15 +1,26 @@ using System; +using UnityEngine; namespace Assets.Scripts.API { - [Serializable] + [System.Serializable] public class Score { public string playerName; public string team; public int score; public DateTime date; + public string _id; + public static Score CreateFromJson(string json) + { + return JsonUtility.FromJson(json); + } + + public override string ToString() + { + return string.Format("PlayerName: {0}, Team: {1}, Score: {2}, Date: {3}, Id: {4}", playerName, team, score, date, _id); + } } } diff --git a/Assets/Scripts/API/Server.cs b/Assets/Scripts/API/Server.cs index f7e52f5..721ce88 100644 --- a/Assets/Scripts/API/Server.cs +++ b/Assets/Scripts/API/Server.cs @@ -2,6 +2,7 @@ using UnityEngine; using System.Collections; using System.Collections.Generic; +using System.Linq; using UnityEngine.Networking; namespace Assets.Scripts.API @@ -23,32 +24,41 @@ namespace Assets.Scripts.API Debug.LogError("Error:" + www.error); return null; } - else { - Debug.Log("Got response: " + www.downloadHandler.text); - ScoresRes res = JsonUtility.FromJson(www.downloadHandler.text); - Debug.Log("Got scores: " + res.scores); - - string mockText = "{\"status\":\"ok\",\"scores\":[" + - "{\"playerName\":\"John Smith\",\"team\":null,\"score\":10,\"date\":\"2016-10-23T12:42:54.810Z\",\"_id\":\"d21b623e9b394993be3224de89099194\"}," + - "{\"playerName\":\"Randy\",\"team\":\"iGEM Headquarters\",\"score\":42,\"date\":\"2016-10-23T12:45:45.774Z\",\"_id\":\"a3a66de22b30450492f8f6b1bf178123\"}" + - "]}"; - ScoresRes mock = JsonUtility.FromJson(mockText); //TODO: Why does JsonUtility fail to deserialize? /o\ - Debug.Log("Mock scores: " + mock); - return res.scores; - } + Debug.Log("Got response: " + www.downloadHandler.text); + ScoresRes res = JsonUtility.FromJson(www.downloadHandler.text); + //Debug.Log("Got scores: " + res.scores); + string status = "{\"status\":\"ok\"}"; + string mockText = "{\"scores\":[{\"playerName\":\"John Smith\",\"team\":null,\"score\":10,\"date\":\"2016-10-23T12:42:54.810Z\",\"_id\":\"d21b623e9b394993be3224de89099194\"}," + + "{\"playerName\":\"Randy\",\"team\":\"iGEM Headquarters\",\"score\":42,\"date\":\"2016-10-23T12:45:45.774Z\",\"_id\":\"a3a66de22b30450492f8f6b1bf178123\"}" + + "]}"; + ScoresRes mock = ScoresRes.CreateFromJson(status, mockText); //TODO: Why does JsonUtility fail to deserialize? /o\ + Debug.Log("Mock scores: " + mock); + return res.scores; } - [Serializable] - private class ScoresRes { + [System.Serializable] + public class ScoresRes { public string status { get; set;} public List scores { get; set;} public ScoresRes() {} - public ScoresRes(string status, List scores) { - this.scores = scores; - this.status = status; - } + public static ScoresRes CreateFromJson(string status, string scores) + { + return new ScoresRes + { + status = status, + scores = JsonUtility.FromJson>(scores) + }; + } + + public override string ToString() + { + var s = (from e in scores + where e != null + select e.ToString()).ToArray(); + return "Status: " + status + "Scores:\n" + string.Join(",", s); + } } } } diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player.cs index 5ecbc78..4e187f7 100644 --- a/Assets/Scripts/Player.cs +++ b/Assets/Scripts/Player.cs @@ -30,7 +30,10 @@ namespace Assets.Scripts Blink(); if (Battery < 12) + { + PlayerPrefs.SetInt("highscore", Score); SceneManager.LoadScene("GameOver"); + } if (Progression == 25) SceneManager.LoadScene("Win"); } diff --git a/Assets/Scripts/SimpleEnnemy.cs b/Assets/Scripts/SimpleEnnemy.cs index 8545170..7ae2109 100644 --- a/Assets/Scripts/SimpleEnnemy.cs +++ b/Assets/Scripts/SimpleEnnemy.cs @@ -33,7 +33,7 @@ public class SimpleEnnemy : MonoBehaviour _player.GetComponent().Battery -= 8; _player.GetComponent().SetBlinking(); - //GetScores(); TODO: Successfully get scores from API + GetScores(); // TODO: Successfully get scores from API } void GetScores() { diff --git a/Assets/Scripts/Spawner.cs b/Assets/Scripts/Spawner.cs index fee3924..15278f5 100644 --- a/Assets/Scripts/Spawner.cs +++ b/Assets/Scripts/Spawner.cs @@ -34,10 +34,10 @@ public class Spawner : MonoBehaviour var r = _rand.Next(100); if (r < 20) - Instantiate(Toluen, new Vector3(_rightBorder, _rand.Next(1, 9), 0), Quaternion.identity); + Instantiate(StaticEnemy, new Vector3(_rightBorder, _rand.Next(1, 9), 0), Quaternion.identity); else if (r < 50) Instantiate(BasicEnemy, new Vector3(_rightBorder, _rand.Next(1, 9), 0), Quaternion.identity); else - Instantiate(StaticEnemy, new Vector3(_rightBorder, _rand.Next(1, 9), 0), Quaternion.identity); + Instantiate(Toluen, new Vector3(_rightBorder, _rand.Next(1, 9), 0), Quaternion.identity); } } diff --git a/Assets/Scripts/UIController.cs b/Assets/Scripts/UIController.cs index 127122f..f84acc6 100644 --- a/Assets/Scripts/UIController.cs +++ b/Assets/Scripts/UIController.cs @@ -20,6 +20,7 @@ public class UIController : MonoBehaviour public List BatteryImages; private Player _player; + private int _oldHs; void Start () { @@ -28,20 +29,28 @@ public class UIController : MonoBehaviour Vial1.enabled = false; Vial2.enabled = false; Vial3.enabled = false; + _oldHs = PlayerPrefs.GetInt("highscore"); } void Update () { Distance.text = (int.Parse(Distance.text) + 1).ToString(); - int score = _player.Score + int.Parse(Distance.text) / 5; - Score.text = (_player.Score + score).ToString(); + _player.Score += 1; + Score.text = _player.Score.ToString(); NbVials.text = _player.NbVials.ToString(); DisplayBattery(); HandlePowerUps(); + HandleScore(); } + private void HandleScore() + { + if (_oldHs < _player.Score) + HighScore.enabled = true; + } + private void HandlePowerUps() { if (_player.NbVials >= 5) diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset index 44b6263..94a980c 100644 Binary files a/ProjectSettings/EditorSettings.asset and b/ProjectSettings/EditorSettings.asset differ diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index c279c22..e42ddc7 100644 Binary files a/ProjectSettings/GraphicsSettings.asset and b/ProjectSettings/GraphicsSettings.asset differ diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index b0c8825..6c41450 100644 Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ -- libgit2 0.27.0