タスク: スキン(宿)で状態変数を使えるようにする

Issue #822 resolved
k4nagatsuki repo owner created an issue

いつかやらなくてはならないのですが、面倒で先延ばしにしている事です。

宿でも状態変数を使えるべきですが、解決しなければならない課題があります。

一つの宿に対して複数のスキンが使用でき、各スキンが各々の構成で状態変数を持つ事になるため、何らかの方法でそれらを区別しなければなりません。スキン名と作者名をキーにして、キーごとに状態変数を記憶する辺りが妥当ではないかと思います。

また、存在しなくなったスキンの状態変数値は削除しなければなりません。

スキンのバージョンアップで状態変数構成の整合性が取れなくなるような場合にどうするかは、たぶんエンジン側ではどうにもできないので、スキンの作者が責任を持って処置しなければならないかと思います(識別クーポンを使って古いバージョンの状態変数値を全てリセットするなど)。

Comments (3)

  1. k4nagatsuki reporter

    pull request #2562

    試しに作ってみました。

    途中で気づきましたが、状態変数値保存のキーは、スキン名と作者名よりもキー専用の要素を作った方が明確によいです。

    • ユーザの目に触れる要素ではないので、充分に長く被りにくいキーを与える事ができます。
    • 共通の機能を持つスキンで状態変数値を共有できます。

    今回は新しい要素Property/VariablesKeyの値を使う形で実装しています。

  2. Log in to comment