public void UpdateToCurrentFrame()
    {
        currentState.Reset();
        currentState.dialogueUuid.value = dialogueValues.uuid;
        previousText = "";
        DialogueActionData data;
        DialogueAction     da;
        int stopPoint = selAction + 1;       //(dialogueValues.actions[selFrame].type == DActionType.MOVEMENT) ? selFrame : selFrame+1;

        for (int i = 0; i < stopPoint; i++)
        {
            data = dialogueValues.actions[i];
            da   = DialogueAction.CreateAction(data.type);
            da.Act(currentState, data);
            if (data.type == DActionType.SET_TEXT)
            {
                previousText = (!data.boolValue) ? previousText + data.text[1] : data.text[1];
            }
        }

        currentState.backgroundChanged.Invoke();
        currentState.bkgMusicChanged.Invoke();
        currentState.characterChanged.Invoke();
        currentState.closeupChanged.Invoke();
        Debug.Log("TEXT:  " + currentState.dialogueText.value);

        Debug.Log("Updated to current state");
    }
    public void CreateBasicActions()
    {
        actions = new List <DialogueActionData>();
        DialogueActionData data = new DialogueActionData()
        {
            type = DActionType.SET_BKG
        };

        DialogueAction.CreateAction(data.type).FillData(data);
        actions.Add(data);
        data = new DialogueActionData()
        {
            type = DActionType.SET_MUSIC
        };
        DialogueAction.CreateAction(data.type).FillData(data);
        actions.Add(data);
        data = new DialogueActionData()
        {
            type = DActionType.SET_CHARS
        };
        DialogueAction.CreateAction(data.type).FillData(data);
        actions.Add(data);
        data = new DialogueActionData()
        {
            type = DActionType.SET_TEXT
        };
        DialogueAction.CreateAction(data.type).FillData(data);
        actions.Add(data);
        data = new DialogueActionData()
        {
            type = DActionType.END_SCENE
        };
        DialogueAction.CreateAction(data.type).FillData(data);
        actions.Add(data);
    }
Beispiel #3
0
 public void UpdateRealScene()
 {
     if (dialogueValues.actions[selAction].type == DActionType.SET_TEXT)
     {
         DialogueAction.CreateAction(dialogueValues.actions[selAction].type).Act(currentState, dialogueValues.actions[selAction]);
     }
     dvc = GameObject.FindObjectOfType <DialogueVisualContainer>();
     dvc.background.UpdateBackground();
     for (int i = 0; i < dvc.characters.Length; i++)
     {
         dvc.characters[i].UpdateCharacter();
     }
     dvc.textBox.text   = dvc.currentDialogueText.value;
     dvc.musicText.text = (dvc.currentMusic.value) ? dvc.currentMusic.value.name : "[NO MUSIC]";
 }
    public void InsertAction(DActionType type)
    {
        if (selAction < 2 || dialogueValues.actions[selAction].type == DActionType.END_SCENE)
        {
            return;
        }

        Debug.Log("Adding type : " + type);
        DialogueActionData data = new DialogueActionData();
        DialogueAction     da   = DialogueAction.CreateAction(type);

        da.FillData(data);

        dialogueValues.InsertAction(selAction + 1, data);
        selAction++;

        SaveSelectedDialogue();
    }
Beispiel #5
0
    private IEnumerator RunNextFrame()
    {
        isWaiting = true;
        while (currentAction.value < dialogueEntry.actions.Count)
        {
            DialogueActionData data = dialogueEntry.actions[currentAction.value];
            DialogueAction     da   = DialogueAction.CreateAction(data.type);
            bool res = da.Act(scene, data);
            if (data.type == DActionType.MOVEMENT)
            {
                for (int i = 0; i < Utility.DIALOGUE_PLAYERS_COUNT + Utility.DIALOGUE_PLAYERS_OUTSIDE_COUNT; i++)
                {
                    float speed = data.values[0] * 0.001f;
                    scene.characterTransforms[i].MoveCharacter(speed);
                }
            }

            RunEvents(data.type, res);
            currentAction.value++;

            if (data.useDelay)
            {
                if (data.type != DActionType.SET_TEXT && data.type != DActionType.END_SCENE)
                {
                    yield return(new WaitForSeconds(scene.effectStartDuration.value));

                    yield return(new WaitForSeconds(scene.effectEndDuration.value));
                }
            }

            if (!data.autoContinue)
            {
                break;
            }
        }
        isWaiting = false;
        yield break;
    }