コード例 #1
0
        /// <summary>
        /// Creates an instance of InitData from an instance of ApplicationSettings
        /// </summary>
        /// <param name="settings">An instance of ApplicationSettings</param>
        /// <returns>An instance of InitData</returns>
        public static InitData CreateFromApplicationSettings(ApplicationSettings settings)
        {
            var res = new InitData();

            res.timeoutScreen                 = settings.menuSettings.timeoutScreen;
            res.timeout                       = settings.menuSettings.timeout;
            res.gameDuration                  = settings.gameSettings.gameDuration;
            res.comboMin                      = settings.gameSettings.comboMin;
            res.comboMax                      = settings.gameSettings.comboMax;
            res.comboDuration                 = settings.gameSettings.comboDuration;
            res.comboDurationMultiplier       = settings.gameSettings.comboDurationMultiplier;
            res.comboIncrement                = settings.gameSettings.comboIncrement;
            res.targetRotationSpeed           = settings.gameSettings.targetRotationSpeed;
            res.targetZRotationSpeed          = settings.gameSettings.targetZRotationSpeed;
            res.targetHorizontalMovementSpeed = settings.gameSettings.targetHorizontalMovementSpeed;
            res.targetMaxAngularVelocity      = settings.gameSettings.targetMaxAngularVelocity;
            res.targetP1ActivationDelay       = settings.gameSettings.targetP1ActivationDelay;
            res.targetCooldown                = settings.gameSettings.targetCooldown;
            res.hitMinPoints                  = settings.gameSettings.hitMinPoints;
            res.hitMaxPoints                  = settings.gameSettings.hitMaxPoints;
            res.hitTolerance                  = settings.gameSettings.hitTolerance;
            res.maxPrecisionRating            = settings.gameSettings.maxPrecisionRating;
            res.minPrecisionRating            = settings.gameSettings.minPrecisionRating;
            res.maxSpeedRating                = settings.gameSettings.maxSpeedRating;
            res.minSpeedRating                = settings.gameSettings.minSpeedRating;
            res.impactThreshold               = settings.serialSettings.impactThreshold;
            res.delayOffHit                   = settings.serialSettings.delayOffHit;
            return(res);
        }
コード例 #2
0
 public SessionData(int id, InitData init, DateTime time, string langCode)
 {
     this.id       = id;
     initId        = init.id;
     this.time     = time;
     this.langCode = langCode;
 }
コード例 #3
0
        private async void Start()
        {
            Debug.Log("Database start");
            DataService.databaseName = ApplicationManager.instance.appSettings.databaseServerURL;
            var resultInit = await DataService.LoadData <InitData>();

            var resultTCT = await DataService.LoadData <TargetCountThresholdData>();

            if (resultInit.successful && resultTCT.successful)
            {
                if (resultInit.dataList.Count > 0)
                {
                    foreach (InitData init in resultInit.dataList)
                    {
                        if (init.Equals(ApplicationManager.instance.appSettings))
                        {
                            var targetCountThresholds = resultTCT.dataList.Count > 0 ? resultTCT.dataList.Where(x => x.initId == init.id).ToList() : new List <TargetCountThresholdData>();
                            if (CheckTargetCountThresholds(targetCountThresholds, ApplicationManager.instance.gameSettings.targetCountThreshold))
                            {
                                currentInit = init;
                                break;
                            }
                        }
                    }
                }
                if (currentInit == null)
                {
                    var newInit = InitData.CreateFromApplicationSettings(ApplicationManager.instance.appSettings);
                    currentInit = newInit;
                    DataService.InsertData(currentInit, result =>
                    {
                        if (result.successful)
                        {
                            for (int i = 0; i < ApplicationManager.instance.gameSettings.targetCountThreshold.Length; i++)
                            {
                                DataService.InsertData(new TargetCountThresholdData(i, currentInit, ApplicationManager.instance.gameSettings.targetCountThreshold[i]), x =>
                                {
                                    return;
                                });
                            }
                        }
                        else
                        {
                            Debug.LogError("Error while inserting init file.");
                        }
                    });
                }
            }
            else
            {
                Debug.LogError("Couldn't find init file.");
            }
            if (currentInit == null)
            {
                Invoke("Start", ApplicationManager.instance.appSettings.databaseInitRefreshTime);
            }
        }
