// Start is called before the first frame update void Start() { instance = ParkourManager.Instance(); if (instance == null) { this.gameObject.SetActive(false); return; } textComponent = GetComponent <TextMeshProUGUI>(); }
private void OnTriggerEnter(Collider other) { if (other.tag == "Player" && index > 0) { if (ParkourManager.Instance().PlayerEnterCheckpoint(index)) { animator.SetTrigger("isDone"); animator.ResetTrigger("isReset"); } } }
// Start is called before the first frame update void Start() { instance = ParkourManager.Instance(); if (instance == null) { this.gameObject.SetActive(false); return; } timeTextComponent = transform.Find("TimeFeedback").GetComponent <TextMeshProUGUI>(); timeDiffTextComponent = transform.Find("TimeDiffFeedback").GetComponent <TextMeshProUGUI>(); initalSize = timeTextComponent.fontSize; ParkourManager.OnCheckpointDone += UpdateFeedback; }
public static void ResetGameplay() { ParkourManager instance = ParkourManager.Instance(); instance.spectatingCamera.GetComponent <Camera>().enabled = false; instance.spectatingCamera.SetActive(false); instance.playerMovement.cam.GetComponent <Camera>().enabled = true; instance.playerMovement.enabled = true; instance.playerMovement.CanMove = false; instance.cameraMove.enabled = true; instance.player.GetComponent <Animator>().Rebind(); if (instance.firstRun) { instance.startingCheckpoint.StartRun(); } else { instance.player.transform.position = instance.checkpoints[0].transform.position; instance.player.transform.rotation = Quaternion.identity; instance.playerRigidbody.velocity = Vector3.zero; instance.timer = 0; instance.lastCheckpoint = 0; instance.isFinished = false; instance.isStarted = false; foreach (var trigger in instance.triggerBuffer) { trigger.ResetTrigger(); } instance.triggerBuffer.Clear(); instance.targetBuffer.Clear(); instance.hitBuffer.Clear(); foreach (var checkpoint in instance.checkpoints) { checkpoint.ResetCheckpoint(); instance.timerByCheckpoint.Clear(); } instance.startingCheckpoint.ResetRun(); } instance.firstRun = false; instance.SwitchParkourState(ParkourState.Gameplay); }
public void SwitchCanvas(ParkourState state) { introCanvas.gameObject.SetActive(false); GameplayCanvas.gameObject.SetActive(false); ScoringCanvas.gameObject.SetActive(false); switch (state) { case ParkourState.Intro: introCanvas.gameObject.SetActive(true); parkourNameDisplay.text = ParkourManager.Instance().parkourData.displayName; break; case ParkourState.Gameplay: GameplayCanvas.gameObject.SetActive(true); break; case ParkourState.Scoring: scoringParkourNameDisplay.text = ParkourManager.Instance().parkourData.displayName; chronoDisplay.text = ChronoUI.TimerToChrono(ParkourManager.Instance().GetTimer()); chronoScoreDisplay.text = ParkourManager.Instance().TimeScore().ToString(); Dictionary <int, int> hits = new Dictionary <int, int>(); int hitsScoreTotal = 0; foreach (int i in Enum.GetValues(typeof(HitFeedback))) { hits.Add(i, 0); } foreach (var hit in ParkourManager.Instance().hits) { hits[(int)hit.feedback]++; hitsScoreTotal += hit.score; } hitsScore.text = hitsScoreTotal.ToString(); for (int i = 0; i < hitType.Length; i++) { hitType[i].text = hits[i].ToString(); } totalScore.text = ParkourManager.Instance().score.ToString(); ScoringCanvas.gameObject.SetActive(true); break; } }
public void Start() { ParkourManager.OnParkourSwitchState += SwitchCanvas; // Setup Retry buttons transform.Find("ScoringCanvas/Image/ButtonsRow/retry") .GetComponent <Button>() .onClick.AddListener(ParkourManager.ResetGameplay); transform.Find("ScoringCanvas/Image/ButtonsRowWithNextLevel/retry") .GetComponent <Button>() .onClick.AddListener(ParkourManager.ResetGameplay); // Next Level buttons Button button = transform.Find("ScoringCanvas/Image/ButtonsRowWithNextLevel/nextLevel") .GetComponent <Button>(); button.onClick.AddListener(() => { Loader.Load(ParkourManager.Instance().parkourData.nextParkour.scene.SceneName); }); // Setup return menu buttons transform.Find("ScoringCanvas/Image/ButtonsRow/return") .GetComponent <Button>() .onClick.AddListener(ParkourManager.ResetGameplay); transform.Find("ScoringCanvas/Image/ButtonsRowWithNextLevel/return") .GetComponent <Button>() .onClick.AddListener(ParkourManager.ResetGameplay); if (ParkourManager.Instance().parkourData.nextParkour) { transform.Find("ScoringCanvas/Image/ButtonsRowWithNextLevel").gameObject.SetActive(true); } else { transform.Find("ScoringCanvas/Image/ButtonsRow").gameObject.SetActive(true); } }
// Update is called once per frame void Update() { if (ParkourManager.Instance()) { if (ParkourManager.Instance().parkourState != ParkourState.Gameplay) { return; } } if (Input.GetButtonDown("Fire1") && !reloading) { if (amountOfBullets <= 0) { reloadMessage.text = "You need to reload ! (press R)"; } else { shoot(); } } if (getReloading() && Time.time - getReloadStartTime() > reloadingTime) { setReloading(false); reloadMessage.text = ""; } if (getReloading()) { reloadMessage.text = "Reloading"; } if (Input.GetKeyDown("r") && getAmountOfBullets() < maxAmo) { reload(); } if (bullets) { bullets.text = getAmountOfBullets().ToString(); } }
// Update is called once per frame void Update() { textComponent.text = TimerToChrono(ParkourManager.Instance().GetTimer()); }
public void TriggerStartRun() { ParkourManager.Instance().StartRun(); animator.ResetTrigger("Reset"); }