Пример #1
0
    // Use this for initialization
    void Start()
    {
        backEnd = FindObjectOfType <BackendCommunicator>();
        backEnd.OnWeekQuizDownloadComplete += OnWeekQuizDownloadComplete;
        backEnd.OnWeekQuizDownloadFail     += OnWeekQuizDownloadFail;

        ratePopup = GetComponentInChildren <RatePopup>();

        AnimationHelper.SetToBeginning(logoAnimation);
        AnimationHelper.SetToBeginning(playButtonAnimation);
        AnimationHelper.SetToBeginning(bottomButtonsAnimation);

        GameDataStore.Get().playTimes++;
        GameDataStore.Get().Save();

        bool bol = true;

        Debug.Log("bool = " + bol.ToString());

        if (isFirstTime)
        {
            backEnd.GetWeeklyQuizzes();
            isFirstTime = false;
        }
        else
        {
            PlayStartAnimations();
        }
    }
Пример #2
0
    // Use this for initialization
    void Start()
    {
        string quizId = GameDataStore.Get().selectedQuiz;

        if (quizId == "")
        {
            quizId = "1";
        }
        resultView.OnResultNextButtonPressed  += OnResultNextButtonPressed;
        resultView.OnResultRetryButtonPressed += OnResultRetryButtonPressed;

        quizzesManager = FindObjectOfType(typeof(QuizzesManager)) as QuizzesManager;

        GetComponent <InputDetector>().OnTouchReleaseAnywhere += OnTouchReleaseAnywhere;

        viewSlider = GetComponentInChildren <ViewSlider>();

        questionViewLayouts = new List <QuestionViewLayout>(FindObjectsOfType <QuestionViewLayout>());
        keyboardManager     = FindObjectOfType <KeyboardManager>();
        quiz = quizzesManager.GetQuiz(quizId);
        if (quiz != null)
        {
            StartQuiz();
        }

        InitializePlayAds();
    }
Пример #3
0
    private List <Quiz> ParseQuizzes(string quizzesData)
    {
        List <Quiz> quizzesFromStore = new List <Quiz>();

        string[] quizDataObjs = quizzesData.Split(OBJ_SEPAR);

        try
        {
            foreach (string quizData in quizDataObjs)
            {
                if (quizData != "")
                {
                    string[] dataFields = quizData.Split(PARAM_SEPAR);

                    string xml    = dataFields[0];
                    int    points = int.Parse(dataFields[1]);

                    Quiz quiz = xmlManager.LoadXml(xml)[0];
                    quiz.points = points;

                    quizzesFromStore.Add(quiz);
                }
            }
        }
        catch (System.Exception e)
        {
            Debug.Log("Error: clear quizzesData " + e);
            GameDataStore.Get().quizzesData = "";
            GameDataStore.Get().Save();
        }

        return(quizzesFromStore);
    }
Пример #4
0
        /// <summary>
        /// Link actions that reference other GameObjects.
        /// All other GameObjects in dependent stores must already be Instantiated.
        /// </summary>
        /// <param name="data">UI GameData</param>
        protected override void LinkData(UIData data)
        {
            var toolbar = MainMenu.GetComponent <Toolbar>();

            // Link button children and actions
            foreach (var buttonGroupData in data.ButtonGroups)
            {
                var buttonGroup = _buttonGroups[buttonGroupData.Name];

                for (int i = 0; i < buttonGroupData.Buttons.Count; ++i)
                {
                    var buttonData = buttonGroupData.Buttons[i];
                    var button     = buttonGroup.Buttons[i];

                    // Link OnSelect Action -----------------------
                    if (buttonData.OnSelect is OpenSubMenuAction)
                    {
                        var openSubMenuAction  = buttonData.OnSelect as OpenSubMenuAction;
                        var openSubMenuButtons = GameDataStore.Get <ButtonGroup>(GameDataType.ButtonGroup, openSubMenuAction.ButtonGroupName);
                        if (openSubMenuButtons == null)
                        {
                            GameLogger.FatalError("OpenSubMenuAction could not link to non-existant button group '{0}'", openSubMenuAction.ButtonGroupName);
                        }
                        button.OnSelect = () => toolbar.OpenSubMenu(openSubMenuButtons);
                    }
                    else if (buttonData.OnSelect is OpenWindowAction)
                    {
                        var openWindowAction = buttonData.OnSelect as OpenWindowAction;
                        if (!WindowManager.TryGetWindow(openWindowAction.WindowName, out Window _))
                        {
                            GameLogger.FatalError("OpenWindowAction could not link to non-existant window '{0}'", openWindowAction.WindowName);
                        }

                        button.OnSelect = () => WindowManager.OpenWindow(openWindowAction.WindowName, null);
                    }
                    else if (buttonData.OnSelect is OpenWindowWithDataAction)
                    {
                        var openWindowAction = buttonData.OnSelect as OpenWindowWithDataAction;
                        if (!WindowManager.TryGetWindow(openWindowAction.WindowName, out Window _))
                        {
                            GameLogger.FatalError("OpenWindowWithDataAction could not link to non-existant window '{0}'", openWindowAction.WindowName);
                        }

                        button.OnSelect = () => WindowManager.OpenWindow(openWindowAction.WindowName, openWindowAction.DataType, openWindowAction.DataName);
                    }

                    // Link OnDeselect Action -----------------------
                    if (buttonData.OnDeselect is CloseSubMenuAction)
                    {
                        button.OnDeselect = () => toolbar.CloseSubMenu();
                    }
                    else if (buttonData.OnDeselect is CloseWindowAction)
                    {
                        button.OnDeselect = () => WindowManager.CloseWindow();
                    }
                }
            }
        }
