CustomDataの書式 » 履歴 » バージョン 5
バージョン 4 (sdust sdust, 2019/07/13 15:04) → バージョン 5/6 (sdust sdust, 2019/07/13 15:51)
h1. CustomDataの書式
* 基本は書いた文字列がそのまま表示される
* 収集した情報を表示する部分を「モニターブロック」と呼ぶ ブロックの情報を表示するエリアを「情報ブロック要素」と呼ぶ
* モニターブロックは$で始まり、;または{~}で終わる モニターブロックは$で始まり、;または}で終わる
* #で始まる行は制御行として特別に処理される(内容は表示されない)
* %で始まる行はコメント行として読み飛ばす
例えば、
<pre>
% Monitor Test
Battery Monitor
$Battery(icon, columns=|R120){name ; cha.bar, cha.p}
</pre>
上記の場合、「Battery 上記の例では
「Battery Monitor」はそのまま表示、その下にBatteryの情報が表示される。
!ss1.jpg!
h2. モニターブロックの詳細
<pre>
$BlockType<target>(options);
$BlockType<target>(options){contents}
</pre>
* BlockType : モニターブロックの種類を示す
* target : 対象となるブロックを指定する (省略可能)
* options : モニターブロックの各種オプションを指定する
* contents : 主に情報の表示の仕方を指定する (省略可能)
h2. モニターブロックの種類
基本的にはブロック名に対応する名前となっている。
下記で説明を書いていないものは名前から察してほしい。
* Text
テキストブロック。テキストを表示する。
* GasGenerator
H2/O2 Generatorの情報を表示する。
* OxygenFarm
* OxygenTank
* HydrogenTank
* GasTank
OxygenTankおよびHydrogenTankの情報を表示する。
* Reactor
* HydrogenEngine
* SolarPanel
* WindTurbine
* Battery
* PowerProducer
給電系(発電機およびバッテリー)ブロックの情報を表示する。
技術的なことをいえば、IMyPowerProducerインターフェースを実装するブロックを対象とする。
* PowerGenerator
バッテリー以外の給電系ブロックの情報を表示する。
* Container
コンテナの容量や格納されているアイテム毎の容量等を表示する。
h2. target モニターターゲットの詳細
対象となるブロックを指定する。
<pre>
target : keyword{n,m}
</pre>
* keyword : 検索キーワード
ブロック名にkeywordを含むブロックを対象とする。なにも書かなければすべてのブロックが対象となる。
* n,m : インデックス範囲
対象となったブロックのうち、n番目からm個のブロックを対象とする。mを省略({n}のように指定)するとn番目から最後までが対象となる。
* grid : 対象グリッド(指定方法検討中。今のところ{n,m,grid}と指定)
指定しない場合、実行しているプログラマブルブロックと同一のGridおよび機械的に接続(ローターやピストンで接続)されたGridが対象となる。
me : 同一Gridのみ、all : 接続されているすべてのGrid
* targetを指定しない場合は<>も省略できる
例 : $Battery();
h2. options モニターオプション
モニターブロックの各種設定を指定できる。
<pre>
options : [option] [, option] ...
option : flag | key = value
</pre>
* 複数のオプションが有る場合は","で区切って記述
* フラグタイプのオプションはflagのみ、設定に付随する値があるオプションはkey=value形式で記述
* モニターブロックの種類によって使用可能なオプションは異なる
* 使用可能なオプション以外を記述してもエラーとはならず、無視される
* 詳細はオプション毎の説明にて
h2. contents モニターコンテンツ
モニターブロックの表示内容を指定できる。
<pre>
contents : [content] [, content | ; content] ...
content : type [.subtype] [=value]
</pre>
* 記述したコンテンツタイプに対応する情報が表示される
* テキストブロックの場合、contentsがそのまま表示内容となる(改行も認識される)
* 複数のコンテントを表示する場合は","で区切って記述する
* 次の行に表示したい場合は";"で区切って記述する
* モニターブロックの種類によって使用可能なコンテンツタイプは異なる
* 使用可能なcontent以外を記述してもエラーとはならず、無視される
* 詳細はcontent毎の説明にて
* 基本は書いた文字列がそのまま表示される
* 収集した情報を表示する部分を「モニターブロック」と呼ぶ ブロックの情報を表示するエリアを「情報ブロック要素」と呼ぶ
* モニターブロックは$で始まり、;または{~}で終わる モニターブロックは$で始まり、;または}で終わる
* #で始まる行は制御行として特別に処理される(内容は表示されない)
* %で始まる行はコメント行として読み飛ばす
例えば、
<pre>
% Monitor Test
Battery Monitor
$Battery(icon, columns=|R120){name ; cha.bar, cha.p}
</pre>
上記の場合、「Battery 上記の例では
「Battery Monitor」はそのまま表示、その下にBatteryの情報が表示される。
!ss1.jpg!
h2. モニターブロックの詳細
<pre>
$BlockType<target>(options);
$BlockType<target>(options){contents}
</pre>
* BlockType : モニターブロックの種類を示す
* target : 対象となるブロックを指定する (省略可能)
* options : モニターブロックの各種オプションを指定する
* contents : 主に情報の表示の仕方を指定する (省略可能)
h2. モニターブロックの種類
基本的にはブロック名に対応する名前となっている。
下記で説明を書いていないものは名前から察してほしい。
* Text
テキストブロック。テキストを表示する。
* GasGenerator
H2/O2 Generatorの情報を表示する。
* OxygenFarm
* OxygenTank
* HydrogenTank
* GasTank
OxygenTankおよびHydrogenTankの情報を表示する。
* Reactor
* HydrogenEngine
* SolarPanel
* WindTurbine
* Battery
* PowerProducer
給電系(発電機およびバッテリー)ブロックの情報を表示する。
技術的なことをいえば、IMyPowerProducerインターフェースを実装するブロックを対象とする。
* PowerGenerator
バッテリー以外の給電系ブロックの情報を表示する。
* Container
コンテナの容量や格納されているアイテム毎の容量等を表示する。
h2. target モニターターゲットの詳細
対象となるブロックを指定する。
<pre>
target : keyword{n,m}
</pre>
* keyword : 検索キーワード
ブロック名にkeywordを含むブロックを対象とする。なにも書かなければすべてのブロックが対象となる。
* n,m : インデックス範囲
対象となったブロックのうち、n番目からm個のブロックを対象とする。mを省略({n}のように指定)するとn番目から最後までが対象となる。
* grid : 対象グリッド(指定方法検討中。今のところ{n,m,grid}と指定)
指定しない場合、実行しているプログラマブルブロックと同一のGridおよび機械的に接続(ローターやピストンで接続)されたGridが対象となる。
me : 同一Gridのみ、all : 接続されているすべてのGrid
* targetを指定しない場合は<>も省略できる
例 : $Battery();
h2. options モニターオプション
モニターブロックの各種設定を指定できる。
<pre>
options : [option] [, option] ...
option : flag | key = value
</pre>
* 複数のオプションが有る場合は","で区切って記述
* フラグタイプのオプションはflagのみ、設定に付随する値があるオプションはkey=value形式で記述
* モニターブロックの種類によって使用可能なオプションは異なる
* 使用可能なオプション以外を記述してもエラーとはならず、無視される
* 詳細はオプション毎の説明にて
h2. contents モニターコンテンツ
モニターブロックの表示内容を指定できる。
<pre>
contents : [content] [, content | ; content] ...
content : type [.subtype] [=value]
</pre>
* 記述したコンテンツタイプに対応する情報が表示される
* テキストブロックの場合、contentsがそのまま表示内容となる(改行も認識される)
* 複数のコンテントを表示する場合は","で区切って記述する
* 次の行に表示したい場合は";"で区切って記述する
* モニターブロックの種類によって使用可能なコンテンツタイプは異なる
* 使用可能なcontent以外を記述してもエラーとはならず、無視される
* 詳細はcontent毎の説明にて