예제 #1
0
    private string CalculateTotalComponentTime(WorkoutSO _workoutSo)
    {
        int totalSeconds = 0;

        foreach (WorkoutComponentSO component in _workoutSo._components)
        {
            totalSeconds += (component._setLengthTime * component._setNumber) + (component._setBreakTime * component._setNumber);
        }

        string totalMinSec = TimeConverter.ConvertTimeLeftFormat(totalSeconds);

        return(totalMinSec);
    }
예제 #2
0
    public void UpdateInformation(WorkoutSO _workoutSo)
    {
        _nameDisplay.text = _workoutSo._name;

        string totalComponents = "Total Components: " + _workoutSo._components.Count;

        _componentDisplay.text = totalComponents;


        string totalTime = "Total Time: " + CalculateTotalComponentTime(_workoutSo);

        _timeDisplay.text = totalTime;
    }
예제 #3
0
    public void LoadAllWorkouts()
    {
        if (!IsSaveFile())
        {
            return;
        }

        int indexChecker = 0;

        string workoutPath = persistentDataPath + "/workout_" + indexChecker;

        BinaryFormatter bf = new BinaryFormatter();

        while (Directory.Exists(workoutPath))
        {
            string[]  files          = Directory.GetFiles(workoutPath);
            WorkoutSO savedWorkoutSo = ScriptableObject.CreateInstance <WorkoutSO>();

            foreach (var foundFile in files)
            {
                FileStream file = File.Open(foundFile, FileMode.Open);
                JsonUtility.FromJsonOverwrite((string)bf.Deserialize(file), savedWorkoutSo);
                file.Close();
            }

            savedWorkoutSo._components.Clear();

            string[] componentDirectoryPaths = Directory.GetDirectories(workoutPath);

            foreach (var foundComponentDirectoryPath in componentDirectoryPaths)
            {
                string[] componentFiles = Directory.GetFiles(foundComponentDirectoryPath);

                foreach (var component in componentFiles)
                {
                    WorkoutComponentSO savedWorkoutComponentSo = ScriptableObject.CreateInstance <WorkoutComponentSO>();
                    FileStream         file = File.Open(component, FileMode.Open);
                    JsonUtility.FromJsonOverwrite((string)bf.Deserialize(file), savedWorkoutComponentSo);
                    file.Close();

                    savedWorkoutSo._components.Add(savedWorkoutComponentSo);
                }
            }

            WorkoutList.instance.workouts.Add(savedWorkoutSo);
            indexChecker++;
            workoutPath = persistentDataPath + "/workout_" + indexChecker;
        }
    }
예제 #4
0
    public void SaveWorkout(WorkoutSO workoutSo, int index)
    {
        string workoutPath = persistentDataPath + "/workout_" + index;

        if (!Directory.Exists(workoutPath))
        {
            Directory.CreateDirectory(workoutPath);
        }

        BinaryFormatter bf = new BinaryFormatter();

        FileStream file = File.Create(workoutPath + "/" + workoutSo._name + ".txt");

        var json = JsonUtility.ToJson(workoutSo);

        bf.Serialize(file, json);

        file.Close();

        for (int i = 0; i < workoutSo._components.Count; i++)
        {
            string componentPath = workoutPath + "/" + workoutSo._components[i]._name;

            if (!Directory.Exists(componentPath))
            {
                Directory.CreateDirectory(componentPath);
            }

            BinaryFormatter bf2 = new BinaryFormatter();

            FileStream componentFile = File.Create(componentPath + "/component_" + i + ".txt");

            var json2 = JsonUtility.ToJson(workoutSo._components[i]);

            bf2.Serialize(componentFile, json2);
            componentFile.Close();
        }
    }