randomize dialog json array if given
This commit is contained in:
@@ -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]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user