Merge branch 'feature/梦境问题' into 'develop'
Feature/梦境问题 See merge request aibis-dream/aibis-dream!826
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using AibisDream.Framework;
|
||||
using AibisDream.Kit;
|
||||
using AibisDream.Utility;
|
||||
using NUnit.Framework;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using YarnProjectDefinition = Yarn.Compiler.Project;
|
||||
|
||||
namespace AibisDream.SystemEditor.Tests
|
||||
{
|
||||
public sealed class LocalizationExpansionTests
|
||||
{
|
||||
private const string FirstRuntimeChapterPath =
|
||||
"Assets/ScriptableObjects/SceneSO/Demo/Day0_Prologue.asset";
|
||||
|
||||
private static readonly string[] AddedLocaleCodes = { "ru", "es", "pt-BR" };
|
||||
|
||||
private static readonly MethodInfo GetLocalizedNameMethod =
|
||||
typeof(CharacterVo).GetMethod(
|
||||
"GetLocalizedNameByKind",
|
||||
BindingFlags.Instance | BindingFlags.NonPublic);
|
||||
|
||||
[TestCase("ru", LocaleKind.Ru)]
|
||||
[TestCase("ru-RU", LocaleKind.Ru)]
|
||||
[TestCase("es", LocaleKind.Es)]
|
||||
[TestCase("es-ES", LocaleKind.Es)]
|
||||
[TestCase("pt", LocaleKind.PtBr)]
|
||||
[TestCase("pt-BR", LocaleKind.PtBr)]
|
||||
public void GetLocaleKind_AddedLocaleCode_ReturnsExpectedKind(
|
||||
string localeCode,
|
||||
LocaleKind expected)
|
||||
{
|
||||
Assert.That(LocalizationKit.GetLocaleKind(localeCode), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[TestCase(SystemLanguage.Russian, "ru")]
|
||||
[TestCase(SystemLanguage.Spanish, "es")]
|
||||
[TestCase(SystemLanguage.Portuguese, "pt-BR")]
|
||||
public void MapSystemLanguage_AddedSystemLanguage_ReturnsSupportedLocale(
|
||||
SystemLanguage systemLanguage,
|
||||
string expected)
|
||||
{
|
||||
Assert.That(LocalizationKit.MapSystemLanguage(systemLanguage), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CharacterVo_AddedLocaleName_ReturnsTranslationOrKey()
|
||||
{
|
||||
Assert.That(GetLocalizedNameMethod, Is.Not.Null);
|
||||
|
||||
var translated = new CharacterVo
|
||||
{
|
||||
key = "actor_key",
|
||||
ru = "Русское имя",
|
||||
es = "Nombre español",
|
||||
ptBr = "Nome português",
|
||||
};
|
||||
|
||||
Assert.That(GetLocalizedName(translated, LocaleKind.Ru), Is.EqualTo(translated.ru));
|
||||
Assert.That(GetLocalizedName(translated, LocaleKind.Es), Is.EqualTo(translated.es));
|
||||
Assert.That(GetLocalizedName(translated, LocaleKind.PtBr), Is.EqualTo(translated.ptBr));
|
||||
|
||||
var untranslated = new CharacterVo { key = "actor_key" };
|
||||
Assert.That(GetLocalizedName(untranslated, LocaleKind.Ru), Is.EqualTo(untranslated.key));
|
||||
Assert.That(GetLocalizedName(untranslated, LocaleKind.Es), Is.EqualTo(untranslated.key));
|
||||
Assert.That(GetLocalizedName(untranslated, LocaleKind.PtBr), Is.EqualTo(untranslated.key));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CharacterCsv_AddedLocaleColumns_ParseSuccessfully()
|
||||
{
|
||||
string csvPath = Path.Combine(
|
||||
Application.streamingAssetsPath,
|
||||
"Config",
|
||||
"character.csv");
|
||||
|
||||
List<Character> characters = CsvUtil.ReadAsBean<Character>(csvPath);
|
||||
|
||||
Assert.That(characters, Is.Not.Empty);
|
||||
Character peipei = characters.Single(character => character.Key == "peipei");
|
||||
Assert.That(peipei.Ru, Is.Empty);
|
||||
Assert.That(peipei.Es, Is.Empty);
|
||||
Assert.That(peipei.PtBr, Is.Empty);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RuntimeYarnProjects_DeclareAddedLocales()
|
||||
{
|
||||
TalkSceneSO firstChapter =
|
||||
AssetDatabase.LoadAssetAtPath<TalkSceneSO>(FirstRuntimeChapterPath);
|
||||
Assert.That(firstChapter, Is.Not.Null);
|
||||
|
||||
var pending = new Queue<TalkSceneSO>();
|
||||
var visited = new HashSet<TalkSceneSO>();
|
||||
pending.Enqueue(firstChapter);
|
||||
|
||||
while (pending.Count > 0)
|
||||
{
|
||||
TalkSceneSO chapter = pending.Dequeue();
|
||||
if (chapter == null || !visited.Add(chapter))
|
||||
continue;
|
||||
|
||||
Assert.That(chapter.yarnProject, Is.Not.Null, chapter.name);
|
||||
AssertYarnProjectDeclaresAddedLocales(chapter);
|
||||
|
||||
if (chapter.exits == null)
|
||||
continue;
|
||||
|
||||
foreach (SceneExit sceneExit in chapter.exits)
|
||||
{
|
||||
if (sceneExit?.targetScene != null)
|
||||
pending.Enqueue(sceneExit.targetScene);
|
||||
}
|
||||
}
|
||||
|
||||
Assert.That(visited, Is.Not.Empty);
|
||||
}
|
||||
|
||||
private static string GetLocalizedName(CharacterVo character, LocaleKind localeKind)
|
||||
{
|
||||
return (string)GetLocalizedNameMethod.Invoke(character, new object[] { localeKind });
|
||||
}
|
||||
|
||||
private static void AssertYarnProjectDeclaresAddedLocales(TalkSceneSO chapter)
|
||||
{
|
||||
string assetPath = AssetDatabase.GetAssetPath(chapter.yarnProject);
|
||||
string projectRoot = Directory.GetParent(Application.dataPath).FullName;
|
||||
string absolutePath = Path.GetFullPath(Path.Combine(projectRoot, assetPath));
|
||||
YarnProjectDefinition project = YarnProjectDefinition.LoadFromFile(absolutePath);
|
||||
|
||||
foreach (string localeCode in AddedLocaleCodes)
|
||||
{
|
||||
Assert.That(
|
||||
project.Localisation.ContainsKey(localeCode),
|
||||
Is.True,
|
||||
$"{chapter.name} ({assetPath}) does not declare Locale {localeCode}.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7f556352cf7f71c4a98e967b54dffc3b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -8,6 +8,9 @@ namespace AibisDream.Kit
|
||||
public string Cn { get; set; }
|
||||
public string En { get; set; }
|
||||
public string Ja { get; set; }
|
||||
public string Ru { get; set; }
|
||||
public string Es { get; set; }
|
||||
public string PtBr { get; set; }
|
||||
public string NameColor { get; set; }
|
||||
public string HeadPicPath { get; set; }
|
||||
public string VoicePath { get; set; }
|
||||
@@ -26,6 +29,9 @@ namespace AibisDream.Kit
|
||||
vo.cn = Cn;
|
||||
vo.en = En;
|
||||
vo.ja = Ja;
|
||||
vo.ru = Ru;
|
||||
vo.es = Es;
|
||||
vo.ptBr = PtBr;
|
||||
vo.nameColor = NameColor;
|
||||
vo.headPicPath = HeadPicPath;
|
||||
vo.voicePath = VoicePath;
|
||||
@@ -43,6 +49,9 @@ namespace AibisDream.Kit
|
||||
public string cn;
|
||||
public string en;
|
||||
public string ja;
|
||||
public string ru;
|
||||
public string es;
|
||||
public string ptBr;
|
||||
public string nameColor;
|
||||
public string headPicPath;
|
||||
public string voicePath;
|
||||
@@ -79,6 +88,12 @@ namespace AibisDream.Kit
|
||||
case LocaleKind.Ja:
|
||||
if (!string.IsNullOrWhiteSpace(ja)) return ja;
|
||||
return string.IsNullOrWhiteSpace(cn) ? key : cn;
|
||||
case LocaleKind.Ru:
|
||||
return string.IsNullOrWhiteSpace(ru) ? key : ru;
|
||||
case LocaleKind.Es:
|
||||
return string.IsNullOrWhiteSpace(es) ? key : es;
|
||||
case LocaleKind.PtBr:
|
||||
return string.IsNullOrWhiteSpace(ptBr) ? key : ptBr;
|
||||
case LocaleKind.Cn:
|
||||
default:
|
||||
return string.IsNullOrWhiteSpace(cn) ? key : cn;
|
||||
@@ -105,4 +120,4 @@ namespace AibisDream.Kit
|
||||
Player,
|
||||
MainActor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,10 @@ namespace AibisDream.Framework
|
||||
{
|
||||
Cn,
|
||||
En,
|
||||
Ja
|
||||
Ja,
|
||||
Ru,
|
||||
Es,
|
||||
PtBr
|
||||
}
|
||||
|
||||
public static class LocalizationKit
|
||||
@@ -34,8 +37,11 @@ namespace AibisDream.Framework
|
||||
public static LocaleKind GetLocaleKind(string localeCode)
|
||||
{
|
||||
if (string.IsNullOrEmpty(localeCode)) return LocaleKind.Cn;
|
||||
if (localeCode.StartsWith("en")) return LocaleKind.En;
|
||||
if (localeCode.StartsWith("ja")) return LocaleKind.Ja;
|
||||
if (localeCode.StartsWith("en", StringComparison.OrdinalIgnoreCase)) return LocaleKind.En;
|
||||
if (localeCode.StartsWith("ja", StringComparison.OrdinalIgnoreCase)) return LocaleKind.Ja;
|
||||
if (localeCode.StartsWith("ru", StringComparison.OrdinalIgnoreCase)) return LocaleKind.Ru;
|
||||
if (localeCode.StartsWith("es", StringComparison.OrdinalIgnoreCase)) return LocaleKind.Es;
|
||||
if (localeCode.StartsWith("pt", StringComparison.OrdinalIgnoreCase)) return LocaleKind.PtBr;
|
||||
return LocaleKind.Cn;
|
||||
}
|
||||
|
||||
@@ -62,6 +68,9 @@ namespace AibisDream.Framework
|
||||
SystemLanguage.Chinese or SystemLanguage.ChineseSimplified or SystemLanguage.ChineseTraditional => "zh-Hans",
|
||||
SystemLanguage.Japanese => "ja-JP",
|
||||
SystemLanguage.English => "en",
|
||||
SystemLanguage.Russian => "ru",
|
||||
SystemLanguage.Spanish => "es",
|
||||
SystemLanguage.Portuguese => "pt-BR",
|
||||
_ => "en",
|
||||
};
|
||||
|
||||
|
||||
@@ -36,6 +36,9 @@ namespace AibisDream.UI
|
||||
new UIFormOption { prop = "zh-Hans", label = "中文" },
|
||||
new UIFormOption { prop = "en", label = "English" },
|
||||
new UIFormOption { prop = "ja-JP", label = "日本語" },
|
||||
new UIFormOption { prop = "ru", label = "Русский" },
|
||||
new UIFormOption { prop = "es", label = "Español" },
|
||||
new UIFormOption { prop = "pt-BR", label = "Português (Brasil)" },
|
||||
};
|
||||
|
||||
private static readonly UIFormOption[] TextSpeedOptions =
|
||||
|
||||
@@ -1,77 +1,77 @@
|
||||
通过key索引配置,中文名,英文名,日文名,"显示位置,Default使用默认,Screen插线屏幕,OldBox基本对话框",人物角色(Player/MainActor/Aside),名称显示时的颜色,头像Pic路径,语音资源路径,气泡序号(默认0)
|
||||
Key,Cn,En,Ja,DialogViewType,Role,NameColor,HeadPicPath,VoicePath,BubbleIdx
|
||||
jg,警告,Warning,Warning,Default,MainActor,#7ae622,,VO/voice_DN,
|
||||
门,门,Door,,Default,MainActor,#7ae622,,,
|
||||
矩形,黑暗,Darkness,,Default,MainActor,#7ae622,,VO/voice_DN,
|
||||
记忆,记忆,Memory,,Default,MainActor,#7ae622,,,
|
||||
peipei,佩佩,Peipei,ペイペイ,Default,MainActor,#00FFFF,peipei_head,VO/voice_PP,
|
||||
乌鸦,乌鸦,Crow,,Default,MainActor,#e6ddc1,,VO/voice_WYd,
|
||||
wyd?,???,???,???,Default,MainActor,#e6ddc1,,VO/voice_WYd,
|
||||
马尾辫女孩,马尾辫女孩,Girl with ponytail,,Default,MainActor,,,VO/voice_JJ,
|
||||
pp,佩佩,Peipei,ペイペイ,Default,MainActor,#00FFFF,peipei_head,VO/voice_PP,
|
||||
ppm,佩佩,Peipei,ペイペイ,Default,MainActor,#00FFFF,peipei_head,VO/voice_PPm,
|
||||
ppd,女孩,Girl,,Default,MainActor,,,VO/voice_PPd,
|
||||
ppd?,女孩,Girl,,Default,MainActor,,,VO/voice_PPd,
|
||||
me,路斯,Luth,ルース,Default,Player,,me_head,VO/voice_ME,
|
||||
med,路斯,Luth,ルース,Default,Player,,me_head,VO/voice_MEd,
|
||||
mem,路斯,Luth,ルース,Default,Player,,me_head,VO/voice_MEm,
|
||||
mecd,女孩,Young Girl,少女,Default,MainActor,,,VO/voice_MECd,
|
||||
mecd?,???,???,???,Default,MainActor,,,VO/voice_MECd,
|
||||
bb,BB机,Beeper,,Default,Player,,me_head,,
|
||||
jj,姐姐,Sister,姉さん,Default,MainActor,,me_head,VO/voice_JJ,
|
||||
jjd,姐姐,Sister,姉さん,Default,MainActor,,me_head,VO/voice_JJd,
|
||||
jjm,姐姐,Sister,姉さん,Default,MainActor,,me_head,VO/voice_JJm,
|
||||
jj?,柔和女声,???,???,Default,MainActor,,me_head,VO/voice_JJ,
|
||||
hs,火山,HuoShan,火山,Default,MainActor,#FFA800,peipei_head,VO/voice_HS,
|
||||
hs?,沙哑男声,???,???,Default,MainActor,#FFA800,peipei_head,VO/voice_HS,
|
||||
hsm,火山,HuoShan,火山,Default,MainActor,,,VO/voice_HSm,
|
||||
hsd,阿灿,Young Boy,少年,Default,MainActor,,,VO/voice_HSd,
|
||||
hsd?,???,???,???,Default,MainActor,#FFA800,peipei_head,VO/voice_HSd,
|
||||
yl,英理,Yingli,エリ,Default,MainActor,#4000FF,peipei_head,VO/voice_YL,
|
||||
ql?,02号调酒机体,Bartender,,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
ql,奇琳,Kirin,チーリン,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
peipei_novoice,胆怯女声,Timid female voice,怯えた女声,Default,Aside,#00FFFF,,VO/voice_PP,2
|
||||
yingli_novoice,严厉女声,Stern female voice,厳しい女声,Default,Aside,#FFCC00,,VO/voice_YL,1
|
||||
tutorial,教学,Tutorial,,Default,Aside,,,,
|
||||
docter,儿科医生,Doctor (in memory),医者(記憶の中),Default,Aside,#FFCC00,,,
|
||||
peipei_child,童年佩佩,Peipei (child),ペイペイ(幼少期),Default,Aside,#00FFFF,,VO/voice_PPm,
|
||||
unknown,???,???,???,Default,Aside,#FFCC00,,,
|
||||
???,???,???,???,Default,MainActor,#FFCC00,,,
|
||||
zls?,???,???,???,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
zls,治疗师,Therapist,セラピスト,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
shitou,石头,Stone,シートウ,Default,MainActor,,,VO/voice_shitou,
|
||||
Descent,Descent,Descent,,Default,Aside,#FFCC00,,VO/voice_me,
|
||||
e-assistant,电子助手,Electronic Assistant,,Default,Aside,#FFCC00,,VO/voice_me,
|
||||
Gotashi_unknow,戴纯金雕塑头的男人,*Gotash,*ゴタシュ,Default,Aside,#FFCC00,,,
|
||||
dn,无连接,No Connection,No Connection,Screen,Aside,#FFBF5F,,VO/voice_DN,
|
||||
Linking,连接中……,Connecting...,Connecting...,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
Analysing,分析中,Analyzing...,Analyzing...,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
Error,错误警告,Error warning,Error warning,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
UfModule,Unstable Fusion图像生成模块,Unstable Fusion Module,Unstable Fusion Module,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
EyeModule,HS9型视觉模块,HS9 Visual Module,HS9 Visual Module,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
EmoModule,通用型情绪发生模块,Universal Emotion Generation Module,Universal Emotion Generation Module,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
MemModule,通用型记忆模块,Universal Memory Module,Universal Memory Module,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
LogicModule,MK1型逻辑处理模块,MK1 logic Processing Module,MK1 logic Processing Module,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
SpeakerModule,MK1型表达模块,MK1 Expression Module,MK1 Expression Module,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
SaleModule,销售语言拓展模块,Sales Language Extension Module,販売言語拡張モジュール,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
ChipModule,4R7型色觉晶圆训练槽,4R7 Color Perception Wafer Training Slot,4R7 Color Perception Wafer Training Slot,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
HivemindModule,未知型号<br>Hivemind通讯终端,Unknown type Hivemind communication terminal,Unknown type Hivemind communication terminal,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
HeartModule,C03UR型特配涡轮增压动力模块,C03UR Special Turbocharged Power Module,C03UR Special Turbocharged Power Module,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
LungModule,MK1型气体处理模块,MK1 Gas Processing Module,MK1 Gas Processing Module,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
LiverModule,MK1型冷却液循环模块,MK1 Coolant Circulation Module,MK1 Coolant Circulation Module,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
DigestModule,MK1型物料处理模块,MK1 Material Processing Module,MK1 Material Processing Module,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
CenterText,,,,CenterText,Aside,,,,
|
||||
CenterOption,,,,CenterOption,Aside,,,,
|
||||
Task,,,,Task,Aside,,,,
|
||||
TempText,,,,Default,Aside,,,,
|
||||
gts,患者,???,???,Default,MainActor,#A4CD36,,VO/voice_GTS,
|
||||
gts?,患者,???,???,Default,MainActor,#A4CD36,,VO/voice_GTS_broken,
|
||||
gts??,患者??,???,???,Default,MainActor,#E2C22B,,VO/voice_GTS,
|
||||
classmate,同学,Classmate,クラスメート,Default,Aside,,,VO/voice_memCommon,
|
||||
jb,酒保,Bartender,バーテンダー,Default,MainActor,,,VO/voice_memCommon,
|
||||
host,主持人,Newscaster,ニュースキャスター,Default,MainActor,,,VO/voice_memCommon,
|
||||
teacher,教师,Teacher,Teacher,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
sellerA,销售员A,Seller A,Seller A,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
sellerB,销售员B,Seller B,Seller B,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
sellerC,销售员C,Seller C,Seller C,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
通过key索引配置,中文名,英文名,日文名,俄文名,西班牙文名,巴西葡萄牙文名,"显示位置,Default使用默认,Screen插线屏幕,OldBox基本对话框",人物角色(Player/MainActor/Aside),名称显示时的颜色,头像Pic路径,语音资源路径,气泡序号(默认0)
|
||||
Key,Cn,En,Ja,Ru,Es,PtBr,DialogViewType,Role,NameColor,HeadPicPath,VoicePath,BubbleIdx
|
||||
jg,警告,Warning,Warning,,,,Default,MainActor,#7ae622,,VO/voice_DN,
|
||||
门,门,Door,,,,,Default,MainActor,#7ae622,,,
|
||||
矩形,黑暗,Darkness,,,,,Default,MainActor,#7ae622,,VO/voice_DN,
|
||||
记忆,记忆,Memory,,,,,Default,MainActor,#7ae622,,,
|
||||
peipei,佩佩,Peipei,ペイペイ,,,,Default,MainActor,#00FFFF,peipei_head,VO/voice_PP,
|
||||
乌鸦,乌鸦,Crow,,,,,Default,MainActor,#e6ddc1,,VO/voice_WYd,
|
||||
wyd?,???,???,???,,,,Default,MainActor,#e6ddc1,,VO/voice_WYd,
|
||||
马尾辫女孩,马尾辫女孩,Girl with ponytail,,,,,Default,MainActor,,,VO/voice_JJ,
|
||||
pp,佩佩,Peipei,ペイペイ,,,,Default,MainActor,#00FFFF,peipei_head,VO/voice_PP,
|
||||
ppm,佩佩,Peipei,ペイペイ,,,,Default,MainActor,#00FFFF,peipei_head,VO/voice_PPm,
|
||||
ppd,女孩,Girl,,,,,Default,MainActor,,,VO/voice_PPd,
|
||||
ppd?,女孩,Girl,,,,,Default,MainActor,,,VO/voice_PPd,
|
||||
me,路斯,Luth,ルース,,,,Default,Player,,me_head,VO/voice_ME,
|
||||
med,路斯,Luth,ルース,,,,Default,Player,,me_head,VO/voice_MEd,
|
||||
mem,路斯,Luth,ルース,,,,Default,Player,,me_head,VO/voice_MEm,
|
||||
mecd,女孩,Young Girl,少女,,,,Default,MainActor,,,VO/voice_MECd,
|
||||
mecd?,???,???,???,,,,Default,MainActor,,,VO/voice_MECd,
|
||||
bb,BB机,Beeper,,,,,Default,Player,,me_head,,
|
||||
jj,姐姐,Sister,姉さん,,,,Default,MainActor,,me_head,VO/voice_JJ,
|
||||
jjd,姐姐,Sister,姉さん,,,,Default,MainActor,,me_head,VO/voice_JJd,
|
||||
jjm,姐姐,Sister,姉さん,,,,Default,MainActor,,me_head,VO/voice_JJm,
|
||||
jj?,柔和女声,???,???,,,,Default,MainActor,,me_head,VO/voice_JJ,
|
||||
hs,火山,HuoShan,火山,,,,Default,MainActor,#FFA800,peipei_head,VO/voice_HS,
|
||||
hs?,沙哑男声,???,???,,,,Default,MainActor,#FFA800,peipei_head,VO/voice_HS,
|
||||
hsm,火山,HuoShan,火山,,,,Default,MainActor,,,VO/voice_HSm,
|
||||
hsd,阿灿,Young Boy,少年,,,,Default,MainActor,,,VO/voice_HSd,
|
||||
hsd?,???,???,???,,,,Default,MainActor,#FFA800,peipei_head,VO/voice_HSd,
|
||||
yl,英理,Yingli,エリ,,,,Default,MainActor,#4000FF,peipei_head,VO/voice_YL,
|
||||
ql?,02号调酒机体,Bartender,,,,,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
ql,奇琳,Kirin,チーリン,,,,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
peipei_novoice,胆怯女声,Timid female voice,怯えた女声,,,,Default,Aside,#00FFFF,,VO/voice_PP,2
|
||||
yingli_novoice,严厉女声,Stern female voice,厳しい女声,,,,Default,Aside,#FFCC00,,VO/voice_YL,1
|
||||
tutorial,教学,Tutorial,,,,,Default,Aside,,,,
|
||||
docter,儿科医生,Doctor (in memory),医者(記憶の中),,,,Default,Aside,#FFCC00,,,
|
||||
peipei_child,童年佩佩,Peipei (child),ペイペイ(幼少期),,,,Default,Aside,#00FFFF,,VO/voice_PPm,
|
||||
unknown,???,???,???,,,,Default,Aside,#FFCC00,,,
|
||||
???,???,???,???,,,,Default,MainActor,#FFCC00,,,
|
||||
zls?,???,???,???,,,,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
zls,治疗师,Therapist,セラピスト,,,,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
shitou,石头,Stone,シートウ,,,,Default,MainActor,,,VO/voice_shitou,
|
||||
Descent,Descent,Descent,,,,,Default,Aside,#FFCC00,,VO/voice_me,
|
||||
e-assistant,电子助手,Electronic Assistant,,,,,Default,Aside,#FFCC00,,VO/voice_me,
|
||||
Gotashi_unknow,戴纯金雕塑头的男人,*Gotash,*ゴタシュ,,,,Default,Aside,#FFCC00,,,
|
||||
dn,无连接,No Connection,No Connection,,,,Screen,Aside,#FFBF5F,,VO/voice_DN,
|
||||
Linking,连接中……,Connecting...,Connecting...,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
Analysing,分析中,Analyzing...,Analyzing...,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
Error,错误警告,Error warning,Error warning,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
UfModule,Unstable Fusion图像生成模块,Unstable Fusion Module,Unstable Fusion Module,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
EyeModule,HS9型视觉模块,HS9 Visual Module,HS9 Visual Module,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
EmoModule,通用型情绪发生模块,Universal Emotion Generation Module,Universal Emotion Generation Module,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
MemModule,通用型记忆模块,Universal Memory Module,Universal Memory Module,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
LogicModule,MK1型逻辑处理模块,MK1 logic Processing Module,MK1 logic Processing Module,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
SpeakerModule,MK1型表达模块,MK1 Expression Module,MK1 Expression Module,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
SaleModule,销售语言拓展模块,Sales Language Extension Module,販売言語拡張モジュール,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
ChipModule,4R7型色觉晶圆训练槽,4R7 Color Perception Wafer Training Slot,4R7 Color Perception Wafer Training Slot,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
HivemindModule,未知型号<br>Hivemind通讯终端,Unknown type Hivemind communication terminal,Unknown type Hivemind communication terminal,,,,Screen,Aside,#F56C6C,,VO/voice_DN,
|
||||
HeartModule,C03UR型特配涡轮增压动力模块,C03UR Special Turbocharged Power Module,C03UR Special Turbocharged Power Module,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
LungModule,MK1型气体处理模块,MK1 Gas Processing Module,MK1 Gas Processing Module,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
LiverModule,MK1型冷却液循环模块,MK1 Coolant Circulation Module,MK1 Coolant Circulation Module,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
DigestModule,MK1型物料处理模块,MK1 Material Processing Module,MK1 Material Processing Module,,,,Screen,Aside,#E6A23C,,VO/voice_DN,
|
||||
CenterText,,,,,,,CenterText,Aside,,,,
|
||||
CenterOption,,,,,,,CenterOption,Aside,,,,
|
||||
Task,,,,,,,Task,Aside,,,,
|
||||
TempText,,,,,,,Default,Aside,,,,
|
||||
gts,患者,???,???,,,,Default,MainActor,#A4CD36,,VO/voice_GTS,
|
||||
gts?,患者,???,???,,,,Default,MainActor,#A4CD36,,VO/voice_GTS_broken,
|
||||
gts??,患者??,???,???,,,,Default,MainActor,#E2C22B,,VO/voice_GTS,
|
||||
classmate,同学,Classmate,クラスメート,,,,Default,Aside,,,VO/voice_memCommon,
|
||||
jb,酒保,Bartender,バーテンダー,,,,Default,MainActor,,,VO/voice_memCommon,
|
||||
host,主持人,Newscaster,ニュースキャスター,,,,Default,MainActor,,,VO/voice_memCommon,
|
||||
teacher,教师,Teacher,Teacher,,,,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
sellerA,销售员A,Seller A,Seller A,,,,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
sellerB,销售员B,Seller B,Seller B,,,,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
sellerC,销售员C,Seller C,Seller C,,,,Default,MainActor,#FFCC00,,VO/voice_memCommon,
|
||||
|
||||
|
||||
|
@@ -129,6 +129,7 @@ position: -116,-2585
|
||||
<<jump 走廊>>
|
||||
->观察 #line:0c9209f
|
||||
<<detour 教室_Insp>>
|
||||
<<jump 教室>>
|
||||
->趴回去再睡会 #line:0028a19
|
||||
<<detour 趴回去再睡会>>
|
||||
<<jump 教室>>
|
||||
|
||||
@@ -6,7 +6,13 @@
|
||||
"excludeFiles": [
|
||||
"**/*~/*"
|
||||
],
|
||||
"localisation": {},
|
||||
"localisation": {
|
||||
"en": {},
|
||||
"ja-JP": {},
|
||||
"ru": {},
|
||||
"es": {},
|
||||
"pt-BR": {}
|
||||
},
|
||||
"baseLanguage": "zh-Hans",
|
||||
"compilerOptions": {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ PlayerSettings:
|
||||
vulkanEnableLateAcquireNextImage: 0
|
||||
vulkanEnableCommandBufferRecycling: 1
|
||||
loadStoreDebugModeEnabled: 0
|
||||
bundleVersion: 0.6.1.15-20260730-005754
|
||||
bundleVersion: 0.6.1.16-20260731-152037
|
||||
preloadedAssets:
|
||||
- {fileID: 11400000, guid: 0fb2bc2476953fc43a74f0ab8879077c, type: 2}
|
||||
metroInputSource: 0
|
||||
|
||||
Reference in New Issue
Block a user