/*
* @title 陣取りチャット拡張
* @description チームチャットの定型文ボタンとログ表示を追加
* @include http://*
* @license MIT License
* @require
* @private
*/
(function() {
// すでに起動していたら一旦削除してリセット
$('#jintori-chat-ext').remove();
// コンテナ作成(クリックを透過させるため初期はpointer-events:none)
let container = $('<div id="jintori-chat-ext">').css({
'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%',
'pointer-events': 'none', 'z-index': '9999'
}).appendTo('body');
// スタイル定義
$('<style>').text(`
.ext-box { pointer-events: auto; position: absolute; top: 50px; background: rgba(0,0,0,0.7); color: white; padding: 10px; border-radius: 8px; }
.ext-btn { display: block; margin-bottom: 8px; padding: 8px 12px; background: #2563eb; border: none; color: white; cursor: pointer; border-radius: 4px; }
.ext-log { width: 200px; height: 300px; overflow-y: auto; font-size: 12px; }
`).appendTo('head');
// --- 左側:ボタンエリア ---
let leftBox = $('<div class="ext-box" style="left: 10px;">').appendTo(container);
let phrases = ['攻めるぞ!', '守って!', '集合!', '援護求む'];
phrases.forEach(p => {
$('<button class="ext-btn">').text(p).appendTo(leftBox).click(function() {
// ⚠️ ここを調整: ゲームのチャット送信関数に合わせてください
// 例: socket.emit('chat', {msg: p});
if(window.socket) {
window.socket.emit('chat', {msg: p});
} else {
alert('socketが見つかりません');
}
});
});
// --- 右側:ログ表示エリア ---
let rightBox = $('<div class="ext-box" style="right: 10px;">').appendTo(container);
rightBox.append('<div>チームチャットログ</div>');
let logArea = $('<div class="ext-log" id="ext-chat-log">').appendTo(rightBox);
// ⚠️ ここを調整: サーバーからチャットを受信した時の処理をフックする
// 本来はサーバー側のイベントリスナーを上書きする必要があります
console.log('拡張機能起動: チャットログの監視を開始するにはsocket.onの書き換えが必要です');
})();