Ejemplo n.º 1
0
        void Fall(int side)
        {
            int oppositeSide = side % 2 == 0 ? (side + 1) : (side - 1);

            transform.parent.GetComponentInChildren <LoggingActivityInteractPrompt>().HideUI();

            ApplyFallingForce(oppositeSide);
            hasFallen = true;

            foreach (ForestTreeSnapSpot snap in transform.GetComponentsInChildren <ForestTreeSnapSpot>())
            {
                snap.enabled = false;
            }
            LoggingActivityPlayerBehavior.UnsnapPlayer();
            GetComponent <ForestTreeBehavior>().enabled = false;

            int qualityAverage = QualityMinigame.CalculateAverageGrade();

            qualityAverage = Mathf.Clamp(qualityAverage, 0, maxQualityGrade.GetHashCode());

            QualityGrade gatheredQuality = (QualityGrade)qualityAverage;

            HomesteadStockpile.UpdateTreesCountAtGrade(gatheredQuality, 1);

            Debug.Log("Gathered Grade: " + gatheredQuality);

            //Visually phase tree out
            Invoke("PhaseOutTree", 5);
        }
Ejemplo n.º 2
0
        void SawThrough(int loc)
        {
            if (locationFullySawed[0] && locationFullySawed[1])
            {
                LoggingActivityPlayerBehavior.UnsnapPlayer();

                int qualityAverage = QualityMinigame.CalculateAverageGrade();
                qualityAverage = Mathf.Clamp(qualityAverage, 0, maxQualityGrade.GetHashCode());

                QualityGrade gatheredQuality = (QualityGrade)qualityAverage;

                HomesteadStockpile.UpdateLogsCountAtGrade(gatheredQuality, 3);
                HomesteadStockpile.UpdateTreesCountAtGrade(maxQualityGrade, -1);

                Debug.Log("Gathered Grade: " + gatheredQuality);

                Invoke("PhaseOutLogs", 1.0f);
            }
        }
Ejemplo n.º 3
0
        void Split()
        {
            ApplySplitForce();

            LoggingActivityPlayerBehavior.UnsnapPlayer();

            int qualityAverage = QualityMinigame.CalculateAverageGrade(HomesteadStockpile.GetLogsCountAtGrade(maxQualityGrade));

            qualityAverage = Mathf.Clamp(qualityAverage, 0, maxQualityGrade.GetHashCode());

            QualityGrade gatheredQuality = (QualityGrade)qualityAverage;

            HomesteadStockpile.UpdateFirewoodCountAtGrade(gatheredQuality, QualityMinigame.GetUngradedFirewood());

            QualityMinigame.ClearUngradedFirewood();

            Debug.Log("Gathered Grade: " + gatheredQuality);

            Invoke("PhaseOutFirewood", 5f);
        }
Ejemplo n.º 4
0
        public void SawLocation(int loc)
        {
            if (locationStrokeCounts[loc] == 0)
            {
                logMarks[loc].SetActive(false);
            }


            if (locationStrokeCounts[loc] < 5)
            {
                int cut01 = loc == 0 ? 0 : 2;
                int cut02 = loc == 0 ? 1 : 3;

                locationStrokeCounts[loc]++;
                sawProgressCuts[cut01].CutFace(3);
                sawProgressCuts[cut02].CutFace(3);
            }

            if (locationStrokeCounts[loc] == 5)
            {
                snapSpots[loc].enabled  = false;
                locationFullySawed[loc] = true;

                LoggingActivityPlayerBehavior.SetCanPerformAction(false);

                if (locationFullySawed[0] && locationFullySawed[1])
                {
                    PlayerHud.ToggleQualityGame(true);
                    QualityMinigame.StartGame();

                    StartCoroutine(SawThroughAfterGrade(loc));
                }
                else
                {
                    LoggingActivityPlayerBehavior.UnsnapPlayer();
                }
            }
        }