Exemple #1
0
 public void SetModel(TierData tier)
 {
     titleText.text = tier.Meta.name;
     completionPercentageText.text = "TIER_COMPLETION_PERCENTAGE"
                                     .Get($"{(Mathf.FloorToInt(tier.Meta.completionPercentage * 100 * 100) / 100f):0.00}");
     backgroundGradient.SetGradient(new ColorGradient(tier.Meta.colorPalette.background, -45));
 }
Exemple #2
0
    // Use this for initialization
    void Start()
    {
        _currentTierData = UserDataObject.GetCurrentTier();

        tierNameText.text = _currentTierData.tierName.ToUpper();

        FillGoalList();
    }
    public static TierData GetNextTier()
    {
        TierData nextTier = GetCurrentTier();

        if (PlayerPrefs.GetInt("CurrentTierId") != GetAllTiers().Count - 1)
        {
            nextTier = currentUser.tierData[PlayerPrefs.GetInt("CurrentTierId") + 1];
        }
        return(nextTier);
    }
Exemple #4
0
        public IEnumerable <Tier> MapEnumerable()
        {
            var from = LoadJson(TierData.CreateInstance());

            return(from.Tiers.Select(l => new Tier
            {
                Name = l.Name,
                PtierId = l.Id
            }));
        }
Exemple #5
0
 public SetPlayerTierData(TierData td)//td is emtpy we can get the one that has data let us try this for now
 {
     m_id          = 18073;
     TierID        = td.TierID;
     TierRulesID   = td.TierRulesID;
     TierName      = td.TierName;
     TierColor     = td.TierColor;
     AmntSpend     = td.AmntSpend;
     NbrPoints     = td.NbrPoints;
     PtsMultiplier = td.Multiplier;
     isdelete      = td.isdelete;
 }
Exemple #6
0
        public static int Save(TierData td)
        {
            SetPlayerTierData msg = new SetPlayerTierData(td);

            try
            {
                msg.Send();
            }
            catch (ServerCommException ex)
            {
                throw new Exception("SetPlayerTierData: " + ex.Message);
            }
            return(msg.TierID);
        }
Exemple #7
0
    // Use this for initialization
    void Start()
    {
        KinectManager       = GameObject.Find("KinectManager");
        _kinectManager      = KinectManager.GetComponent <KinectManager>();
        _interactionManager = KinectManager.GetComponent <InteractionManager>();

        if (!_kinectManager.displayUserMapSmall)
        {
            _kinectManager.displayUserMapSmall = true;
        }

        _currTier = UserDataObject.GetCurrentTier();

        FillMenu();
//		ScrollToCurrentTier();
    }
Exemple #8
0
    // Use this for initialization
    void Start()
    {
        KinectManager = GameObject.Find("KinectManager");

        if (KinectManager)
        {
            _kinectManager = KinectManager.GetComponent <KinectManager>();
        }

        if (!_kinectManager.displayUserMapSmall)
        {
            _kinectManager.displayUserMapSmall = true;
        }

        _currentTierData = UserDataObject.GetCurrentTier();

        tierNameText.text = UserDataObject.GetCurrentTier().tierName + " average data";

        FillSummaryList();
    }
    public void OnTierSelected(TierData tier)
    {
        SelectedTier = tier;
        print("Selected tier " + tier.Meta.name);

        if (tier.Meta.character != null)
        {
            lowerLeftColumn.Enter();
            rewardCharacterName.text = tier.Meta.character.Name;
        }

        if (!tier.locked)
        {
            lowerRightColumn.Enter();
            startButton.State = tier.StagesValid ? CircleButtonState.Start : CircleButtonState.Download;
            startButton.StartPulsing();
        }

        rankingsTab.UpdateTierRankings(SelectedTier.Id);
        initializedSettingsTab = false;

        LoadCover();
        LoadPreview();
    }
