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); }
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); } }
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); }
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(); } } }