public void ActivateChallenge(ChallengePickup.ChallengeType challengeType) { Challenge challenge; switch (challengeType) { case ChallengePickup.ChallengeType.CRATE_RAIN: challenge = Instantiate(_crateRainChallengeCrateRainPrefab).GetComponent <Challenge>(); challenge.OnChallengeEnd += Challenge_OnChallengeEnd; break; case ChallengePickup.ChallengeType.LAUCHING_CRATES: challenge = Instantiate(_launchingCratesChallengePrefab).GetComponent <Challenge>(); challenge.OnChallengeEnd += Challenge_OnChallengeEnd; break; } }
private void ChallengeManager_OnChallengeEnded(ChallengePickup.ChallengeType obj) { int gettingPoints = 0; switch (obj) { case ChallengePickup.ChallengeType.CRATE_RAIN: gettingPoints = 100; break; case ChallengePickup.ChallengeType.LAUCHING_CRATES: gettingPoints = 150; break; } _points += gettingPoints * _challengeCount; Debug.Log(_points); }
public void SpawnCrate(ChallengePickup.ChallengeType challengeType) { Crate crate = _cratePool.GetPooledObject <Crate>(); switch (challengeType) { case ChallengePickup.ChallengeType.CRATE_RAIN: crate.gameObject.transform.position = GenerateTopSpawnPosition(); crate.gameObject.SetActive(true); crate.ChallengeRainCrate(); break; case ChallengePickup.ChallengeType.LAUCHING_CRATES: crate.gameObject.transform.position = GenerateSideSpawnPosition(); crate.gameObject.SetActive(true); crate.ChallengeLauchCrate(); break; } }
private void Challenge_OnChallengeEnd(ChallengePickup.ChallengeType challengeType) { _completedChallengeCount++; OnChallegeComplete?.Invoke(challengeType); }