MCPcopy Create free account
hub / github.com/PerroEngine/Perro / parse_set_var

Function parse_set_var

perro_source/core/perro_animation/src/panim/events.rs:26–51  ·  view source on GitHub ↗
(value: &str, line_no: usize)

Source from the content-addressed store, hash-verified

24}
25
26fn parse_set_var(value: &str, line_no: usize) -> Result<AnimationEvent, String> {
27 let value = parse_scene_value_with_refs(value, line_no)?;
28 let fields = as_object(&value).ok_or_else(|| format!("line {}: expected object", line_no))?;
29
30 let mut name = None::<String>;
31 let mut set_value = None::<AnimationParam>;
32 for (k, v) in fields {
33 match k.as_ref() {
34 "name" => {
35 name = as_text(v).map(|s| s.to_string());
36 }
37 "value" => {
38 set_value = Some(parse_param(v, line_no)?);
39 }
40 _ => {}
41 }
42 }
43 let name = name.ok_or_else(|| format!("line {}: set_var requires `name`", line_no))?;
44 let set_value =
45 set_value.ok_or_else(|| format!("line {}: set_var requires `value`", line_no))?;
46
47 Ok(AnimationEvent::SetVar {
48 name: name.into(),
49 value: set_value,
50 })
51}
52
53fn parse_call_method(value: &str, line_no: usize) -> Result<AnimationEvent, String> {
54 let value = parse_scene_value_with_refs(value, line_no)?;

Callers 1

parse_object_blockMethod · 0.85

Calls 5

as_objectFunction · 0.85
as_textFunction · 0.85
parse_paramFunction · 0.85
as_refMethod · 0.45

Tested by

no test coverage detected