diff options
| author | J08nY | 2017-04-24 02:23:37 +0200 |
|---|---|---|
| committer | J08nY | 2017-04-24 02:23:37 +0200 |
| commit | 8f1613ca0fab95fe837d9278e7829f70fb7bc934 (patch) | |
| tree | 572ebdce96d1e1734d5175d646fe2248d483cff2 /scripts/template.gd | |
| parent | cfe4ce0fb4705a6c231528d60e4833c4dc2ec68f (diff) | |
| download | ld38-8f1613ca0fab95fe837d9278e7829f70fb7bc934.tar.gz ld38-8f1613ca0fab95fe837d9278e7829f70fb7bc934.tar.zst ld38-8f1613ca0fab95fe837d9278e7829f70fb7bc934.zip | |
Diffstat (limited to 'scripts/template.gd')
| -rw-r--r-- | scripts/template.gd | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/template.gd b/scripts/template.gd new file mode 100644 index 0000000..6e1affc --- /dev/null +++ b/scripts/template.gd @@ -0,0 +1,30 @@ +extends Node + +var data = null +var regex = null + +func _init(path): + var file = File.new() + file.open(path, File.READ) + var content = file.get_as_text() + file.close() + self.data = parse_json(content) + self.regex = RegEx.new() + self.regex.compile("/(.*?)/") + +func replace_all(base, values): + var mtch = self.regex.search(base) + while mtch != null: + var key = mtch.get_string(1) + var replace = "" + if values.has(key): + var from = values[key] + if typeof(from) == TYPE_DICTIONARY: + replace = from[from.keys()[randi() % from.size()]] + elif typeof(from) == TYPE_ARRAY: + replace = from[randi() % from.size()] + else: + replace = str(from) + base = self.regex.sub(base, replace) + mtch = self.regex.search(base) + return base
\ No newline at end of file |
