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(); }
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); }
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]; }