MCPcopy Create free account
hub / github.com/aspizu/goboscript / event

Method event

src/codegen/sb3.rs:1060–1081  ·  view source on GitHub ↗
(&mut self, s: S, d: D, event: &Event)

Source from the content-addressed store, hash-verified

1058 }
1059
1060 pub fn event(&mut self, s: S, d: D, event: &Event) -> io::Result<()> {
1061 let this_id = self.id.new_id();
1062 let next_id = self.id.new_id();
1063 self.begin_node(
1064 Node::new(event.kind.opcode(), this_id)
1065 .some_next_id((!event.body.is_empty()).then_some(next_id))
1066 .top_level(true),
1067 )?;
1068 match &event.kind {
1069 EventKind::On { event } => self.on(event),
1070 EventKind::OnFlag => self.on_flag(),
1071 EventKind::OnKey { key, span } => self.on_key(s, d, this_id, key, span),
1072 EventKind::OnClick => self.on_click(s, d, this_id),
1073 EventKind::OnBackdrop { backdrop, span } => {
1074 self.on_backdrop(s, d, this_id, backdrop, span)
1075 }
1076 EventKind::OnLoudnessGt { value } => self.on_loudness_gt(s, d, this_id, value),
1077 EventKind::OnTimerGt { value } => self.on_timer_gt(s, d, this_id, value),
1078 EventKind::OnClone => self.on_clone(s, d, this_id),
1079 }?;
1080 self.stmts(s, d, &event.body, next_id, Some(this_id))
1081 }
1082
1083 pub fn stmts(
1084 &mut self,

Callers 1

spriteMethod · 0.80

Calls 15

newFunction · 0.85
new_idMethod · 0.80
begin_nodeMethod · 0.80
top_levelMethod · 0.80
some_next_idMethod · 0.80
onMethod · 0.80
on_flagMethod · 0.80
on_keyMethod · 0.80
on_clickMethod · 0.80
on_backdropMethod · 0.80
on_loudness_gtMethod · 0.80
on_timer_gtMethod · 0.80

Tested by

no test coverage detected