84 lines
4.2 KiB
Diff
84 lines
4.2 KiB
Diff
diff --git a/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd b/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd
|
|
index 4205f92d..26399e77 100644
|
|
--- a/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd
|
|
+++ b/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd
|
|
@@ -3,7 +3,7 @@ extends RefCounted
|
|
class_name ESCInterpreterFactory
|
|
|
|
|
|
-static var _interpreter: ESCInterpreter = null
|
|
+var _interpreter: ESCInterpreter = null
|
|
|
|
|
|
## Produces an interpreter as a singleton.[br]
|
|
@@ -15,7 +15,7 @@ static var _interpreter: ESCInterpreter = null
|
|
## #### Returns[br]
|
|
## [br]
|
|
## Returns a `ESCInterpreter` value. (`ESCInterpreter`)
|
|
-static func create_interpreter() -> ESCInterpreter:
|
|
+func create_interpreter() -> ESCInterpreter:
|
|
if not _interpreter:
|
|
_interpreter = load("res://addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter.gd").new(ESCCompiler.load_commands(), ESCCompiler.load_globals())
|
|
return _interpreter
|
|
@@ -25,7 +25,7 @@ static func create_interpreter() -> ESCInterpreter:
|
|
return _interpreter
|
|
|
|
|
|
-static func reset_interpreter() -> void:
|
|
+func reset_interpreter() -> void:
|
|
if is_instance_valid(_interpreter):
|
|
_interpreter.cleanup()
|
|
_interpreter = null
|
|
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd
|
|
index 28d867c3..d9f89017 100644
|
|
--- a/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd
|
|
+++ b/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd
|
|
@@ -726,7 +726,7 @@ func _telekinetic_applies_to(event: ESCGrammarStmts.Event) -> bool:
|
|
var tk_flag_condition = event.get_flags_with_conditions().get("TK")
|
|
|
|
if tk_flag_condition:
|
|
- var interpreter: ESCInterpreter = ESCInterpreterFactory.create_interpreter()
|
|
+ var interpreter: ESCInterpreter = escoria.interpreter_factory.create_interpreter()
|
|
|
|
var result = interpreter.look_up_global(tk_flag_condition.get_name())
|
|
|
|
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd b/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd
|
|
index c029f476..41536d39 100644
|
|
--- a/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd
|
|
+++ b/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd
|
|
@@ -123,7 +123,7 @@ func _compiler_shim(source: String, filename: String = "", associated_global_id:
|
|
|
|
# Some static analysis
|
|
if not had_error and _run_script_analysis():
|
|
- var resolver: ESCResolver = ESCResolver.new(ESCInterpreterFactory.create_interpreter())
|
|
+ var resolver: ESCResolver = ESCResolver.new(escoria.interpreter_factory.create_interpreter())
|
|
resolver.resolve(parsed_statements)
|
|
|
|
if not filename.is_empty():
|
|
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd
|
|
index 78c992a0..6ee5381a 100644
|
|
--- a/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd
|
|
+++ b/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd
|
|
@@ -229,7 +229,7 @@ func _process(delta: float) -> void:
|
|
#var rc = _running_events[channel_name].run()
|
|
#escoria.interpreter.reset()
|
|
#var resolver: ESCResolver = ESCResolver.new(escoria.interpreter)
|
|
- var interpreter: ESCInterpreter = ESCInterpreterFactory.create_interpreter()
|
|
+ var interpreter: ESCInterpreter = escoria.interpreter_factory.create_interpreter()
|
|
var resolver: ESCResolver = ESCResolver.new(interpreter)
|
|
var event = _running_events[channel_name]
|
|
|
|
diff --git a/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd b/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd
|
|
index 1358239c..b91a3661 100644
|
|
--- a/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd
|
|
+++ b/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd
|
|
@@ -107,7 +107,7 @@ func is_valid() -> bool:
|
|
## Returns a `int` value. (`int`)
|
|
func run() -> int:
|
|
if parsed_statements.size() > 0:
|
|
- var interpreter = ESCInterpreterFactory.create_interpreter()
|
|
+ var interpreter = escoria.interpreter_factory.create_interpreter()
|
|
var resolver: ESCResolver = ESCResolver.new(interpreter)
|
|
resolver.resolve(parsed_statements)
|
|
|