From f0bf7b1966c0bbdbc5d10ab11f1b22dc28e5ef70 Mon Sep 17 00:00:00 2001 From: vaporvee Date: Wed, 30 Nov 2022 00:31:02 +0100 Subject: [PATCH] randomize dialog json array if given --- src/scene-scripts/gui/dialog_trigger_area.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/scene-scripts/gui/dialog_trigger_area.cs b/src/scene-scripts/gui/dialog_trigger_area.cs index abd7c5d..19a9196 100644 --- a/src/scene-scripts/gui/dialog_trigger_area.cs +++ b/src/scene-scripts/gui/dialog_trigger_area.cs @@ -1,10 +1,13 @@ using Godot; using Godot.Collections; using System; + public partial class dialog_trigger_area : Area2D { [Export(PropertyHint.File, "*json")] string dialogFile; + + public string currentKey = "randomWelcomeText"; public override void _Ready() { using var file = FileAccess.Open(dialogFile, FileAccess.ModeFlags.Read); @@ -12,8 +15,15 @@ public partial class dialog_trigger_area : Area2D var jsonFile = JSON.ParseString(text); Dictionary allDialog = (Dictionary)jsonFile; - GD.Print(allDialog["randomWelcomeText"]); - + try + { + string[] dialogPart = allDialog[currentKey].AsStringArray(); + GD.Print(dialogPart[GD.Randi() % dialogPart.Length]); + } + catch + { + GD.Print(allDialog[currentKey]); + } } }