← back

Current — 2025-07-27 (Sun) 01:17

実行中にuxmlを編集すると、UIDocumentのOnDisable->OnEnableが起こって、UIDocumentやRosalinaオブジェクトの再生成が起こってUIの状態が全部吹き飛んでしまう。

Rosalinaの生成コードに手を加えて二回目以降のOnEnable時にRosalinaオブジェクトを使い回す(Root等のVisualElementの再セットだけを行う)ようにすれば、今の作り的にはほとんど問題なくなる。

直接VisualElementのstyleや状態を書き換えているところは復元できないけど、概ね無視できるレベルの問題のはず。

完璧にやるなら、何らかの仕組みでそういう状態変更もトラックするか、Reactのrender的な、それを呼び出したら現在の状態をもとに表示状態をセットする純粋関数的な作りにする必要がある。

Version 1 — 2025-07-26 (Sat) 21:53

実行中にuxmlを編集すると、UIDocumentのOnDisable->OnEnableが起こって、UIDocumentやRosallinaオブジェクトの再生成が起こってUIの状態が全部吹き飛んでしまう。

Rosallinaの生成コードに手を加えて二回目以降のOnEnable時にRosallinaオブジェクトを使い回す(Root等のVisualElementの再セットだけを行う)ようにすれば、今の作り的にはほとんど問題なくなる。

直接VisualElementのstyleや状態を書き換えているところは復元できないけど、概ね無視できるレベルの問題のはず。

完璧にやるなら、何らかの仕組みでそういう状態変更もトラックするか、Reactのrender的な、それを呼び出したら現在の状態をもとに表示状態をセットする純粋関数的な作りにする必要がある。

拡大画像