コード例 #4
0
 public SessionData(int id, InitData init, DateTime time, string langCode,
                    int timeoutScreenCount, int timeSpentOnMenu, int timeSpentTotal,
                    bool timeout, bool debugExit, GameMode gameMode, int score,
                    float precisionRating, float speedRating, int highestComboMultiplier)
 {
     this.id                     = id;
     initId                      = init.id;
     this.time                   = time;
     this.langCode               = langCode;
     this.timeoutScreenCount     = timeoutScreenCount;
     this.timeSpentOnMenu        = timeSpentOnMenu;
     this.timeSpentTotal         = timeSpentTotal;
     this.timeout                = timeout;
     this.debugExit              = debugExit;
     this.gameMode               = gameMode;
     this.score                  = score;
     this.precisionRating        = precisionRating;
     this.speedRating            = speedRating;
     this.highestComboMultiplier = highestComboMultiplier;
 }
コード例 #5
0
        private void InsertTest()
        {
            var applicationSettings = ApplicationSettings.Load(Path.Combine(Application.streamingAssetsPath, ApplicationManager.appSettingsPath));

            DataService.InsertData(new CrashData(0, DateTime.Now, null), result => Debug.Log(result));
            DataService.InsertData(new CrashData(0, DateTime.Now, UnityEngine.Random.Range(0, 100000)), result => Debug.Log(result));
            DataService.InsertData(InitData.CreateFromApplicationSettings(applicationSettings), result =>
            {
                Debug.Log(result);
                if (result.successful)
                {
                    DataService.InsertData(new SessionData(0, result.data, DateTime.Now, "fr", UnityEngine.Random.Range(0, 100), UnityEngine.Random.Range(0, 1000), UnityEngine.Random.Range(0, 2000),
                                                           UnityEngine.Random.Range(0, 2) == 1, UnityEngine.Random.Range(0, 2) == 1, (GameMode)UnityEngine.Random.Range(0, 2), UnityEngine.Random.Range(0, 2000),
                                                           UnityEngine.Random.Range(result.data.minPrecisionRating, result.data.maxPrecisionRating), UnityEngine.Random.Range(result.data.minSpeedRating, result.data.maxSpeedRating),
                                                           UnityEngine.Random.Range(result.data.comboMin, result.data.comboMax)), result2 =>
                    {
                        Debug.Log(result2);
                        if (result2.successful)
                        {
                            DataService.InsertData(new PlayerData(0, result2.data, UnityEngine.Random.Range(0, 2), UnityEngine.Random.insideUnitSphere * 10.0f), result3 =>
                            {
                                Debug.Log(result3);
                                if (result3.successful)
                                {
                                    DataService.InsertData(new HitData(0, result3.data, DateTime.Now, UnityEngine.Random.insideUnitCircle * 10.0f, UnityEngine.Random.Range(0, 2) == 1, UnityEngine.Random.insideUnitSphere * 10.0f, UnityEngine.Random.insideUnitSphere * 10.0f), result4 => Debug.Log(result4));
                                    DataService.InsertData(new SurveyData(result3.data, "Q1A3"), result4 => Debug.Log(result4));
                                }
                            });
                        }
                    });
                    for (int i = 0; i < applicationSettings.gameSettings.targetCountThreshold.Length; i++)
                    {
                        DataService.InsertData(new TargetCountThresholdData(i, result.data, applicationSettings.gameSettings.targetCountThreshold[i]), x => Debug.Log(x));
                    }
                }
            }
                                   );
        }
コード例 #6
0
 public TargetCountThresholdData(int id, InitData init, int countThreshold)
 {
     this.id             = id;
     initId              = init.id;
     this.countThreshold = countThreshold;
 }