This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
mochapine64backup/MoCha/Assets/Scripts/GetGoals.cs

140 lines
3.2 KiB
C#
Raw Normal View History

using System;
using System.Globalization;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//Pretty much a copy of GetData...
2018-04-26 00:18:01 -05:00
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;
2018-04-25 23:16:41 -05:00
public float goalValue;
//Progress Bar...
public float barDisplay; //current progress
2018-04-26 00:18:01 -05:00
private Vector2 barPos;
2018-04-25 23:16:41 -05:00
Vector2 barSize = new Vector2(227,20);
2018-04-26 00:18:01 -05:00
//Pedometer
private Pedometer pedometer;
int userSteps;
double userDistance;
int totalSteps = 30;
2018-04-26 00:55:51 -05:00
public Text stepText;
2018-04-26 00:18:01 -05:00
void OnStep (int steps, double distance) {
userSteps = steps;
2018-04-26 00:55:51 -05:00
stepText.text = steps.ToString ();
2018-04-26 00:18:01 -05:00
userDistance = (distance * 3.28084);
}
private void OnDisable () {
// Release the pedometer
pedometer.Dispose();
pedometer = null;
}
void Start () {
2018-04-26 00:18:01 -05:00
// Create a new pedometer
pedometer = new Pedometer(OnStep);
// Reset UI
OnStep(0, 0);
2018-04-25 23:16:41 -05:00
//goalText.text = prefKey;
goalText.color = new Color(0f, 0f, 0f);
2018-04-26 00:18:01 -05:00
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);
2018-04-25 23:16:41 -05:00
Debug.Log("hauaouou");
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");
2018-04-26 00:18:01 -05:00
//barDisplay = Time.time*0.05f; //put actual progress here (current/total)
2018-04-26 00:55:51 -05:00
barDisplay = (float)userSteps/(float)totalSteps;
//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!");
//destroy the goal and set a new one?
}
//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");
}
}
}
}
2018-04-26 00:18:01 -05:00
}