Added Glitch Room Source code to Gitty
This commit is contained in:
commit
1ac9eb5644
505 files changed
+28504
No files matched your search
@@ -0,0 +1,146 @@
|
||||
extends Node
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
|
||||
var room := RoomDefinition.new()
|
||||
|
||||
var immediate_rule := RoomLogicRule.new()
|
||||
|
||||
immediate_rule.rule_id = (
|
||||
&"win_turns_on_light"
|
||||
)
|
||||
|
||||
immediate_rule.source_id = (
|
||||
&"Cabinet01"
|
||||
)
|
||||
|
||||
immediate_rule.event_id = (
|
||||
&"game_won"
|
||||
)
|
||||
|
||||
immediate_rule.target_id = (
|
||||
&"StartLight01"
|
||||
)
|
||||
|
||||
immediate_rule.action_id = (
|
||||
&"turn_on"
|
||||
)
|
||||
|
||||
immediate_rule.delay_seconds = (
|
||||
0.0
|
||||
)
|
||||
|
||||
|
||||
var delayed_rule := RoomLogicRule.new()
|
||||
|
||||
delayed_rule.rule_id = (
|
||||
&"win_unlocks_drawer"
|
||||
)
|
||||
|
||||
delayed_rule.source_id = (
|
||||
&"Cabinet01"
|
||||
)
|
||||
|
||||
delayed_rule.event_id = (
|
||||
&"game_won"
|
||||
)
|
||||
|
||||
delayed_rule.target_id = (
|
||||
&"DrawerLock01"
|
||||
)
|
||||
|
||||
delayed_rule.action_id = (
|
||||
&"unlock"
|
||||
)
|
||||
|
||||
delayed_rule.delay_seconds = (
|
||||
2.0
|
||||
)
|
||||
|
||||
|
||||
room.logic_rules = [
|
||||
immediate_rule,
|
||||
delayed_rule,
|
||||
]
|
||||
|
||||
|
||||
var engine := RoomLogicEngine.new()
|
||||
|
||||
engine.configure(
|
||||
room
|
||||
)
|
||||
|
||||
engine.event_received.connect(
|
||||
func(
|
||||
source_id: StringName,
|
||||
event_id: StringName
|
||||
) -> void:
|
||||
|
||||
print(
|
||||
"[LOGIC TEST] EVENT ",
|
||||
source_id,
|
||||
".",
|
||||
event_id
|
||||
)
|
||||
)
|
||||
|
||||
engine.rule_triggered.connect(
|
||||
func(
|
||||
rule_id: StringName,
|
||||
_source_id: StringName,
|
||||
_event_id: StringName,
|
||||
_target_id: StringName,
|
||||
_action_id: StringName
|
||||
) -> void:
|
||||
|
||||
print(
|
||||
"[LOGIC TEST] RULE ",
|
||||
rule_id
|
||||
)
|
||||
)
|
||||
|
||||
engine.action_requested.connect(
|
||||
func(
|
||||
target_id: StringName,
|
||||
action_id: StringName,
|
||||
rule_id: StringName
|
||||
) -> void:
|
||||
|
||||
print(
|
||||
"[LOGIC TEST] ACTION ",
|
||||
target_id,
|
||||
".",
|
||||
action_id,
|
||||
" from ",
|
||||
rule_id,
|
||||
" at ",
|
||||
engine.get_simulation_time()
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
print(
|
||||
"--- FIRE GAME WON ---"
|
||||
)
|
||||
|
||||
engine.emit_event(
|
||||
&"Cabinet01",
|
||||
&"game_won"
|
||||
)
|
||||
|
||||
print(
|
||||
"--- ADVANCE 1 SECOND ---"
|
||||
)
|
||||
|
||||
engine.advance(
|
||||
1.0
|
||||
)
|
||||
|
||||
print(
|
||||
"--- ADVANCE 1 MORE SECOND ---"
|
||||
)
|
||||
|
||||
engine.advance(
|
||||
1.0
|
||||
)
|
||||
Reference in new issue
Block a user