diff --git a/MoCha/Assets/Prefabs/Progress Bar.prefab b/MoCha/Assets/Prefabs/Progress Bar.prefab new file mode 100644 index 0000000..3e61fa4 Binary files /dev/null and b/MoCha/Assets/Prefabs/Progress Bar.prefab differ diff --git a/MoCha/Assets/Prefabs/Progress Bar.prefab.meta b/MoCha/Assets/Prefabs/Progress Bar.prefab.meta new file mode 100644 index 0000000..2b39af1 --- /dev/null +++ b/MoCha/Assets/Prefabs/Progress Bar.prefab.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 441f50f7e865a4e9c937038cedf667ee +timeCreated: 1524703581 +licenseType: Free +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/MoCha/Assets/Scenes/Goals.unity b/MoCha/Assets/Scenes/MyGoals.unity similarity index 60% rename from MoCha/Assets/Scenes/Goals.unity rename to MoCha/Assets/Scenes/MyGoals.unity index 57eb13b..a2ffa52 100644 Binary files a/MoCha/Assets/Scenes/Goals.unity and b/MoCha/Assets/Scenes/MyGoals.unity differ diff --git a/MoCha/Assets/Scenes/Goals.unity.meta b/MoCha/Assets/Scenes/MyGoals.unity.meta similarity index 100% rename from MoCha/Assets/Scenes/Goals.unity.meta rename to MoCha/Assets/Scenes/MyGoals.unity.meta diff --git a/MoCha/Assets/Scripts/GetGoals.cs b/MoCha/Assets/Scripts/GetGoals.cs new file mode 100644 index 0000000..4bd0122 --- /dev/null +++ b/MoCha/Assets/Scripts/GetGoals.cs @@ -0,0 +1,174 @@ +using System; +using System.Globalization; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +//Pretty much a copy of GetData... +namespace PedometerU.Tests { + +public class GetGoals : MonoBehaviour { + + public Text goalText; + public string currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + public string goalDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + public string prefKey; + + //Progress Bar... + public float barDisplay; //current progress + private Vector2 barPos; + private Vector2 barSize = new Vector2(227,20); + + //Pedometer + private Pedometer pedometer; + int userSteps; + int userPoints; + double userDistance; + int stepsGoal = 100; + public Text stepText; + public Text pointsText; + private int savedSteps; + private int savedPoints; + + void OnStep (int steps, double distance) { + userDistance = (distance * 3.28084); + userSteps = steps + savedSteps; + PlayerPrefs.SetInt("currentSteps",userSteps); + stepText.text = userSteps.ToString (); + + userPoints = steps*5 + savedPoints; + PlayerPrefs.SetInt("totalPoints",userPoints); + pointsText.text = "Points: " + userPoints.ToString (); + } + + private void OnDisable () { + // Release the pedometer + pedometer.Dispose(); + pedometer = null; + } + + //saved value from last session loads in on START + //write usersteps + saved val to pref in ONSTEP + + void Start () { + savedSteps = PlayerPrefs.GetInt("currentSteps"); + savedPoints = PlayerPrefs.GetInt("totalPoints"); + // Create a new pedometer + pedometer = new Pedometer(OnStep); + // Reset UI + stepText.text = savedSteps.ToString (); + if(PlayerPrefs.HasKey("totalPoints")) + { + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + } + else + { + PlayerPrefs.SetInt("totalPoints", 0); + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + } + userSteps = savedSteps; + userPoints = savedPoints; + + //OnStep(savedSteps, 0); + Debug.Log(savedSteps); + + + //goalText.text = prefKey; + goalText.color = new Color(0f, 0f, 0f); + + barPos = new Vector2(goalText.transform.position.x - 105, goalText.transform.position.y - 30); + + currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + goalDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + Debug.Log(goalDayStr); + + if(prefKey == "daily") + savePersistantGoalDate("daily"); + } + + + //Texture the progress bar using these parameters + public Texture2D emptyTex; + public Texture2D fullTex; + + //on a button press? begin a goal? + void startGoal() + { + } + + void savePersistantGoalDate(string key) + { + PlayerPrefs.SetString(key, goalDayStr); + } + + bool checkNewDay(string key) + { + string checkDay = PlayerPrefs.GetString(key); + if(checkDay == currentDayStr) + return false; + return true; + } + + void OnGUI() { + //draw the background: + GUI.BeginGroup(new Rect(barPos.x, barPos.y, barSize.x, barSize.y)); + GUI.Box(new Rect(0,0, barSize.x, barSize.y), emptyTex); + + //draw the filled-in part: + GUI.BeginGroup(new Rect(0,0, barSize.x * barDisplay, barSize.y)); + GUI.Box(new Rect(0,0, barSize.x, barSize.y), fullTex); + GUI.EndGroup(); + GUI.EndGroup(); + } + + void Update() { + //needs current points counting toward this goal (daily?) + //needs the total required points for this goal + currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + //barDisplay = Time.time*0.05f; //put actual progress here (current/total) + barDisplay = (float)userSteps/(float)stepsGoal; + + //failed to complete goal + if(currentDayStr != goalDayStr) + { + Debug.Log(currentDayStr); + Debug.Log(goalDayStr); + + Debug.Log("DAY HAS PASSED!!"); + + //make it so user dismisses the goal instead! + //Destroy(this); + //destroy the goal and set a new one? + + } + //goal complete + if(barDisplay >= 1.0f) + { + Debug.Log("Goal complete! +100pts!"); + userSteps = 0; + PlayerPrefs.SetInt("currentSteps", userSteps); + savedSteps = 0; + //OnStep(0,0); + stepText.text = userSteps.ToString (); + + //destroy the goal and set a new one? + savedPoints += stepsGoal*10; + PlayerPrefs.SetInt("totalPoints", savedPoints); + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + } + + //only applies if "daily" goal + if(prefKey == "daily") + { + if(checkNewDay(prefKey)) + { + Debug.Log("You failed your goal"); //not true if progress is actually complete! + goalDayStr = currentDayStr; + savePersistantGoalDate("daily"); + } + } + } +} + +} diff --git a/MoCha/Assets/Scripts/Goals.cs.meta b/MoCha/Assets/Scripts/GetGoals.cs.meta similarity index 77% rename from MoCha/Assets/Scripts/Goals.cs.meta rename to MoCha/Assets/Scripts/GetGoals.cs.meta index dbac0c0..d0d081d 100644 --- a/MoCha/Assets/Scripts/Goals.cs.meta +++ b/MoCha/Assets/Scripts/GetGoals.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 5f138b644c262457385474b2256308a7 -timeCreated: 1524165858 +guid: 040f99a891f1b4fed92f5a44e33fc47f +timeCreated: 1524166714 licenseType: Free MonoImporter: externalObjects: {} diff --git a/MoCha/Assets/Scripts/Goals.cs b/MoCha/Assets/Scripts/Goals.cs deleted file mode 100644 index 7273f2d..0000000 --- a/MoCha/Assets/Scripts/Goals.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Goals : MonoBehaviour { - - // Use this for initialization - void Start () { - - } - - // Update is called once per frame - void Update () { - - } -} diff --git a/MoCha/ProjectSettings/ProjectVersion.txt b/MoCha/ProjectSettings/ProjectVersion.txt index 27997c5..ac7d214 100644 --- a/MoCha/ProjectSettings/ProjectVersion.txt +++ b/MoCha/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2017.3.1f1 +m_EditorVersion: 2017.4.0f1