randomize dialog json array if given

This commit is contained in:
2022-11-30 00:31:02 +01:00
parent 078695b02d
commit f0bf7b1966

View File

@@ -1,10 +1,13 @@
using Godot; using Godot;
using Godot.Collections; using Godot.Collections;
using System; using System;
public partial class dialog_trigger_area : Area2D public partial class dialog_trigger_area : Area2D
{ {
[Export(PropertyHint.File, "*json")] [Export(PropertyHint.File, "*json")]
string dialogFile; string dialogFile;
public string currentKey = "randomWelcomeText";
public override void _Ready() public override void _Ready()
{ {
using var file = FileAccess.Open(dialogFile, FileAccess.ModeFlags.Read); 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); var jsonFile = JSON.ParseString(text);
Dictionary allDialog = (Dictionary)jsonFile; 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]);
}
} }
} }