diff --git a/dist/bcm_tool.js b/dist/bcm_tool.js index 1e85f96..f59758a 100644 --- a/dist/bcm_tool.js +++ b/dist/bcm_tool.js @@ -1,5 +1,11 @@ "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const logger_1 = require("./logger"); class BcmTool { + constructor() { + this.mgrTeamInfo = g_game.mgr.mgr_team_player_team_info; + this.logger = new logger_1.Logger(); + } queryPlayerInfo(playersToQuery) { const attributes = [ ['速度', 1], @@ -52,29 +58,31 @@ class BcmTool { console.log('找不到id', playerId); continue; } - console.log(this.queryName(playerId)); + this.logger.Info(this.queryName(playerId)); for (const info of attributes) { const name = info[0]; const id = info[1]; const record = this.queryInfo(playerId, id); - console.log(name, record); + this.logger.Info(name, record); } + g_game.mgr.tools.CopyStrToClipboard(this.logger.GetOutput()); + this.logger.Clear(); } } checkInfo(playerId) { - const data = g_game.mgr.mgr_team_player_team_info.GetPlayerData(playerId); + const data = this.mgrTeamInfo.GetPlayerData(playerId); return data != null; } queryName(playerId) { - const data = g_game.mgr.mgr_team_player_team_info.GetPlayerData(playerId); + const data = this.mgrTeamInfo.GetPlayerData(playerId); return data.playerName; } queryInfo(playerId, attri) { - const data = g_game.mgr.mgr_team_player_team_info.GetPlayerData(playerId); - return data.GetSingleAttribute(attri); + const data = this.mgrTeamInfo.GetPlayerData(playerId); + return data.GetSingleAttribute(attri).toFixed(2); } listPlayers() { - const ids = Object.keys(g_game.mgr.mgr_team_player_team_info._map_player_detail); + const ids = Object.keys(this.mgrTeamInfo._map_player_detail); for (const id of ids) { console.log(this.queryName(id), id); } diff --git a/dist/logger.js b/dist/logger.js new file mode 100644 index 0000000..ab67b3d --- /dev/null +++ b/dist/logger.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Logger = void 0; +class Logger { + constructor() { + this.msgs = ''; + } + Info(...msgs) { + for (const msg of msgs) { + this.msgs += String(msg); + } + this.msgs += '\n'; + } + GetOutput() { + return this.msgs; + } + Clear() { + this.msgs = ''; + } +} +exports.Logger = Logger; diff --git a/src/bcm_tool.ts b/src/bcm_tool.ts index 2884ab3..d103e04 100644 --- a/src/bcm_tool.ts +++ b/src/bcm_tool.ts @@ -1,6 +1,9 @@ +import { Logger } from "./logger"; class BcmTool { - + private mgrTeamInfo = g_game.mgr.mgr_team_player_team_info; + private logger = new Logger(); + public queryPlayerInfo(playersToQuery:string[]) { const attributes = [ ['速度', 1], @@ -54,33 +57,35 @@ class BcmTool { console.log('找不到id', playerId); continue; } - console.log(this.queryName(playerId)); + this.logger.Info(this.queryName(playerId)); for (const info of attributes) { const name = info[0]; const id = info[1]; const record = this.queryInfo(playerId, id as number); - console.log(name, record); + this.logger.Info(name, record); } + g_game.mgr.tools.CopyStrToClipboard(this.logger.GetOutput()); + this.logger.Clear(); } } public checkInfo(playerId:string) { - const data = g_game.mgr.mgr_team_player_team_info.GetPlayerData(playerId); + const data = this.mgrTeamInfo.GetPlayerData(playerId); return data != null; } public queryName(playerId:string) { - const data = g_game.mgr.mgr_team_player_team_info.GetPlayerData(playerId); + const data = this.mgrTeamInfo.GetPlayerData(playerId); return data.playerName; } public queryInfo(playerId:string, attri:number) { - const data = g_game.mgr.mgr_team_player_team_info.GetPlayerData(playerId); - return data.GetSingleAttribute(attri); + const data = this.mgrTeamInfo.GetPlayerData(playerId); + return data.GetSingleAttribute(attri).toFixed(2); } public listPlayers() { - const ids = Object.keys(g_game.mgr.mgr_team_player_team_info._map_player_detail); + const ids = Object.keys(this.mgrTeamInfo._map_player_detail); for (const id of ids) { console.log(this.queryName(id), id); } diff --git a/src/global.d.ts b/src/global.d.ts index 526d341..0ab7e07 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -4,6 +4,11 @@ declare global { interface BGameMgr { public mgr_team_player_team_info: MgrTeamPlayerInfo; + public tools: BGameTools; + } + + interface BGameTools { + public CopyStrToClipboard(str:string, success?:Function); } interface MgrTeamPlayerInfo { diff --git a/src/logger.ts b/src/logger.ts new file mode 100644 index 0000000..0179fea --- /dev/null +++ b/src/logger.ts @@ -0,0 +1,19 @@ + +export class Logger { + private msgs = ''; + + public Info(...msgs:any[]) { + for (const msg of msgs) { + this.msgs += String(msg); + } + this.msgs += '\n'; + } + + public GetOutput() { + return this.msgs; + } + + public Clear() { + this.msgs = ''; + } +} \ No newline at end of file