Exemplo n.º 1
0
 private void CheckGoldReference()
 {
     if (GM == null)
     {
         GM = FindObjectOfType <GoldManagement>();
     }
 }
    IEnumerator LateInitialization()
    {
        yield return(null);

        EnemySpawner enemySpawner = FindObjectOfType <EnemySpawner>();

        enemySpawner.SetDelayedSpawnTime(25f);
        GoldManagement GM = FindObjectOfType <GoldManagement>();

        GM.SetGoldAmount(94);
    }
    IEnumerator ConversationPicker()
    {
        List <string>  promptTexts = new List <string>();
        List <Texture> prompImages = new List <Texture>();

        switch (conversationTracker)
        {
        case 0:
            typingSpeed           = .5f;
            personTalking.texture = soldierNeutral;
            talking = conversations[conversationTracker];
            conversationTracker++;

            //testing
            //List<string> x = new List<string>() { "x", "y" };
            //List<Texture> y = new List<Texture>() { soldierNeutral, soldierScared };
            //var prompt = Instantiate(moreInformationPrompt, transform.position, Quaternion.identity, gameObject.transform);
            //prompt.GetComponentInChildren<MoreInformationPanel>().DelayedInitialization(y, x);
            break;

        case 1:
            typingSpeed           = .02f;
            personTalking.texture = soldierNeutral;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 2:
            personTalking.texture = soldierNeutral;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 3:
            personTalking.texture = generalShouting;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 4:
            // To make the character run in scene
            timeToRun = true;
            SpawnTheEnemiesAtScreem();

            GM = FindObjectOfType <GoldManagement>();

            GM.Started();

            personTalking.texture = soldierScared;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 5:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            Time.timeScale = .2f;
            break;

        case 6:
            personTalking.texture = generalShouting;
            talking = conversations[conversationTracker];
            conversationTracker++;
            Time.timeScale = 0f;
            break;

        case 7:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;

            towerButton.gameObject.SetActive(true);
            spotLight.gameObject.SetActive(true);
            spotLight.transform.position = (waypoint1.transform.position + new Vector3(0f, lightHeight, 0f));
            isLastChatSegment            = true;
            towerButton.enabled          = true;

            promptTexts = new List <string>()
            {
                waveExplanation, goldExplanation, towerButtonExplanation, enemyPathwayExplanation
            };
            prompImages = new List <Texture>()
            {
                waveImage, goldImage, towerButtonImage, enemyPathwayImage
            };
            prompt = Instantiate(moreInformationPrompt, transform.position, Quaternion.identity, gameObject.transform);
            prompt.DelayedInitialization(prompImages, promptTexts);

            break;

        case 8:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 9:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            isLastChatSegment = true;     // SIGH maybe use this bool to make an if in the slowtalk function so IF this is enabled, it swaps the one that it looks at in the function to disable below... w/e
            break;

        case 10:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 11:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            isLastChatSegment = true;
            break;

        case 12:
            personTalking.texture = soldierNeutral;
            talking = conversations[conversationTracker];
            conversationTracker++;
            Time.timeScale = .2f;
            break;

        case 13:
            personTalking.texture = soldierScared;
            talking = conversations[conversationTracker];
            conversationTracker++;
            break;

        case 14:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            spotLight.gameObject.SetActive(true);
            spotLight.transform.position = (waypoint2.transform.position + new Vector3(0f, lightHeight, 0f));
            break;

        case 15:
            personTalking.texture = general;
            talking = conversations[conversationTracker];
            conversationTracker++;
            Time.timeScale    = 0f;
            isLastChatSegment = true;

            promptTexts = new List <string>()
            {
                enemyTypesExplanation
            };
            prompImages = new List <Texture>()
            {
                enemyDoubleImage
            };
            prompt = Instantiate(moreInformationPrompt, transform.position, Quaternion.identity, gameObject.transform);
            prompt.DelayedInitialization(prompImages, promptTexts);
            break;
        }

        yield break;
    }
Exemplo n.º 4
0
 public virtual void DelayedStart()
 {
     gold = FindObjectOfType <GoldManagement>();
 }