Exemple #1
0
    IEnumerator WriteTextfield(LevelScript.LevelEvent levelEvent)
    {
        stop = true;
        yield return(new WaitForSeconds(0.1f));

        stop = false;

        textfield.text = "";
        foreach (char letter in levelEvent.spokenText)
        {
            if (stop)
            {
                break;
            }
            textfield.text += letter;
            yield return(new WaitForSeconds(0.05f));
        }

        if (levelEvent.title == "Decision")
        {
            int val = -1;
            while (val < 0)
            {
                if (Input.GetKey(KeyCode.Alpha1))
                {
                    val = 1;
                }
                if (Input.GetKey(KeyCode.Alpha2))
                {
                    val = 2;
                }
                if (Input.GetKey(KeyCode.Alpha3) && levelEvent.eventVal > 2)
                {
                    val = 2;
                }
                yield return(new WaitForEndOfFrame());
            }
            manager.StartExecutingEvents("decision_" + SequenceCount + "_" + val.ToString());
        }

        manager.OnTriggerMove(0);
        yield break;
    }
Exemple #2
0
    public void Speak(LevelScript.LevelEvent levelEvent)
    {
        textFields.SetActive(true);
        textfield.text = "";

        string expression = "";

        switch (levelEvent.expression)
        {
        case LevelScript.Expression.none:   expression = "none"; break;

        case LevelScript.Expression.happy:  expression = "happy"; break;

        case LevelScript.Expression.angry:  expression = "angry"; break;

        case LevelScript.Expression.annoyed: expression = "annoyed"; break;

        case LevelScript.Expression.sad:    expression = "sad"; break;
        }

        Sprite face = Resources.Load <Sprite>("Faces/" + expression + "/" + levelEvent.focus);

        if (face)
        {
            faceField.transform.GetChild(0).GetComponent <Image>().sprite = face;
            faceField.SetActive(true);
            nameField.transform.GetChild(0).GetComponent <Text>().text = levelEvent.focus;
        }
        else
        {
            faceField.SetActive(false);
            nameField.SetActive(true);
            nameField.transform.GetChild(0).GetComponent <Text>().text = levelEvent.focus;
        }
        speakField.SetActive(true);
        gameObject.SetActive(true);

        StartCoroutine(WriteTextfield(levelEvent));
    }