メソッド
kag.canRestore()
- 機能
- 栞をたどる機能が有効か否かを返す
- 引数
- なし
- 戻り値
- 真…栞をたどる機能が有効
偽…栞をたどる機能が無効 - 備考
- disablestoreタグ、storeタグが使われているかどうかの判定に使える
kag.canStore()
- 機能
- 栞をはさむ機能が有効か否かを返す
- 引数
- なし
- 戻り値
- 真…栞をはさむ機能が有効
偽…栞をはさむ機能が無効 - 備考
- disablestoreタグ、storeタグが使われているかどうかの判定に使える
kag.getBookMarkDate(num)
- 機能
- 栞 num の更新日時を返す
- 引数
- num…栞の番号(0オリジン)
- 戻り値
- 栞がある場合…更新日時の文字列を返す。書式は"YYYY/MM/DD hh:mm"形式
栞がない場合…空文字(厳密にはvoidだがKAG内では空文字と比較されている)を返す - 備考
- フリーセーブモードでは無意味
kag.getBookMarkFileNameAtNum(num)
- 機能
- 栞 num のローカルストレージ名を返す
- 引数
- num…栞の番号(0オリジン)
- 戻り値
- ローカルストレージ名の文字列
- 備考
- ‐フリーセーブモードでは無意味
‐当メソッドでは栞(実体のファイル)の有無は調べられない
kag.getBookMarkPageName(num)
- 機能
- 栞 num のブックマーク名(セーブ可能なラベルの見出しに相当)を返す
- 引数
- num…栞の番号(0オリジン)
- 戻り値
- 栞がある場合…ブックマーク名の文字列を返す
栞がない場合…"(未設定)"を返す - 備考
- フリーセーブモードでは無意味
kag.restoreBookMark(num, ask = true)
- 機能
- 栞 num を辿る(ロード)
- 引数
- num…栞の番号(0オリジン)
ask…ロードの確認をするならtrue、しないならfalseを指定すること。省略時true - 戻り値
- true…正常終了
false…エラー終了、ロードのキャンセルなど - 備考
- フリーセーブモードでは無意味
kag.setBookMarkProtectedState(num, s)
- 機能
- 栞 num の保護フラグを設定する
- 引数
- num…栞の番号(0オリジン)
s…書き込み保護をするならtrue、しないならfalseを指定すること - 戻り値
- なし
- 備考
- ‐フリーセーブモードでは無意味
‐栞が保護されているか否かを確認するには kag.bookMarkProtectedStates[num] を参照すること
kag.storeBookMark(num, ask = true)
- 機能
- 栞 num を挟む(セーブ)
- 引数
- num…栞の番号(0オリジン)
ask…セーブの確認をするならtrue、しないならfalseを指定すること。省略時true - 戻り値
- true…正常終了
false…エラー終了、セーブのキャンセルなど - 備考
- フリーセーブモードでは無意味
メンバ変数
kag.bookMarkProtectedStates
栞が保護されているか否かの配列(真/偽)。
この値を変更する場合は、kag.setBookMarkProtectedState()を介した方が良い。
kag.currentLabel
現在のラベル名(通常のラベル、セーブ可能なラベルのどちらも有り得る)。kag.conductor.curLabelも参照のこと。
kag.currentPageName
現在のページ(ラベルの見出し)名。
kag.numBookMarks
利用可能な栞の数。Config.tjsのnumBookMarksと同じ。フリーセーブモードでは無意味。
kag.thumbnailWidth
サムネイル画像の横幅(ピクセル)。
Config.tjsのthumbnailWidthと同じ。
kag.saveThumbnailが偽の場合、このメンバ変数は無意味。
なお、縦幅に相当するメンバは存在せず、(int)kag.thumbnailWidth*kag.scHeight/kag.scWidthで直接求めている。
sf.trail_KAGシナリオファイル_ラベル
ラベルの通過回数を示す。
例えば、KAGシナリオファイルがfirst.ks、ラベルが*startなら、sf.trail_first_startというシステム変数がそのラベルの通過回数を示している。
- 通過記録はConfig.tjsのautoRecordPageShowingがtrueの場合のみ機能する
- 通常のラベルもセーブ可能なラベルも記録対象になっている
なお、システム変数sfはkag.sflagsの別名(エイリアス)。
補足
栞の有無をチェックするには
実体のファイルの有無をチェック
実体のファイル(セーブデータ)そのものの有無をチェックするには、メソッドkag.getBookMarkFileNameAtNum()の戻り値をメソッドStorages.isExistentStorage()に渡せば良い。
ただし、erasebookmarkタグで栞が消去されているかどうかは、この方法では判らない。
; 栞2のファイルが存在するなら評価結果は真、そうでなければ偽になる [if exp="Storages.isExistentStorage( kag.getBookMarkFileNameAtNum(2) )"] ; 栞2のファイルがあった場合の処理 [else] ; 栞2のファイルがなかった場合の処理 [endif]
(管理上の)栞の有無をチェック
実体のファイルの有無に関わらず、(管理上の)栞の有無をチェックするには、メソッドkag.getBookMarkDate()の戻り値が空文字かどうかを調べれば良い。
こちらの方法ではerasebookmarkタグで栞が消去された場合、「栞は存在しない」という意味の評価結果になる。
KAGWindow.eraseBookMark()の実装も参照のこと。
; 栞2が存在するなら評価結果は真、そうでなければ偽になる [if exp="kag.getBookMarkDate(2) != ''"] ; 栞2が存在する場合の処理 [else] ; 栞2が存在しない場合の処理 [endif]
kag.getBookMarkPageName()メソッドを使って調べることも可能。
; 栞2が存在するなら評価結果は真、そうでなければ偽になる [if exp="kag.getBookMarkPageName(2) != '(未設定)'"] ; 栞2が存在する場合の処理 [else] ; 栞2が存在しない場合の処理 [endif]