From 0c7d4952a62cf113246e5529643241fc375ecd6d Mon Sep 17 00:00:00 2001
From: Ding Yuntian <1491671119@qq.com>
Date: Wed, 15 Apr 2026 22:23:36 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=A0=E9=99=A4=E5=BA=9F=E5=BC=83?=
=?UTF-8?q?=E7=9A=84=E6=B5=8B=E8=AF=95=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Assets/Scripts/Test.meta | 8 -
Assets/Scripts/Test/ActorAnimaExTest.cs | 393 -------------------
Assets/Scripts/Test/ActorAnimaExTest.cs.meta | 11 -
3 files changed, 412 deletions(-)
delete mode 100644 Assets/Scripts/Test.meta
delete mode 100644 Assets/Scripts/Test/ActorAnimaExTest.cs
delete mode 100644 Assets/Scripts/Test/ActorAnimaExTest.cs.meta
diff --git a/Assets/Scripts/Test.meta b/Assets/Scripts/Test.meta
deleted file mode 100644
index f8f0cf026..000000000
--- a/Assets/Scripts/Test.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: cb9129adc6257474b8342b4dd4ceeebb
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Test/ActorAnimaExTest.cs b/Assets/Scripts/Test/ActorAnimaExTest.cs
deleted file mode 100644
index 93633c6fc..000000000
--- a/Assets/Scripts/Test/ActorAnimaExTest.cs
+++ /dev/null
@@ -1,393 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using AibisDream.Framework;
-using UnityEngine;
-
-namespace AibisDream.Test
-{
- ///
- /// ActorAnimaEx 功能测试脚本
- /// 使用键盘按键触发各项测试功能
- ///
- public class ActorAnimaExTest : MonoBehaviour
- {
- [Header("测试配置")]
- [SerializeField] private string testActorName = "调酒妹测试";
- [SerializeField] private string testSlotName = "测试";
-
- [Header("调试信息")]
- [SerializeField] private bool showHelp = true;
-
- private ActorAnimaEx _testActor;
- private List _blendTreeInfos;
- private List _stateNames;
- private Dictionary> _faceNamesByState;
-
- private int _currentStateIndex = 0;
- private Dictionary _currentFaceIndexByState;
- private bool _isTalking = false;
-
- private void Start()
- {
- _currentFaceIndexByState = new Dictionary();
- _faceNamesByState = new Dictionary>();
-
- if (showHelp)
- {
- PrintHelp();
- }
- }
-
- private void Update()
- {
- // 检测键盘输入
- if (Input.GetKeyDown(KeyCode.Alpha1))
- {
- TestInitActor();
- }
- else if (Input.GetKeyDown(KeyCode.Alpha2))
- {
- TestChangeState();
- }
- else if (Input.GetKeyDown(KeyCode.Alpha3))
- {
- TestSetFaceState();
- }
- else if (Input.GetKeyDown(KeyCode.Alpha4))
- {
- TestSetTalkingState();
- }
- else if (Input.GetKeyDown(KeyCode.Alpha5))
- {
- StartCoroutine(TestCombination());
- }
- else if (Input.GetKeyDown(KeyCode.R))
- {
- TestReset();
- }
- else if (Input.GetKeyDown(KeyCode.H))
- {
- showHelp = !showHelp;
- if (showHelp)
- {
- PrintHelp();
- }
- }
- }
-
- private void OnGUI()
- {
- if (!showHelp) return;
-
- // 显示帮助信息
- GUIStyle style = new GUIStyle(GUI.skin.box);
- style.fontSize = 14;
- style.normal.textColor = Color.white;
-
- string helpText = "=== ActorAnimaEx 测试控制 ===\n" +
- "1 - 初始化测试角色\n" +
- "2 - 切换状态 (ChangeState)\n" +
- "3 - 切换表情 (SetFaceState)\n" +
- "4 - 切换说话状态 (SetTalkingState)\n" +
- "5 - 运行组合测试\n" +
- "R - 重置测试\n" +
- "H - 显示/隐藏帮助\n\n";
-
- if (_testActor != null)
- {
- helpText += $"当前角色: {_testActor.ActorName}\n";
- if (_stateNames != null && _stateNames.Count > 0 && _currentStateIndex < _stateNames.Count)
- {
- helpText += $"当前状态: {_stateNames[_currentStateIndex]}\n";
- }
- helpText += $"说话状态: {(_isTalking ? "开启" : "关闭")}\n";
- }
-
- GUI.Box(new Rect(10, 10, 300, helpText.Split('\n').Length * 20 + 20), helpText, style);
- }
-
- ///
- /// 打印帮助信息到控制台
- ///
- private void PrintHelp()
- {
- Debug.Log("=== ActorAnimaEx 测试控制 ===\n" +
- "1 - 初始化测试角色\n" +
- "2 - 切换状态 (ChangeState)\n" +
- "3 - 切换表情 (SetFaceState)\n" +
- "4 - 切换说话状态 (SetTalkingState)\n" +
- "5 - 运行组合测试\n" +
- "R - 重置测试\n" +
- "H - 显示/隐藏帮助");
- }
-
- ///
- /// 测试 1: 初始化测试角色
- ///
- private void TestInitActor()
- {
- Debug.Log("=== 测试 1: 初始化测试角色 ===");
-
- try
- {
- // 检查 ActorManager 是否已初始化
- if (ActorManager.Instance == null)
- {
- Debug.LogError("ActorManager 未初始化!");
- return;
- }
-
- // 销毁已存在的测试角色
- if (_testActor != null)
- {
- Destroy(_testActor.gameObject);
- _testActor = null;
- }
-
- // 创建测试角色
- _testActor = ActorManager.Instance.InitActor(testActorName, testSlotName, ActorType.AnimaEx) as ActorAnimaEx;
-
- if (_testActor == null)
- {
- Debug.LogError($"创建角色失败: {testActorName}");
- return;
- }
-
- Debug.Log($"✓ 角色创建成功: {_testActor.ActorName}");
-
- // 显示角色
- _testActor.Show();
-
- // 加载混合树配置
- LoadBlendTreeConfig();
-
- Debug.Log("✓ 初始化测试完成");
- }
- catch (System.Exception e)
- {
- Debug.LogError($"初始化测试失败: {e.Message}\n{e.StackTrace}");
- }
- }
-
- ///
- /// 加载混合树配置
- ///
- private void LoadBlendTreeConfig()
- {
- var configText = ResourceKit.LoadAssetSync($"AnimationConfig/{testActorName}");
- if (configText == null)
- {
- Debug.LogWarning($"未找到配置文件: AnimationConfig/{testActorName}");
- return;
- }
-
- _blendTreeInfos = AnimatorKit.ParseBlendTreeConfigFromJson(configText.text).blendTrees;
-
- if (_blendTreeInfos == null || _blendTreeInfos.Count == 0)
- {
- Debug.LogWarning("混合树配置为空或解析失败");
- return;
- }
-
- // 提取状态名称列表
- // _stateNames = _blendTreeInfos.Select(info => info.name).ToList();
- _stateNames = new List {"站立", "俯身"};
-
- // 为每个状态提取表情名称列表
- _faceNamesByState.Clear();
- _currentFaceIndexByState.Clear();
-
- foreach (var info in _blendTreeInfos)
- {
- if (info.clips != null && info.clips.Count > 0)
- {
- var faceNames = info.clips.Select(clip => clip.clipName).ToList();
- _faceNamesByState[info.name] = faceNames;
- _currentFaceIndexByState[info.name] = 0;
- }
- }
-
- Debug.Log($"✓ 加载混合树配置成功: {_blendTreeInfos.Count} 个状态");
- foreach (var stateName in _stateNames)
- {
- Debug.Log($" - 状态: {stateName}");
- if (_faceNamesByState.TryGetValue(stateName, out var faces) && faces.Count > 0)
- {
- Debug.Log($" 表情数量: {faces.Count}");
- }
- }
- }
-
- ///
- /// 测试 2: 切换状态
- ///
- private void TestChangeState()
- {
- if (_testActor == null)
- {
- Debug.LogWarning("请先初始化测试角色 (按 1)");
- return;
- }
-
- if (_stateNames == null || _stateNames.Count == 0)
- {
- Debug.LogWarning("没有可用的状态");
- return;
- }
-
- // 更新索引
- _currentStateIndex = (_currentStateIndex + 1) % _stateNames.Count;
-
- // 循环切换到下一个状态
- string nextState = _stateNames[_currentStateIndex];
- Debug.Log($"=== 测试 2: 切换状态到 '{nextState}' ===");
-
- _testActor.ChangeState(nextState);
-
- Debug.Log($"✓ 状态已切换到: {nextState}");
- }
-
- ///
- /// 测试 3: 切换表情
- ///
- private void TestSetFaceState()
- {
- if (_testActor == null)
- {
- Debug.LogWarning("请先初始化测试角色 (按 1)");
- return;
- }
-
- if (_stateNames == null || _stateNames.Count == 0 || _currentStateIndex >= _stateNames.Count)
- {
- Debug.LogWarning("没有可用的状态");
- return;
- }
-
- string currentState = _stateNames[_currentStateIndex];
-
- if (!_faceNamesByState.TryGetValue(currentState, out var faceNames) || faceNames.Count == 0)
- {
- Debug.LogWarning($"当前状态 '{currentState}' 没有可用的表情");
- return;
- }
-
- // 获取当前状态的表情索引
- if (!_currentFaceIndexByState.TryGetValue(currentState, out int faceIndex))
- {
- faceIndex = 0;
- _currentFaceIndexByState[currentState] = 0;
- }
-
- // 循环切换到下一个表情
- string nextFace = faceNames[faceIndex];
- Debug.Log($"=== 测试 3: 切换表情到 '{nextFace}' (状态: {currentState}) ===");
-
- _testActor.SetFaceState(nextFace);
-
- Debug.Log($"✓ 表情已切换到: {nextFace}");
-
- // 更新索引
- faceIndex = (faceIndex + 1) % faceNames.Count;
- _currentFaceIndexByState[currentState] = faceIndex;
- }
-
- ///
- /// 测试 4: 切换说话状态
- ///
- private void TestSetTalkingState()
- {
- if (_testActor == null)
- {
- Debug.LogWarning("请先初始化测试角色 (按 1)");
- return;
- }
-
- _isTalking = !_isTalking;
- Debug.Log($"=== 测试 4: 切换说话状态到 '{(_isTalking ? "开启" : "关闭")}' ===");
-
- _testActor.SetTalkingState(_isTalking);
-
- Debug.Log($"✓ 说话状态已切换: {(_isTalking ? "开启" : "关闭")}");
- }
-
- ///
- /// 测试 5: 组合测试
- ///
- private IEnumerator TestCombination()
- {
- if (_testActor == null)
- {
- Debug.LogWarning("请先初始化测试角色 (按 1)");
- yield break;
- }
-
- if (_stateNames == null || _stateNames.Count == 0)
- {
- Debug.LogWarning("没有可用的状态");
- yield break;
- }
-
- Debug.Log("=== 测试 5: 组合测试开始 ===");
-
- // 测试在不同状态下切换表情
- foreach (var stateName in _stateNames)
- {
- Debug.Log($"\n--- 切换到状态: {stateName} ---");
- _testActor.ChangeState(stateName);
-
- // 等待状态切换完成
- yield return new WaitForSeconds(0.5f);
-
- // 如果该状态有表情,测试切换表情
- if (_faceNamesByState.TryGetValue(stateName, out var faceNames) && faceNames.Count > 0)
- {
- foreach (var faceName in faceNames)
- {
- Debug.Log($" 设置表情: {faceName}");
- _testActor.SetFaceState(faceName);
- yield return new WaitForSeconds(0.3f);
- }
- }
-
- yield return new WaitForSeconds(0.5f);
- }
-
- // 测试说话状态
- Debug.Log("\n--- 测试说话状态 ---");
- _testActor.SetTalkingState(true);
- yield return new WaitForSeconds(1f);
- _testActor.SetTalkingState(false);
- yield return new WaitForSeconds(0.5f);
-
- Debug.Log("=== 组合测试完成 ===");
- }
-
- ///
- /// 重置测试
- ///
- private void TestReset()
- {
- Debug.Log("=== 重置测试 ===");
-
- // 销毁当前角色
- if (_testActor != null)
- {
- Destroy(_testActor.gameObject);
- _testActor = null;
- }
-
- // 重置状态
- _currentStateIndex = 0;
- _currentFaceIndexByState.Clear();
- _isTalking = false;
- _blendTreeInfos = null;
- _stateNames = null;
- _faceNamesByState.Clear();
-
- Debug.Log("✓ 测试已重置,可以重新初始化 (按 1)");
- }
- }
-}
-
diff --git a/Assets/Scripts/Test/ActorAnimaExTest.cs.meta b/Assets/Scripts/Test/ActorAnimaExTest.cs.meta
deleted file mode 100644
index fe90c01ad..000000000
--- a/Assets/Scripts/Test/ActorAnimaExTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: ad8285f6dc2406249bd2c4be2571999d
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: