コード例 #1
0
    private void ProcessDialogue()
    {
        Dialogue temDia = dialogue.Dequeue();

        if (temDia.seconds > 0)
        {
            ToggleDialogue(false);
            timerDialogueText.color = new Color(timerDialogueText.color.r, timerDialogueText.color.g, timerDialogueText.color.b, 1);
            timerDialogueText.text  = temDia.sentences;
            fadeSentenceAction      = temDia.action;
            Invoke("StartFadeInWords", temDia.seconds - 0.25f);
        }
        else
        {
            ToggleDialogue(true);
            nameText.text = temDia.name;
            string sentence = temDia.sentences;
            StopAllCoroutines();
            StartCoroutine(TypeSentence(sentence));
            if (temDia.action.actionType.Trim().ToLower() == "option")
            {
                CSV_ActionHandler.HandleAction(temDia.action);
                afterDialogue = new CSV_Action("", "");
            }
            else
            {
                afterDialogue = temDia.action;
            }
        }
    }
コード例 #2
0
 void Awake()
 {
     dialogue      = new Queue <Dialogue>();
     cameraLock    = FindObjectOfType <CameraLock>();
     optionManager = FindObjectOfType <OptionManager>().gameObject;
     afterDialogue = new CSV_Action("", "");
 }
コード例 #3
0
 public void CallFunction(CSV_Action action)
 {
     switch (int.Parse(action.parm))
     {
     case 1:
         Function1();
         break;
     }
 }
コード例 #4
0
    public void CreateOptionButton(CSV_Action action)
    {
        Vector3 buttonPos = new Vector3(Screen.width / 2, Screen.height / 2 + 30, 0);

        foreach (CSV_Option option in CSV_DataBase.Option[int.Parse(action.parm) - 1])
        {
            GameObject createdButton = Instantiate(Button, FindObjectOfType <OptionManager>().transform);
            createdButton.transform.position = buttonPos;
            createdButton.transform.Find("Text").GetComponent <Text>().text = option.optionName;
            createdButton.GetComponent <Button>().onClick.AddListener(() => ActionToMake(option.action));
            buttonPos += new Vector3(0, -50, 0);
        }
    }
コード例 #5
0
    public static void HandleAction(CSV_Action action)
    {
        switch (action.actionType.Trim().ToLower())
        {
        case "option":
            FindObjectOfType <OptionManager>().CreateOptionButton(action);
            break;

        case "dialogue":
            string[] parmData = action.parm.Split('|');
            //print((int.Parse(parmData[0]) - 1 )+ "   " + (int.Parse(parmData[1]) - 1));
            FindObjectOfType <DialogueManager>().StartDialogue(int.Parse(parmData[0]), int.Parse(parmData[1]));
            break;

        case "script":
            FindObjectOfType <CSV_SpecialScriptToCall>().CallFunction(action);
            break;

        default:
            break;
        }
    }
コード例 #6
0
 void ActionToMake(CSV_Action action)
 {
     CSV_ActionHandler.HandleAction(action);
     DestroyButtons();
 }