示例#1
0
    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();
    }
示例#3
0
    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();
    }
示例#6
0
    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();
    }
示例#7
0
    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;
            }
        }
    }
示例#9
0
    // 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();
    }