(state: &EditorState)
| 2231 | }; |
| 2232 | InspectorOverrideView { |
| 2233 | script_defaults: inspector_script_var_default_fields_for_node(state, node_ref), |
| 2234 | script_fields: inspector_script_var_fields_for_node(state, node_ref), |
| 2235 | scene_fields: inspector_scene_value_fields_for_node(node_ref), |
| 2236 | scene_defaults: inspector_scene_default_value_fields_for_type(node_ref.data.node_type), |
| 2237 | node, |
| 2238 | } |
| 2239 | }).unwrap_or_default() |
| 2240 | } |
| 2241 | |
| 2242 | fn inspector_row_has_override(view: &InspectorOverrideView, row: &InspectorValueRow) -> bool { |
| 2243 | let Some(node) = view.node.as_ref() else { |
| 2244 | return false; |
| 2245 | }; |
| 2246 | let Some(ValuePathStep::Root(root_idx)) = row.path.first() else { |
| 2247 | return false; |
| 2248 | }; |
| 2249 | match row.source.as_str() { |
| 2250 | "script" => { |
| 2251 | let Some((name, _)) = view.script_defaults.get(*root_idx) else { |
| 2252 | return false; |
| 2253 | }; |
| 2254 | if !node.script_vars.iter().any(|(field, _)| field == name) { |
| 2255 | return false; |
| 2256 | } |
| 2257 | let Some(current) = value_at_path_in_fields(&view.script_fields, &row.path) else { |
| 2258 | return false; |
| 2259 | }; |
| 2260 | let Some(default) = value_at_path_in_fields(&view.script_defaults, &row.path) else { |
| 2261 | return true; |
| 2262 | }; |
| 2263 | !scene_values_equal(current, default) |
| 2264 | } |
| 2265 | "scene" => { |
| 2266 | let Some((name, _)) = view.scene_fields.get(*root_idx) else { |
no test coverage detected