public void Init() { Initialize = false; CurrentDate = UICalendar.GetComponent <UI_Calendar> ().SelectedDay; StartWorkoutButton.SetActive(false); if (CurrentDate.Year == System.DateTime.Now.Year && CurrentDate.Month == System.DateTime.Now.Month && CurrentDate.Day == System.DateTime.Now.Day) { StartWorkoutButton.SetActive(true); } SelectedWorkout = 0; DayIndex = GetDayIndex(CurrentDate); UserExerciseData = UserBlobManager.GetComponent <UserBlobManager>().UserExerciseData; UserWorkoutData = UserBlobManager.GetComponent <UserBlobManager>().UserWorkoutData; UserDayData = UserBlobManager.GetComponent <UserBlobManager>().UserDayData; string CurrentDateString = (MonthIntToString(CurrentDate.Month)) + " " + CurrentDate.Day.ToString() + ", " + CurrentDate.Year.ToString(); DateText.GetComponent <Text> ().text = CurrentDateString; ClearScrollList(); PopulateScrollList(); if (UserDayData.Day[DayIndex].DayWorkoutArray.Length > 5) { SetScrollRectPositionFromIntWithOffset(0, 2.0, 200, UserDayData.Day[DayIndex].DayWorkoutArray.Length, WorkoutContentPanel); } else { WorkoutContentPanel.localPosition = new Vector3(0, 0, 0); } }
IEnumerator UploadWorkoutCompleteFile(string ScreenName, DayWorkoutData CompletedWorkout, System.DateTime myDate) { string formText = ""; string URL = UserBlobManager.GetComponent <UserBlobManager>().ServerURL + "uw.php"; string hash = UserBlobManager.GetComponent <UserBlobManager>().ServerHash; string Action = "get_workout_complete_data"; WWWForm form = new WWWForm(); form.AddField("action", Action); form.AddField("myform_screenname", ScreenName); form.AddField("myform_hash", hash); WWW w = new WWW(URL, form); yield return(w); formText = w.text.ToString(); print(formText); if (w.error != null) { print(w.error); } else { if (formText.Contains("HASH code is different from your app")) { print("Can't connect"); } else { if (!formText.Contains("Cant Find Workout Complete Data") && formText != "\r\n") { // merge file print("Merge Upload File"); StartCoroutine(MergeDayFile(ScreenName, formText, myDate)); } else { // serialize SaveDayData UserDayData = new SaveDayData(); AddWorkoutToDayData(UserDayData, myDate); string Data = SerializeObject(UserDayData, "SaveDayData"); int index = Data.IndexOf(System.Environment.NewLine); Data = Data.Substring(index + System.Environment.NewLine.Length); // upload file print("Upload File"); StartCoroutine(UploadFile(ScreenName, Data)); } } } w.Dispose(); }
public void LoadDayData() { _data = LoadXML(_FileLocation + "/" + _DayDataFileName); if (_data.ToString() != "") { /* * myDayData = (SaveDayData)DeserializeObject(_data, "SaveDayData"); * * for(var i = 0; i < myDayData.UserDayData.Count; i++) * { * UserDayData.Add(myDayData.UserDayData[i]); * } */ UserDayData = (SaveDayData)DeserializeObject(_data, "SaveDayData"); } }
public void RemoveOldCompleteWorkouts(SaveDayData UserDayData) { System.DateTime Today = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day); //System.DateTime Today = new System.DateTime(2016, 2, 9); System.DateTime PrevSunday = Today.AddDays(-1 * (int)Today.DayOfWeek); for (int i = 0; i < UserDayData.Day.Length; i++) { System.DateTime CurrentUserDay = new System.DateTime(UserDayData.Day[i].Day.Year, UserDayData.Day[i].Day.Month, UserDayData.Day[i].Day.Day); CurrentUserDay = CurrentUserDay.AddDays(-1 * (int)CurrentUserDay.DayOfWeek); int result = System.DateTime.Compare(PrevSunday, CurrentUserDay); if (result > 0) { print("old day"); UserDayData.RemoveAt(i); } } }
IEnumerator MergeDayFile(string ScreenName, string DownloadString, System.DateTime myDate) { // remove old data string URL = UserBlobManager.GetComponent <UserBlobManager>().ServerURL + "uw.php"; string hash = UserBlobManager.GetComponent <UserBlobManager>().ServerHash; string Action = "remove_workout_complete_data"; WWWForm form = new WWWForm(); form.AddField("myform_hash", hash); form.AddField("action", Action); form.AddField("myform_screenname", ScreenName); WWW w = new WWW(URL, form); yield return(w); if (w.error != null) { print(w.error); } else { // deserialize the downloaded day data SaveDayData tempDayData = new SaveDayData(); tempDayData = (SaveDayData)DeserializeObject(DownloadString, "SaveDayData"); // check for workouts that are more than a week old? RemoveOldCompleteWorkouts(tempDayData); // add the workout to the day data AddWorkoutToDayData(tempDayData, myDate); // upload file string Data = SerializeObject(tempDayData, "SaveDayData"); int index = Data.IndexOf(System.Environment.NewLine); Data = Data.Substring(index + System.Environment.NewLine.Length); StartCoroutine(UploadFile(ScreenName, Data)); } w.Dispose(); }
public void DeleteDayWorkout() { int myIndex = SelectedWorkout; if (UserBlobManager.GetComponent <UserBlobManager> ().UserDayData.Day[DayIndex].DayWorkoutArray.Length > 0) { UserBlobManager.GetComponent <UserBlobManager> ().UserDayData.Day[DayIndex].RemoveAt(myIndex); // UserBlobManager.GetComponent<UserBlobManager> ().UserDayData.Day[DayIndex].DayWorkoutArray.TrimExcess(); } // make sure myIndex is not greater than the number of entries in the list if (myIndex >= UserDayData.Day[DayIndex].DayWorkoutArray.Length) { myIndex = UserDayData.Day[DayIndex].DayWorkoutArray.Length - 1; if (myIndex < 0) { myIndex = 0; } } // remove day data if there are no workouts on that day if (UserDayData.Day[DayIndex].DayWorkoutArray.Length == 0) { // don't delete the first day entry if (DayIndex != 0) { UserBlobManager.GetComponent <UserBlobManager> ().UserDayData.RemoveAt(DayIndex); // UserBlobManager.GetComponent<UserBlobManager> ().UserDayData.TrimExcess(); DayIndex = 0; } } UserDayData = UserBlobManager.GetComponent <UserBlobManager>().UserDayData; UserBlobManager.GetComponent <UserBlobManager> ().SaveDay(); SelectedWorkout = myIndex; ClearScrollList(); PopulateScrollList(); }
public void CalculateTotalWorkoutScore(string DownloadString, int FriendIndex) { int TotalWorkoutScore = 0; int DayWorkoutScore = 0; // deserialize the day data SaveDayData tempDayData = new SaveDayData(); tempDayData = (SaveDayData)DeserializeObject(DownloadString, "SaveDayData"); // add up the score for (int d = 0; d < tempDayData.Day.Length; d++) { for (int i = 0; i < tempDayData.Day[d].DayWorkoutArray.Length; i++) { //only add the score if its less than a week from next sunday System.DateTime Today = new System.DateTime(System.DateTime.Now.Year, System.DateTime.Now.Month, System.DateTime.Now.Day); System.DateTime PrevSunday = Today.AddDays(-1 * (int)Today.DayOfWeek); int result = System.DateTime.Compare(PrevSunday, tempDayData.Day[d].Day); if (result <= 0) { TotalWorkoutScore += tempDayData.Day[d].DayWorkoutArray[i].WorkoutScore; } } // calculate day workout score for today if (tempDayData.Day[d].Day.Day == System.DateTime.Now.Day) { for (int i = 0; i < tempDayData.Day[d].DayWorkoutArray.Length; i++) { DayWorkoutScore += tempDayData.Day[d].DayWorkoutArray[i].WorkoutScore; } } } FriendTotalWorkoutScore[FriendIndex] = TotalWorkoutScore; FriendDayWorkoutScore[FriendIndex] = DayWorkoutScore; DownloadComplete = true; }
public void AddWorkoutToDayData(SaveDayData myDayData, System.DateTime myDate) { DayWorkoutData tempDayWorkoutData = new DayWorkoutData(); tempDayWorkoutData.WorkoutName = CurrentWorkoutName; tempDayWorkoutData.WorkoutCompleted = true; tempDayWorkoutData.CompletedDateTime = new System.DateTime(myDate.Year, myDate.Month, myDate.Day); tempDayWorkoutData.TotalWorkoutTime = 0; tempDayWorkoutData.TotalWorkoutWeight = 0; tempDayWorkoutData.WorkoutScore = WorkoutScore; // need to find the day first, and if it exists add the data System.DateTime Today = new System.DateTime(myDate.Year, myDate.Month, myDate.Day); int DayIndex = -1; int NameIndex = -1; for (int index = 0; index < myDayData.Day.Length; index++) { if ((Today.Year == myDayData.Day[index].Day.Year) && (Today.Month == myDayData.Day[index].Day.Month) && (Today.Day == myDayData.Day[index].Day.Day)) { DayIndex = index; for (int WorkoutNameIndex = 0; WorkoutNameIndex < myDayData.Day[index].DayWorkoutArray.Length; WorkoutNameIndex++) { if (CurrentWorkoutName == myDayData.Day[index].DayWorkoutArray[WorkoutNameIndex].WorkoutName) { if (myDayData.Day[index].DayWorkoutArray[WorkoutNameIndex].WorkoutCompleted == false) { NameIndex = WorkoutNameIndex; } } } } } if (DayIndex < 0) { // add new day DayData tempDayData = new DayData(); tempDayData.Day = Today; tempDayData.Add(tempDayWorkoutData); myDayData.Add(tempDayData); myDayData.Day = myDayData.Day.OrderBy(x => x.Day).ToArray(); UserBlobManager.GetComponent <UserBlobManager>().SaveDay(); } else { if (NameIndex < 0) { //new workout myDayData.Day[DayIndex].Add(tempDayWorkoutData); } else { // workout already exists, change completed bool and time myDayData.Day[DayIndex].DayWorkoutArray[NameIndex].CompletedDateTime = Today; myDayData.Day[DayIndex].DayWorkoutArray[NameIndex].WorkoutCompleted = true; } } }
// Use this for initialization void Awake() { VersionNumber = "1.0"; ExerciseTypeList.Clear(); ExerciseTypeList.Add("General"); ExerciseTypeList.Add("Warm-Up"); ExerciseTypeList.Add("Stretch"); ExerciseTypeList.Add("Weights"); ExerciseTypeList.Add("Cardio-Light"); ExerciseTypeList.Add("Cardio-Moderate"); ExerciseTypeList.Add("Cardio-Intense"); ExerciseTypeList.Add("Yoga"); ExerciseTypeList.Add("Body Weight"); ExerciseTypeList.Add("Cross-Fit"); ExerciseTypeList.Add("Fighting"); WorkoutTypeList.Clear(); WorkoutTypeList.Add("General"); WorkoutTypeList.Add("Warm-Up"); WorkoutTypeList.Add("Stretch"); WorkoutTypeList.Add("Weights"); WorkoutTypeList.Add("Cardio"); WorkoutTypeList.Add("Yoga"); WorkoutTypeList.Add("Fighting"); WorkoutTypeList.Add("Cross-Fit"); TrainingTypeList.Clear(); TrainingTypeList.Add("General"); TrainingTypeList.Add("Warm-Up"); TrainingTypeList.Add("Stretch"); TrainingTypeList.Add("Weights"); TrainingTypeList.Add("Cardio"); TrainingTypeList.Add("Yoga"); TrainingTypeList.Add("Fighting"); TrainingTypeList.Add("Cross-Fit"); BodyPartList.Clear(); BodyPartList.Add("Body"); BodyPartList.Add("Arms"); BodyPartList.Add("Abs"); BodyPartList.Add("Back"); BodyPartList.Add("Chest"); BodyPartList.Add("Core"); BodyPartList.Add("Legs"); BodySide.Clear(); BodySide.Add("None"); BodySide.Add("Left"); BodySide.Add("Right"); NumberList.Clear(); NumberList.Add(0); NumberList.Add(1); NumberList.Add(2); NumberList.Add(3); NumberList.Add(4); NumberList.Add(5); NumberList.Add(6); NumberList.Add(7); NumberList.Add(8); NumberList.Add(9); NumberListToFive.Clear(); NumberListToFive.Add(0); NumberListToFive.Add(1); NumberListToFive.Add(2); NumberListToFive.Add(3); NumberListToFive.Add(4); NumberListToFive.Add(5); YesNoList.Clear(); YesNoList.Add("Yes"); YesNoList.Add("No"); MonthList.Clear(); MonthList.Add("January"); MonthList.Add("February"); MonthList.Add("March"); MonthList.Add("April"); MonthList.Add("May"); MonthList.Add("June"); MonthList.Add("July"); MonthList.Add("August"); MonthList.Add("September"); MonthList.Add("October"); MonthList.Add("November"); MonthList.Add("December"); FilterExerciseTypeList.Clear(); FilterExerciseTypeList.Add("None"); foreach (string item in ExerciseTypeList) { FilterExerciseTypeList.Add(item); } FilterBodyPartList.Clear(); FilterBodyPartList.Add("None"); foreach (string item in BodyPartList) { FilterBodyPartList.Add(item); } UIManager = GameObject.Find("UI_Manager_Prefab"); UserDownloadTrainingData = new SaveDownloadTrainingData(); UserDownloadWorkoutData = new SaveDownloadWorkoutData(); UserDownloadExerciseData = new SaveDownloadExerciseData(); UserDownloadTrainingDataString = ""; UserDownloadWorkoutDataString = ""; UserDownloadExerciseDataString = ""; UserWorkoutData = new SaveWorkoutData(); UserExerciseData = new SaveExerciseData(); UserFriendData = new SaveFriendData(); UserTrainingData = new SaveTrainingData(); UserDayData = new SaveDayData(); _FileLocation = Application.persistentDataPath; _DownloadTrainingDataFileName = "DownloadTrainingData.xml"; // temporarily get these locally. change this to be downloaded from the server _DownloadWorkoutDataFileName = "DownloadWorkoutData.xml"; // temporarily get these locally. change this to be downloaded from the server _DownloadExerciseDataFileName = "DownloadExerciseData.xml"; // temporarily get these locally. change this to be downloaded from the server _FileName = "SaveData.xml"; _TrainingDataFileName = "TrainingData.xml"; _WorkoutDataFileName = "WorkoutData.xml"; _ExerciseDataFileName = "ExerciseData.xml"; _DayDataFileName = "DayData.xml"; _SettingsDataFileName = "SettingsData.xml"; _FriendDataFileName = "FriendData.xml"; myData = new SaveData(); mySettingsData = new SaveSettingsData(); }