private void SaveDialogue(int rowIndex)
        {
            if (rowIndex == -1 || CurrentNode is null || !DialogueTable.Enabled)
            {
                return;
            }
            DialogueTable.Enabled = false;
            DialogueTable.EndEdit();
            DialogueTable.ClearSelection();
            DialogueTable.Enabled = true;
            var row = DialogueTable.Rows[rowIndex]; // row already exists

            if (row.IsNewRow)
            {
                return;               // dont care, can't save that
            }
            var    dialogue        = CurrentNode.Dialogues[rowIndex];
            string chosenCharacter = (string)row.Cells[CharacterColumn.Index].Value;

            if (chosenCharacter != null)
            {
                dialogue.Speaker = Character.Characters[chosenCharacter];
            }
            dialogue.Text = (string)row.Cells[DialogueColumn.Index].Value;
            SetTitle(true);
        }
 public void NPC_ResponseToBad()
 {
     PlayerNotoriety.DecreasePlayerNotoriety();
     npcText.text = DialogueTable.PickRandomResponse();
     isTalking    = false;
     UnFreezeScene();
 }
Example #3
0
    private IEnumerator PopupDialogue()
    {
        isTalking = true;
        GameObject newDialouge = Instantiate(dialogueUIPrefab, transform.position + (Vector3.up * distanceAboveHead), Quaternion.identity) as GameObject;

        newDialouge.GetComponent <DialogueUIManager>().SetDialogueText(DialogueTable.PickRandomPassive());
        newDialouge.GetComponent <DialogueUIManager>().SetTransformToFollow(transform);
        newDialouge.GetComponent <DialogueUIManager>().SetDistanceAbovehead(distanceAboveHead);

        yield return(new WaitForSeconds(prefabDelayTime));

        isTalking = false;
        Destroy(newDialouge);
    }
Example #4
0
 public void LoadInitTable()
 {
     LoadTable <MiscTable>(ResManager.MISC_TABLE, (value) => {
         ResManager.Instance.miscTable = value;
         ResManager.Instance.miscTable.Init();
     });
     LoadTable <AudioTable>(ResManager.AUDIO_TABLE, (value) => { ResManager.Instance.audioTable = value; });
     LoadTable <LocalizationTable>(ResManager.LOCALIZATION_TABLE, (value) => { ResManager.Instance.localizationTable = value; });
     LoadTable <SceneTable>(ResManager.SCENE_TABLE, (value) => { ResManager.Instance.sceneTable = value; });
     LoadTable <LevelTable>(ResManager.LEVEL_TABLE, (value) => { ResManager.Instance.levelTable = value; });
     LoadTable <DialogueTable>(DIALOGUE_TABLE, (value) => { dialogueTable = value; });
     LoadTable <CardTable>(CARD_TABLE, (value) => { cardTable = value; });
     LoadTable <UnitTable>(UNIT_TABLE, (value) => { unitTable = value; });
 }
    public void StartDialogue()
    {
        FreezeScene();

        isTalking = true;

        npcText.text = DialogueTable.PickRandomGreeting();

        int ran1 = Random.Range(0, DialogueTable.choicesGood.Capacity - 1);

        dialogueButtons[0].GetComponentInChildren <Text>().text = DialogueTable.choicesGood[ran1];
        int ran2 = Random.Range(0, DialogueTable.choicesBad.Capacity - 1);

        dialogueButtons[1].GetComponentInChildren <Text>().text = DialogueTable.choicesBad[ran2];
    }