コード例 #1
0
    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;
        }
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    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;
        }
    }
コード例 #4
0
 private void Challenge_OnChallengeEnd(ChallengePickup.ChallengeType challengeType)
 {
     _completedChallengeCount++;
     OnChallegeComplete?.Invoke(challengeType);
 }