# 本格的な機能の紹介

## はじめに 
ブラウザウディタの技術詳細や本格的な使い方について記録しておきます  

## ブラウザウディタ用コモン
ver0.1.17より、ブラウザウディタは「ブラウザウディタ」という名前が「含まれる」コモンイベントを  
自動的に検出して、ブラウザウディタ用の識別IDや稼動しているサイトURLなどの情報を  
コモンイベント変数に自動的に入力するようになっています  

CSelf5: ブラウザウディタ識別ID(自動入力) => BrowserWoditr 0.1 など  
CSelf6: 稼動サイトURL(自動入力) => http://127.0.0.1 など  

## ブラウザウディタ用コモンを利用して公開サイトを限定する
上述のとおり、CSelf6: 稼動サイトURL(自動入力) に  
実際にブラウザウディタが動いているサイトのURLが入力されるので、  
これを利用して、ゲーム開始時に想定外のURLなら強制的に終了する措置などが  
コモンイベントとしてユーザーさんの手で設定できるようになっています 

参考のサンプルは 拡張コモンのサンプル フォルダ内にありますので
興味のある方は取り入れてみてください  

※ ご注意！ローカルホストのURLを特に制限していない場合
※ データをダウンロードした人もローカルで実行できてしまいます
※ 確実にサイト上での動作のみに制限したい場合はアップロード前によく調整してください！

## サードパーティ実行識別ID
SysS19：[読]ｻｰﾄﾞﾊﾟｰﾃｨ実行識別ID に 「BrowserWoditor」が入るようになっていますので  
こちらでも実行環境を判定しての処理が可能です  

## セーブデータのアップロード
index.html の上部、<div id="main-footer-additional"> 内に  
セーブデータのアップロード入力を hidden 状態で隠しているところがあります  
ここの hidden を取ると、一時的なセーブデータをアップロードする項目が現れます  
検証などで必要な場合にご利用ください  

```
      <div id="main-footer-additional">
        <p id="readme" class="footer-text">ReadMe</p>
        <p id="version" class="footer-text">Version</p>
        <input class="sub-button" type="file" onchange="uploadSaveData()" id="savedata" name="savedata" hidden/> ←これと
        <p class="footer-text" hidden>↑一時セーブデータUP(リロードで消えます)</p> ←これ
        <p id="error-log"></p>
      </div>
```

## ゲームデータおよびセーブデータのキャッシュ先
ゲーム開始時にダウンロードされるデータ(Data.wolf等)は  
IndexedDBの /data/<projectId>-GameCache オベジェクトストア以下に保存されます  
ゲーム中に動的に生成されるデータ(セーブデータ等)は  
IndexedDBの /data/<procectId>-Save オブジェクトストア以下に保存されます  
projectId は settings.js で設定できる固有の値です  

## ゲームタイトルの取得
特殊な関数(window直下のcatchGameName/index.htmlコメントアウト部分参照)がある場合  
ゲーム起動時にゲームタイトルを取得できるようにしています  

## デバッグ文でブラウザウディタに通知
デバッグ文が「BrowserWoditor:」から始まるとき、「BrowserWoditor:」以降の内容を
index.html内部の Module下にある catchGameMessage という関数が拾うようになっています
応用が効くと思うので自由に拡張してみてください