Exemple #10
0
        protected override void UnpackResponse()
        {
            base.UnpackResponse();

            MemoryStream responseStream = new MemoryStream(m_responsePayload);
            BinaryReader responseReader = new BinaryReader(responseStream, Encoding.Unicode);

            if (responseStream.Length < MinResponseMessageLenght)//responseStream = 4 < 6
            {
                throw new MessageWrongSizeException("Get Player Tier Data");
            }

            try
            {
                //let us try one data for now
                responseReader.BaseStream.Seek(sizeof(int), SeekOrigin.Begin);
                ushort TierCount = responseReader.ReadUInt16();


                for (ushort x = 0; x < TierCount; x++)
                {
                    TierData code = new TierData();
                    code.TierID      = responseReader.ReadInt32();
                    code.TierRulesID = responseReader.ReadInt32();

                    ushort stringLen = responseReader.ReadUInt16();
                    code.TierName = new string(responseReader.ReadChars(stringLen));

                    code.TierColor = responseReader.ReadInt32();

                    stringLen = responseReader.ReadUInt16();
                    string tempDec = new string(responseReader.ReadChars(stringLen));
                    if (!string.IsNullOrEmpty(tempDec))
                    {
                        code.AmntSpend = decimal.Parse(tempDec);
                    }

                    stringLen = responseReader.ReadUInt16();
                    tempDec   = new string(responseReader.ReadChars(stringLen));
                    if (!string.IsNullOrEmpty(tempDec))
                    {
                        code.NbrPoints = decimal.Parse(tempDec);
                    }

                    stringLen = responseReader.ReadUInt16();
                    tempDec   = new string(responseReader.ReadChars(stringLen));
                    if (!string.IsNullOrEmpty(tempDec))
                    {
                        code.Multiplier = decimal.Parse(tempDec);
                    }

                    tierData.Add(code);

                    if (TierID == 0)
                    {
                        GetPlayerTierData.getPlayerTierData.Add(code);
                    }
                }
            }
            catch (EndOfStreamException e)
            {
                throw new MessageWrongSizeException("Get Player Data", e);
            }
            catch (Exception e)
            {
                throw new ServerException("Get Player Tier Data", e);
            }

            responseReader.Close();
        }
