Skip to content

fix: フォント追加時にリソース定義更新が失敗する問題を修正 - #255

Open
Youkin06 wants to merge 1 commit into
sfc-sdp:masterfrom
Youkin06:fix/Font_generate_Error
Open

fix: フォント追加時にリソース定義更新が失敗する問題を修正#255
Youkin06 wants to merge 1 commit into
sfc-sdp:masterfrom
Youkin06:fix/Font_generate_Error

Conversation

@Youkin06

@Youkin06 Youkin06 commented Jul 2, 2026

Copy link
Copy Markdown

概要

Res フォルダに独自フォントを追加した状態でリソース定義を更新すると、画像検証処理で InvalidCastException が発生し、フォント定義を生成できない問題を修正しました。

発生していた問題

Res フォルダに .ttf ファイルを追加した状態で、GameCanvas > リソース定義の強制更新 を実行すると、以下のエラーが発生していました。

InvalidCastException: Specified cast is not valid.
GameCanvas.Editor.GcEditorResourceBuilder.ValidateImages () (at ./Packages/jp.ac.keio.sfc.sdp/Editor/GcEditorResourceBuilder.cs:391)
GameCanvas.Editor.GcEditorResourceBuilder.Build () (at ./Packages/jp.ac.keio.sfc.sdp/Editor/GcEditorResourceBuilder.cs:54)
GameCanvas.Editor.GcEditorMenu.BuildResource () (at ./Packages/jp.ac.keio.sfc.sdp/Editor/GcEditorMenu.cs:55)

このエラーにより、リソース定義の更新が正常に完了せず、追加したフォントを GcFont.cs に反映できない状態になっていました。

原因

画像の検証処理内で、AssetImporter を直接 TextureImporter にキャストしていたため、.ttf など TextureImporter として扱えないAssetが含まれている場合に InvalidCastException が発生していました。

変更内容

  • AssetImporter を直接 TextureImporter にキャストしないように修正
  • AssetImporterTextureImporter として扱える場合のみ画像検証処理を行うように変更
  • TextureImporter として扱えないAssetはスキップするように変更

確認したこと

  • Res フォルダに .ttf ファイルを追加した状態で、リソース定義の更新時にエラーが発生しないことを確認
  • GcFont.cs に追加したフォントが反映されることを確認
  • Game.csgc.SetFont(GcFont.〇〇) を呼び出し、追加したフォントが適用されることを確認

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant