diff --git a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/persistence.rs b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/persistence.rs index ad0da4f96..36bb8166e 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/ui_editor/persistence.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/ui_editor/persistence.rs @@ -1,4 +1,5 @@ use crate::ui_editor::component::Component; +use crate::ui_editor::component::text::FontSource; use crate::ui_editor::layout::node::Node; use crate::ui_editor::state::State; use crate::*; @@ -543,12 +544,10 @@ fn validate_node( } } Component::Text(text) => { - if text - .font - .as_ref() - .is_some_and(|id| !state.font_assets.contains_key(id)) - { - return Err("Text 组件引用了不存在的字体素材".to_string()); + if let FontSource::Bound(id) = &text.font { + if !state.font_assets.contains_key(id) { + return Err("Text 组件引用了不存在的字体素材".to_string()); + } } } }