Exemple #11
0
    public void SetModel(TierData tier)
    {
        Tier            = tier;
        IsScrollRectFix = tier.isScrollRectFix;
        if (IsScrollRectFix)
        {
            foreach (Transform child in transform)
            {
                child.gameObject.SetActive(false);
            }
        }
        else
        {
            Index             = tier.index;
            canvasGroup.alpha = 1f;
            foreach (Transform child in transform)
            {
                child.gameObject.SetActive(true);
            }

            active       = true;
            screenCenter = this.GetScreenParent <TierSelectionScreen>().ScreenCenter;

            characterRoot.gameObject.SetActive(tier.Meta.character != null);
            if (tier.Meta.character != null)
            {
                characterDisplay.Load(CharacterAsset.GetTachieBundleId(tier.Meta.character.AssetId));
                characterDisplay.canvasGroup.alpha = 0;
            }

            gradientPane.SetModel(tier);

            for (var stage = 0; stage < Math.Min(3, tier.Meta.stages.Count); stage++)
            {
                stageCards[stage].SetModel(
                    tier.Meta.parsedStages[stage],
                    new ColorGradient(tier.Meta.colorPalette.stages[stage], 90f)
                    );
            }

            lockedOverlayRoot.SetActive(tier.locked || !tier.StagesValid);
            if (tier.locked)
            {
                lockedOverlayIcon.sprite = lockedIcon;
                lockedOverlayText.text   = "TIER_LOCKED".Get();
            }
            else if (!tier.StagesValid)
            {
                lockedOverlayIcon.sprite = unlockedIcon;
                lockedOverlayText.text   = "TIER_NOT_DOWNLOADED".Get();
            }

            foreach (Transform child in criteriaHolder.transform)
            {
                Destroy(child.gameObject);
            }
            foreach (var criterion in tier.Meta.parsedCriteria)
            {
                var criterionEntry = Instantiate(criterionEntryPrefab, criteriaHolder.transform);
                criterionEntry.SetModel(criterion.Description, CriterionState.Passed);
            }

            LayoutFixer.Fix(criteriaHolder.transform);
        }
    }
    private void ToggleAndCheckRepetition()
    {
        StopTracking();

        _minTimeAlreadyReached = false;
        _bothFeetUp            = false;
        _inStartingPosition    = false;

        textReps.text = "Reps " + _repsIterator + "/" + UserDataObject.GetCurrentRepetitionsArray().Length;

        Debug.Log("ACCOMPLISHED REPETITION");
        Debug.Log("Activate Handcursor");
//		if (!CanvasHandCursor.activeSelf)
//		{
//			CanvasHandCursor.gameObject.SetActive(true);
//			_interactionManager.enabled = true;
//		}

        // Save the time and confidence for the current repetition
        _currentRepetition.userTime   = _durationManager.GetlatestTimeInSeconds();
        _currentRepetition.confidence = _currentRepetitionConfidence / confidenceIterator;
        _currentRepetition.attempts   = attemptsIterator;

        Debug.Log("Repetition time: " + _currentRepetition.userTime + " || confidence: " + _currentRepetition.confidence);

        // Toggle current repetition
        _currentRepetition.accomplished = true;
        _toggleArray[Array.IndexOf(UserDataObject.GetCurrentRepetitionsArray(), _currentRepetition)].isOn = true;

        // Check if last repetition
        if (_currentRepetition == UserDataObject.GetCurrentRepetitionsArray().Last())
        {
            // Exercise and side accomplished
            _currentExerciseData.accomplished = true;
            UserDataObject.GetCurrentSide().accomplished = true;

            // Set values for side attempts, confidence, and time regarding repetitions
            UserDataObject.GetCurrentSide().userTime   = 0.0f;
            UserDataObject.GetCurrentSide().confidence = 0.0f;
            UserDataObject.GetCurrentSide().attempts   = 0;
            foreach (var repetition in UserDataObject.GetCurrentRepetitionsArray())
            {
                UserDataObject.GetCurrentSide().userTime   += repetition.userTime;
                UserDataObject.GetCurrentSide().confidence += repetition.confidence;
                UserDataObject.GetCurrentSide().attempts   += repetition.attempts;
            }
            // Set the avg usertime and confidence for the current side
            UserDataObject.GetCurrentSide().userTime   /= UserDataObject.GetCurrentRepetitionsArray().Length;
            UserDataObject.GetCurrentSide().confidence /= UserDataObject.GetCurrentRepetitionsArray().Length;

            // Set values for exercise attempts, confidence, and time regarding sides
            sideAccomplishedCounter         = 0;
            _currentExerciseData.confidence = 0.0f;
            _currentExerciseData.userTime   = 0.0f;
            _currentExerciseData.attempts   = 0;
            foreach (var side in UserDataObject.GetCurrentExercise().sides)
            {
                if (side.accomplished)
                {
                    sideAccomplishedCounter++;
                    _currentExerciseData.confidence += side.confidence;
                    _currentExerciseData.userTime   += side.userTime;
                    _currentExerciseData.attempts   += side.attempts;
                }
            }
            // Set the avg usertime and confidence for the current exercise
            _currentExerciseData.userTime   /= sideAccomplishedCounter;
            _currentExerciseData.confidence /= sideAccomplishedCounter;


            // If all sides accomplished
            bool     allSidesAccomplished = true;
            SideData nextSide;
            foreach (var side in _currentExerciseData.sides)
            {
                if (side.accomplished == false)
                {
                    allSidesAccomplished = false;
                }
            }

            if (allSidesAccomplished)
            {
                // If last exercise --> accomplish current tier
                Debug.Log("PlayerPrefs.GetInt(CurrentExerciseId)" + PlayerPrefs.GetInt("CurrentExerciseId"));
                Debug.Log("UserDataObject.GetCurrentTierErcisesLength()" + UserDataObject.GetCurrentTierErcisesLength());
                if (PlayerPrefs.GetInt("CurrentExerciseId") == UserDataObject.GetCurrentTierErcisesLength() - 1)
                {
                    // todo All exercises accomplished congratulations or so
                    UserDataObject.GetCurrentTier().accomplished = true;

                    // If last tier reached --> do nothing
                    if (PlayerPrefs.GetInt("CurrentTierId") == UserDataObject.GetAllTiers().Count - 1)
                    {
                    }
                    else                     // If not last tier --> unlock next tier
                    {
                        TierData nextTier = UserDataObject.GetNextTier();
                        nextTier.isInteractable = true;
                    }
                }
                else                 // If not last exercise --> unlock next exercise
                {
                    ExerciseData nextExerciseData = UserDataObject.GetNextExercise();

                    nextExerciseData.isInteractable = true;
                    nextExerciseData.unlocked       = 1;

//				UserDataObject.currentUser.exerciseData[PlayerPrefs.GetInt("CurrentExerciseId") + 1].isInteractable = true;
//				UserDataObject.currentUser.exerciseData[PlayerPrefs.GetInt("CurrentExerciseId") + 1].unlocked = 1;
                }
            }

            //		 Save data to user json file
            SaveCurrentExerciseData();

            // Load the summary scene
            StartCoroutine(loadSummaryScene());
        }         // If not last repetition --> current repetition is next repetition
        else
        {
            _currentRepetition =
                UserDataObject.GetCurrentRepetitionsArray()[Array.IndexOf(UserDataObject.GetCurrentRepetitionsArray(), _currentRepetition) + 1];
            PlayerPrefs.SetInt("CurrentRepetitionId", Array.IndexOf(UserDataObject.GetCurrentRepetitionsArray(), _currentRepetition));
            startTrackingAgain = true;
            Debug.Log("STARTTRAKCINGAGAIN" + startTrackingAgain);
            //		 Save data to user json file
            SaveCurrentExerciseData();
        }

        Debug.Log("-----------------------");
        Debug.Log("TOGGLEANDSAVE");
        Debug.Log("-----------------------");

        // Reset all variables needed for next repetition
        _currentRepetitionConfidence = 0;
        confidenceIterator           = 0;
        attemptsIterator             = 0;

        _durationManager.ResetlatestTimeInSeconds();
        _durationManager.ResetProgress();

        _firstCheckpoint  = false;
        _secondCheckpoint = false;

        pufferList.Clear();

        if (startTrackingAgain)
        {
            StartCoroutine("StartTracking");
//              StartCoroutine("RewindAnimateSuccess");
        }
    }
Exemple #13
0
 public TierState(TierData tier)
 {
     Tier   = tier;
     Stages = new GameState[tier.Meta.stages.Count];
 }