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

Function inspector_picker_asset_kind

perro_editor/res/scripts/ui/editor_ui.rs:2233–2263  ·  view source on GitHub ↗
(state: &EditorState)

Source from the content-addressed store, hash-verified

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
2242fn 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 {

Callers 2

Calls 10

cached_scene_doc_sharedFunction · 0.85
asset_kind_from_row_kindFunction · 0.85
scene_node_fieldFunction · 0.85
okMethod · 0.80
findMethod · 0.80
cloneMethod · 0.80
iterMethod · 0.45
as_u32Method · 0.45
getMethod · 0.45

Tested by

no test coverage detected