using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; using System.Text.RegularExpressions; using UnityEngine.EventSystems; public class DialogueCaller : MonoBehaviour { public DeepSeekDialogueManager dialogueManager; public TextMeshProUGUI dialogueText; public InputField InputField; // Start is called before the first frame update void Start() { } public void _Start() { string userInput = InputField.text; InputField.text = ""; dialogueText.text = "让我思考一下~"; string myString = "请你的回答中如果出现了专有名词,例如 潜艇,用[潜艇]代替,请不要使用专有名词,以下是我的提问:"; dialogueManager.SendDialogueRequest(myString+userInput, OnDialogueResponse); } // 回调函数,用于处理 DeepSeek API 的响应 private void OnDialogueResponse(string response, bool isSuccess) { if (isSuccess) { print(response); Debug.Log("NPC 回复: " + response); dialogueText.text = ParseClickableText(response); } else { Debug.LogError("对话请求失败或无回复"); dialogueText.text = "对话请求失败或无回复"; } } // 解析 [] 内的内容,转换成 形式 private string ParseClickableText(string rawText) { return Regex.Replace(rawText, @"\[(.*?)\]", "$1"); } }