Пример #5
0
    private void OnQuizSelected(QuizListItem item)
    {
        string quizId = item.GetQuizId();

        GameDataStore.Get().selectedQuiz = quizId;

        Debug.Log("OnQuizSelected() quizId: " + quizId);

        Loader.LoadQuiz();
    }
Пример #6
0
    public void TryShow()
    {
        bool rated     = GameDataStore.Get().rated;
        int  playTimes = GameDataStore.Get().playTimes;

        if (!rated && playTimes > showRateAfter)
        {
            AnimateIn();
        }
    }
Пример #7
0
    void HandleOnRatePressed()
    {
        GameDataStore.Get().rated = true;
        GameDataStore.Get().Save();

        HidePopup();
#if UNITY_ANDROID
        Application.OpenURL(androidUrl);
#elif UNITY_IPHONE
        Application.OpenURL(iosUrl);
#endif
    }
Пример #8
0
    // Use this for initialization
    void Awake()
    {
        levelRequire = LevelsExperiencePointsArray.pointsArray;

        gameData = GameDataStore.Get();

        if (levelText != null)
        {
            levelText.text = gameData.level.ToString();
        }

        SetProgressBarScale(GetPercentage(gameData.exp, gameData.level));
    }
Пример #9
0
    public void SaveQuizzes()
    {
        if (initialized)
        {
            string quizzesDataStr = QuizzesToString();

            GameDataStore.Get().quizzesData = quizzesDataStr;
            GameDataStore.Get().Save();

            Debug.Log("SaveQuizzes() quizzesData= " + quizzesDataStr);
        }
        else
        {
            Debug.LogWarning("ERROR: No QuizzesManager found in scene!");
        }
    }
Пример #10
0
 void Start()
 {
     if (Achievements == null)
     {
         gameData = GameDataStore.Get();
         string[] tempAchievementList = gameData.achievementList.Split("|".ToCharArray());
         for (int i = 0; i < tempAchievementList.Length; i++)
         {
             Achievements[i] = JsonToAchievement(tempAchievementList[i]);
         }
         Debug.Log("load");
     }
     Debug.Log(Achievements[0]);
     ValidateAchievements();
     UpdateRewardPointTotals();
 }
Пример #11
0
    private void LoadStoredQuizzes()
    {
        if (!initialized)
        {
            initialized          = true;
            xmlManager           = new XMLManager();
            storedQuizzesDataStr = GameDataStore.Get().quizzesData;

            storedQuizzes = new List <Quiz>();

            if (storedQuizzesDataStr != "")
            {
                // get all quizzes from stored quiz data string
                storedQuizzes = ParseQuizzes(storedQuizzesDataStr);
            }
        }
    }
Пример #12
0
 void HandleOnLaterPressed()
 {
     GameDataStore.Get().playTimes = 0;
     AnimateOut();
 }
Пример #13
0
 private void QuitQuiz()
 {
     GameDataStore.Get().Save();
     Loader.LoadQuizList();
 }
Пример #14
0
        /// <summary>
        /// Opens a window on screen using GameDataStore data.
        /// </summary>
        /// <param name="name">Name of the window to open.</param>
        /// <param name="type">The type of game data to pass to the window.</param>
        /// <param name="dataName">Name of the data to pass to the window.</param>
        public void OpenWindow(string name, GameDataType type, string dataName)
        {
            object data = GameDataStore.Get(type, dataName);

            OpenWindow(name, data);
        }