/** * 全局数据 */ import { BaseData } from "./BaseData"; import proto from "db://assets/Scripts/proto/proto.pb.js"; export class GlobalData extends BaseData { // api键 private _apiKey: string = ""; // 情绪判断机器人api private _emotionApiKey: string = ""; // ai模型 private _model: string = ""; // Temperature private _temperature: number = 0; // 单次聊天最大token private _maxTokens: number = 0; // 超时时间(微秒) private _timeout: number = 0; // 单个角色免费聊天次数 private _freeChatTimes: number = 0; // 单次对话增长好感度 private _onceChatAddScore: number = 0; // 好感度等级兑换比例 private _scoreExchangeStarLevel: number = 0; // 游戏名 private _gameName: string = ""; // 情绪评分机器人system_prompt,需拼接角色prompt private _emotionBasePrompt: string = ""; // ai机器人基础规则 private _girlBasePrompt: string = ""; public reset(): void { this._apiKey = ""; this._emotionApiKey = ""; this._model = ""; this._temperature = 0; this._maxTokens = 0; this._timeout = 0; this._freeChatTimes = 0; this._onceChatAddScore = 0; this._scoreExchangeStarLevel = 0; this._gameName = ""; this._emotionBasePrompt = ""; this._girlBasePrompt = ""; } public clear(): void { this._apiKey = ""; this._emotionApiKey = ""; this._model = ""; this._temperature = 0; this._maxTokens = 0; this._timeout = 0; this._freeChatTimes = 0; this._onceChatAddScore = 0; this._scoreExchangeStarLevel = 0; this._gameName = ""; this._emotionBasePrompt = ""; this._girlBasePrompt = ""; } public destroy(): void { super.destroy(); this._apiKey = null; this._emotionApiKey = null; this._model = null; this._temperature = null; this._maxTokens = null; this._timeout = null; this._freeChatTimes = null; this._onceChatAddScore = null; this._scoreExchangeStarLevel = null; this._gameName = null; this._emotionBasePrompt = null; this._girlBasePrompt = null; } /** 设置全局数据 */ public set globals(data: proto.cs.ICSGetResConfigRes) { const parsed = JSON.parse(data.data); if (Array.isArray(parsed) && parsed.length > 0) { const obj = parsed[0]; this._apiKey = obj.ApiKey; this._emotionApiKey = obj.emotionApiKey; this._model = obj.Model; this._temperature = obj.Temperature; this._maxTokens = obj.MaxTokens; this._timeout = obj.Timeout; this._freeChatTimes = obj.FreeChatTimes; this._onceChatAddScore = obj.OnceChatAddScore; this._scoreExchangeStarLevel = obj.ScoreExchangeStarLevel; this._gameName = obj.GameName; this._emotionBasePrompt = obj.EmotionBasePrompt; this._girlBasePrompt = obj.girlBasePrompt; } } /** 获取api键 */ public getApiKey(): string { return this._apiKey; } /** 获取情绪判断机器人api */ public getEmotionApiKey(): string { return this._emotionApiKey; } /** 获取ai模型 */ public getModel(): string { return this._model; } /** Temperature */ public getTemperature(): number { return this._temperature; } /** 单次聊天最大token */ public getMaxTokens(): number { return this._maxTokens; } /** 超时时间(微秒) */ public getTimeout(): number { return this._timeout; } /** 单个角色免费聊天次数 */ public getFreeChatTimes(): number { return this._freeChatTimes; } /** 单次对话增长好感度 */ public getOnceChatAddScore(): number { return this._onceChatAddScore; } /** 好感度等级兑换比例 */ public getScoreExchangeStarLevel(): number { return this._scoreExchangeStarLevel; } /** 游戏名 */ public getGameName(): string { return this._gameName; } /** 情绪评分机器人system_prompt,需拼接角色prompt */ public getEmotionBasePrompt(): string { return this._emotionBasePrompt; } /** ai机器人基础规则 */ public getGirlBasePrompt(): string { return this._girlBasePrompt; } }