diff --git a/MoCha/Assets/Scenes/Goals.unity b/MoCha/Assets/Scenes/Goals.unity index 94e94ab..fa1a899 100644 Binary files a/MoCha/Assets/Scenes/Goals.unity and b/MoCha/Assets/Scenes/Goals.unity differ diff --git a/MoCha/Assets/Scripts/GetGoals.cs b/MoCha/Assets/Scripts/GetGoals.cs index 6044ca4..31fea39 100644 --- a/MoCha/Assets/Scripts/GetGoals.cs +++ b/MoCha/Assets/Scripts/GetGoals.cs @@ -9,178 +9,203 @@ using System.Text; //Pretty much a copy of GetData... namespace PedometerU.Tests { -public class GetGoals : MonoBehaviour { - - public Image background; - private string[] items = { "circle_eye", "crazy_hair", "circle_head", "gap_mouth", "pig_nose", "crown" }; + public class GetGoals : MonoBehaviour { + + public Image background; + public Image fill; + private string[] items = { "circle_eye", "crazy_hair", "circle_head", "gap_mouth", "pig_nose", "crown" }; - 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; + 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(725, 39); + //Progress Bar... + public float barDisplay; //current progress + private Vector2 barPos; + private Vector2 barSize = new Vector2(5000, 10); - //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; + //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 () + "/" + stepsGoal.ToString(); + void OnStep (int steps, double distance) { + userDistance = (distance * 3.28084); + userSteps = steps + savedSteps; + PlayerPrefs.SetInt("currentSteps",userSteps); + stepText.text = userSteps.ToString () + "/" + stepsGoal.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 () + "/" + stepsGoal.ToString(); - if(PlayerPrefs.HasKey("totalPoints")) - { - pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + userPoints = steps*5 + savedPoints; + PlayerPrefs.SetInt("totalPoints",userPoints); + pointsText.text = "Points: " + userPoints.ToString (); } - else - { - PlayerPrefs.SetInt("totalPoints", 0); - pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + + private void OnDisable () { + // Release the pedometer + pedometer.Dispose(); + pedometer = null; } - userSteps = savedSteps; - userPoints = savedPoints; - //OnStep(savedSteps, 0); - Debug.Log(savedSteps); + //saved value from last session loads in on START + //write usersteps + saved val to pref in ONSTEP - - //goalText.text = prefKey; - goalText.color = new Color(0f, 0f, 0f); - Debug.Log(background.rectTransform.anchoredPosition.x.ToString() + " " + background.rectTransform.anchoredPosition.y.ToString()); - - barPos = new Vector2(background.transform.position.x, 2135 - background.transform.position.y); - - 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) + void Start () { - Debug.Log(currentDayStr); + fill.type = Image.Type.Filled; + fill.fillMethod = Image.FillMethod.Horizontal; + fill.type = Image.Type.Sliced; + savedSteps = PlayerPrefs.GetInt("currentSteps"); + savedPoints = PlayerPrefs.GetInt("totalPoints"); + // Create a new pedometer + pedometer = new Pedometer(OnStep); + // Reset UI + stepText.text = savedSteps.ToString () + "/" + stepsGoal.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); + Debug.Log(background.rectTransform.anchoredPosition.x.ToString() + " " + background.rectTransform.anchoredPosition.y.ToString()); + + barPos = new Vector2(background.transform.position.x, 1895 - background.transform.position.y); + + currentDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); + goalDayStr = System.DateTime.Now.ToString("MM/dd/yyyy"); 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 () + "/" + stepsGoal.ToString(); - - //destroy the goal and set a new one? - savedPoints += stepsGoal*10; - PlayerPrefs.SetInt("totalPoints", savedPoints); - pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); - - //Random item - StringBuilder invList = new StringBuilder (); - invList.Append(PlayerPrefs.GetString ("inventory")); - invList.Append(items[(int)Math.Round(UnityEngine.Random.value*6.0f)]).Append(" "); - PlayerPrefs.SetString ("inventory", invList.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; + 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() { + Debug.Log (background.rectTransform.rect.width); + barSize = new Vector2 (background.rectTransform.rect.width, background.rectTransform.rect.height); + //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(); + } + */ + + // Was used for testing. + private float tempcounter = 0.1f; + + public void updateProgressBar() + { + barSize.x = background.rectTransform.rect.width; + barSize.y = background.rectTransform.rect.height; + + tempcounter += 0.0005f; + + // resize the fill. + RectTransform temp = fill.rectTransform; + temp.sizeDelta = new Vector2 (barSize.x * tempcounter, barSize.y); + temp.anchoredPosition = new Vector2 (temp.rect.width * 0.5f - (barSize.x * 0.5f),0); + } + + void Update() + { + updateProgressBar (); + //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 () + "/" + stepsGoal.ToString(); + + //destroy the goal and set a new one? + savedPoints += stepsGoal*10; + PlayerPrefs.SetInt("totalPoints", savedPoints); + pointsText.text = "Points: " + PlayerPrefs.GetInt("totalPoints").ToString (); + + //Random item + StringBuilder invList = new StringBuilder (); + invList.Append(PlayerPrefs.GetString ("inventory")); + invList.Append(items[(int)Math.Round(UnityEngine.Random.value*6.0f)]).Append(" "); + PlayerPrefs.SetString ("inventory", invList.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/ProjectSettings/EditorBuildSettings.asset b/MoCha/ProjectSettings/EditorBuildSettings.asset index e37f067..bac8800 100644 Binary files a/MoCha/ProjectSettings/EditorBuildSettings.asset and b/MoCha/ProjectSettings/EditorBuildSettings.asset differ