private void SaveCategories(List <Toggle> specificalCategoryToggles)
    {
        CategoryStateHolder categoryStateHolder = new CategoryStateHolder
        {
            CategoryToggleStates = new List <CategoryToggleState>()
        };

        foreach (Toggle spesificalCategoryToggle in specificalCategoryToggles)
        {
            CategoryToggleState categoryToggleState = new CategoryToggleState
            {
                isActive     = spesificalCategoryToggle.isOn,
                categoryType = spesificalCategoryToggle.GetComponent <CategoryInfo>().category,
                name         = spesificalCategoryToggle.GetComponent <CategoryInfo>().category.ToString()
            };

            categoryStateHolder.CategoryToggleStates.Add(categoryToggleState);
        }

        string json = JsonUtility.ToJson(categoryStateHolder);

        Debug.Log(LocalPaths.CATEGORY_SAVE_PATH);

        File.WriteAllText(LocalPaths.CATEGORY_SAVE_PATH, json);

        if (categoryStateHolder.CategoryToggleStates.Count > 0)
        {
            PlayerPrefs.SetString(PlayerPrefsKeys.CATEGORY_SELECTED, PlayerPrefsKeys.CATEGORY_SELECTED);
        }
    }
    private CategoryStateHolder LoadCategories()
    {
        CategoryStateHolder categoryStateHolder = new CategoryStateHolder();

        string reading = File.ReadAllText(LocalPaths.CATEGORY_SAVE_PATH);

        categoryStateHolder = JsonUtility.FromJson <CategoryStateHolder>(reading);

        return(categoryStateHolder);
    }
Beispiel #3
0
    private IEnumerator GetQuestionIDs(/*List<string> categories*/)
    {
        questionIDs.Clear();

        while (EventManager.Instance.LoadCategories == null || !LoadingUI.S_IsDatabaseReferencesCreated)
        {
            Debug.Log("off offfff");
            yield return(null);
        }

        CategoryStateHolder categoryStateHolder = EventManager.Instance.LoadCategories();

        List <string> categories = new List <string>();

        foreach (CategoryToggleState categoryToggleState in categoryStateHolder.CategoryToggleStates)
        {
            if (categoryToggleState.isActive)
            {
                categories.Add(categoryToggleState.name);
            }
        }

        Debug.Log(FirebaseManager.PublishedQuestionsDatabaseReference);

        Task <DataSnapshot> task = FirebaseManager.PublishedQuestionsDatabaseReference.GetValueAsync();

        yield return(new WaitUntil(() => task.IsCanceled || task.IsFaulted || task.IsCompleted));

        if (task.IsCanceled)
        {
            Debug.LogWarning(GetDataTaskDebugs.GetData + DebugPaths.IsCanceled);
        }
        else if (task.IsFaulted)
        {
            Debug.LogError(GetDataTaskDebugs.GetData + DebugPaths.IsFaulted);
        }
        else if (task.IsCompleted)
        {
            Debug.Log(GetDataTaskDebugs.GetData + DebugPaths.IsCompleted);

            DataSnapshot dataSnapshot = task.Result;

            foreach (DataSnapshot questionID in dataSnapshot.Children)
            {
                string categoryOfQuestion = questionID.Child(QuestionPaths.QuesitonPath.QuestionCategory).Value.ToString();

                if (categories.Contains(categoryOfQuestion))
                {
                    questionIDs.Add(questionID.Key);
                }
            }
        }
    }
    private IEnumerator LoadCategories()
    {
        CategoryStateHolder stateHolder = new CategoryStateHolder();

        string reading = File.ReadAllText(LocalPaths.CATEGORY_SAVE_PATH);

        stateHolder = JsonUtility.FromJson <CategoryStateHolder>(reading);

        Debug.Log(reading);

        while (FirebaseManager.PublishedQuestionsDatabaseReference == null)
        {
            yield return(null);
        }

        //StartCoroutine(EventManager.Instance.GetQuestionIDs(category.categories));
    }