blob: 6e1affca5b0cc0a32a54a5dcc1ad20c236a6a892 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
|