表达模块接入

去除旧的火山表达模块玩法,接入新的表达模块玩法
This commit is contained in:
2025-11-17 21:07:58 +08:00
parent 392fe80ebd
commit 65463b8f64
36 changed files with 4726 additions and 10016 deletions
@@ -19,32 +19,32 @@ MonoBehaviour:
m_Key: line:0ef7bff
m_Metadata:
m_Items:
- rid: 6203036897972322888
- rid: 2532585790100471825
- m_Id: 180190609408
m_Key: line:088b598
m_Metadata:
m_Items:
- rid: 6203036897972322889
- rid: 2532585790100471826
- m_Id: 180190609409
m_Key: line:0dac12c
m_Metadata:
m_Items:
- rid: 6203036897972322890
- rid: 2532585790100471827
- m_Id: 180190609410
m_Key: line:0ad2190
m_Metadata:
m_Items:
- rid: 6203036897972322891
- rid: 2532585790100471828
- m_Id: 180194803712
m_Key: line:0466fea
m_Metadata:
m_Items:
- rid: 6203036897972322892
- rid: 2532585790100471829
- m_Id: 385815380393984
m_Key: line:3adc1a6b
m_Metadata:
m_Items:
- rid: 6203036897972322893
- rid: 2532585790100471830
- m_Id: 385815418142720
m_Key: line:88de144d
m_Metadata:
@@ -130,6 +130,116 @@ MonoBehaviour:
m_Metadata:
m_Items:
- rid: 7942689805606060914
- m_Id: 68217195702943744
m_Key: line:808d13f2
m_Metadata:
m_Items:
- rid: 2532585790100471816
- m_Id: 68217195749081088
m_Key: line:2b4b70d3
m_Metadata:
m_Items:
- rid: 2532585790100471817
- m_Id: 68217195749081089
m_Key: line:f809de3b
m_Metadata:
m_Items:
- rid: 2532585790100471818
- m_Id: 68217195749081090
m_Key: line:aaf42299
m_Metadata:
m_Items:
- rid: 2532585790100471819
- m_Id: 68217195753275392
m_Key: line:2dea6d3a
m_Metadata:
m_Items:
- rid: 2532585790100471820
- m_Id: 68217195753275393
m_Key: line:8eb038a3
m_Metadata:
m_Items:
- rid: 2532585790100471821
- m_Id: 68217195753275394
m_Key: line:93b4dd62
m_Metadata:
m_Items:
- rid: 2532585790100471822
- m_Id: 68217195753275395
m_Key: line:17af58b2
m_Metadata:
m_Items:
- rid: 2532585790100471823
- m_Id: 68217195753275396
m_Key: line:66815c63
m_Metadata:
m_Items:
- rid: 2532585790100471824
- m_Id: 68218473690595328
m_Key: line:eb1476e1
m_Metadata:
m_Items:
- rid: 2532585790100471831
- m_Id: 68218473694789632
m_Key: line:4881127f
m_Metadata:
m_Items:
- rid: 2532585790100471832
- m_Id: 68218473694789633
m_Key: line:deb11508
m_Metadata:
m_Items:
- rid: 2532585790100471833
- m_Id: 68218473694789634
m_Key: line:64e01c91
m_Metadata:
m_Items:
- rid: 2532585790100471834
- m_Id: 68218473694789635
m_Key: line:27369d44
m_Metadata:
m_Items:
- rid: 2532585790100471835
- m_Id: 68218473694789636
m_Key: line:0007c6da
m_Metadata:
m_Items:
- rid: 2532585790100471836
- m_Id: 68218473694789637
m_Key: line:d3456832
m_Metadata:
m_Items:
- rid: 2532585790100471837
- m_Id: 68218473694789638
m_Key: line:e421008d
m_Metadata:
m_Items:
- rid: 2532585790100471838
- m_Id: 68218473694789639
m_Key: line:ae796390
m_Metadata:
m_Items:
- rid: 2532585790100471839
- m_Id: 68218473694789640
m_Key: line:977455a4
m_Metadata:
m_Items:
- rid: 2532585790100471840
- m_Id: 68218473694789641
m_Key: line:8a70b065
m_Metadata:
m_Items:
- rid: 2532585790100471841
- m_Id: 68218473694789642
m_Key: line:0e6b35b5
m_Metadata:
m_Items:
- rid: 2532585790100471842
- m_Id: 68218473694789643
m_Key: line:4dcdea6a
m_Metadata:
m_Items:
- rid: 2532585790100471843
m_Metadata:
m_Items: []
m_KeyGenerator:
@@ -137,36 +247,146 @@ MonoBehaviour:
references:
version: 2
RefIds:
- rid: 6203036897972322888
- rid: 2532585790100471816
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Start
tags: []
- rid: 6203036897972322889
- rid: 2532585790100471817
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u60C5\u7EEA\u63A2\u7D22\u5B8C\u6210"
tags: []
- rid: 2532585790100471818
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u81EA\u5351\u627E\u5230\u4E86"
tags: []
- rid: 2532585790100471819
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u7F9E\u803B\u627E\u5230\u4E86"
tags: []
- rid: 2532585790100471820
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u6050\u60E7\u627E\u5230\u4E86"
tags: []
- rid: 2532585790100471821
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u7ED3\u675F\u60C5\u7EEA\u6A21\u5757\u63A2\u7D22"
tags: []
- rid: 2532585790100471822
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u627E\u5230\u7F9E\u803B\u5BF9\u8BDD"
tags: []
- rid: 2532585790100471823
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u627E\u5230\u6050\u60E7\u5BF9\u8BDD"
tags: []
- rid: 2532585790100471824
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u627E\u5230\u81EA\u5351\u5BF9\u8BDD"
tags: []
- rid: 2532585790100471825
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Start
tags: []
- rid: 2532585790100471826
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Center
tags: []
- rid: 6203036897972322890
- rid: 2532585790100471827
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "UserA_\u5708\u5C42\u8C61\u5F81\u8005"
tags: []
- rid: 6203036897972322891
- rid: 2532585790100471828
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "UserA_\u5708\u5C42\u8C61\u5F81\u8005"
tags: []
- rid: 6203036897972322892
- rid: 2532585790100471829
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "UserA_\u5708\u5C42\u8C61\u5F81\u8005"
tags: []
- rid: 6203036897972322893
- rid: 2532585790100471830
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Start
tags: []
- rid: 2532585790100471831
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Complete
tags: []
- rid: 2532585790100471832
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Complete
tags: []
- rid: 2532585790100471833
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Complete
tags: []
- rid: 2532585790100471834
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Complete
tags: []
- rid: 2532585790100471835
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Complete2
tags: []
- rid: 2532585790100471836
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u60C5\u7EEA\u63A2\u7D22\u5B8C\u6210"
tags: []
- rid: 2532585790100471837
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u81EA\u5351\u627E\u5230\u4E86"
tags: []
- rid: 2532585790100471838
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u7F9E\u803B\u627E\u5230\u4E86"
tags: []
- rid: 2532585790100471839
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u6050\u60E7\u627E\u5230\u4E86"
tags: []
- rid: 2532585790100471840
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u7ED3\u675F\u60C5\u7EEA\u6A21\u5757\u63A2\u7D22"
tags: []
- rid: 2532585790100471841
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u627E\u5230\u7F9E\u803B\u5BF9\u8BDD"
tags: []
- rid: 2532585790100471842
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u627E\u5230\u6050\u60E7\u5BF9\u8BDD"
tags: []
- rid: 2532585790100471843
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "\u627E\u5230\u81EA\u5351\u5BF9\u8BDD"
tags: []
- rid: 6203036897972322894
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
@@ -39,7 +39,7 @@ MonoBehaviour:
m_Metadata:
m_Items: []
- m_Id: 385815380393984
m_Localized: "\u6DF1\u5165\u60C5\u7EEA\u6A21\u5757"
m_Localized: "\u542F\u52A8\u7CFB\u7EDF"
m_Metadata:
m_Items: []
- m_Id: 385815418142720
@@ -74,6 +74,94 @@ MonoBehaviour:
m_Localized: "\u81EA\u5351"
m_Metadata:
m_Items: []
- m_Id: 68217195702943744
m_Localized: "\u6DF1\u5165\u60C5\u7EEA\u6A21\u5757"
m_Metadata:
m_Items: []
- m_Id: 68217195749081088
m_Localized: "\u60C5\u7EEA\u63A2\u7D22\u5B8C\u6210\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68217195749081089
m_Localized: "\u81EA\u5351\u627E\u5230\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68217195749081090
m_Localized: "\u7F9E\u803B\u627E\u5230\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68217195753275392
m_Localized: "\u6050\u60E7\u627E\u5230\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68217195753275393
m_Localized: "\u5360\u4F4D"
m_Metadata:
m_Items: []
- m_Id: 68217195753275394
m_Localized: "\u7F9E\u803B"
m_Metadata:
m_Items: []
- m_Id: 68217195753275395
m_Localized: "\u6050\u60E7"
m_Metadata:
m_Items: []
- m_Id: 68217195753275396
m_Localized: "\u81EA\u5351"
m_Metadata:
m_Items: []
- m_Id: 68218473690595328
m_Localized: "me: \u597D\u4E86\uFF0C\u706B\u5C71\u4F60\u7EE7\u7EED"
m_Metadata:
m_Items: []
- m_Id: 68218473694789632
m_Localized: "hs: \u55EF\uFF0Cbalabalabala\u2026"
m_Metadata:
m_Items: []
- m_Id: 68218473694789633
m_Localized: "hs: \u6211\u6211\u6211\u6211\u6211\u6211\u6211"
m_Metadata:
m_Items: []
- m_Id: 68218473694789634
m_Localized: "me: \u53C8\u51FA\u95EE\u9898\u4E86\uFF0C\u7EE7\u7EED\u4FEE\u590D"
m_Metadata:
m_Items: []
- m_Id: 68218473694789635
m_Localized: "me: \u597D\u4E86\uFF0C\u706B\u5C71\u4F60\u7EE7\u7EED"
m_Metadata:
m_Items: []
- m_Id: 68218473694789636
m_Localized: "\u60C5\u7EEA\u63A2\u7D22\u5B8C\u6210\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68218473694789637
m_Localized: "\u81EA\u5351\u627E\u5230\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68218473694789638
m_Localized: "\u7F9E\u803B\u627E\u5230\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68218473694789639
m_Localized: "\u6050\u60E7\u627E\u5230\u4E86"
m_Metadata:
m_Items: []
- m_Id: 68218473694789640
m_Localized: "\u5360\u4F4D"
m_Metadata:
m_Items: []
- m_Id: 68218473694789641
m_Localized: "\u7F9E\u803B"
m_Metadata:
m_Items: []
- m_Id: 68218473694789642
m_Localized: "\u6050\u60E7"
m_Metadata:
m_Items: []
- m_Id: 68218473694789643
m_Localized: "\u81EA\u5351"
m_Metadata:
m_Items: []
references:
version: 2
RefIds: []
+629
View File
@@ -0,0 +1,629 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4444102619471002673
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8243975430985872554}
- component: {fileID: 431899344005454992}
- component: {fileID: 8335407129172028132}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8243975430985872554
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4444102619471002673}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1786368703775013463}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &431899344005454992
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4444102619471002673}
m_CullTransparentMesh: 1
--- !u!114 &8335407129172028132
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4444102619471002673}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u8F93\u51FA"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5051257384991036728
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5886754304752220700}
- component: {fileID: 4975825697508962007}
- component: {fileID: 160196354225289981}
m_Layer: 5
m_Name: Text (TMP) (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5886754304752220700
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5051257384991036728}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5610800771145019008}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 10.83, y: -0.71}
m_SizeDelta: {x: 1, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4975825697508962007
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5051257384991036728}
m_CullTransparentMesh: 1
--- !u!114 &160196354225289981
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5051257384991036728}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294040693
m_fontColor: {r: 0.45745817, g: 0.86362934, b: 0.9433962, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.3
m_fontSizeBase: 0.3
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0.41540456, z: -2.6862788, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &5215551811631242417
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1786368703775013463}
- component: {fileID: 6351281720201056243}
- component: {fileID: 4189457613456053329}
- component: {fileID: 5263643540917244588}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1786368703775013463
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5215551811631242417}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.012000492, y: 0.012000492, z: 0.012000492}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8243975430985872554}
m_Father: {fileID: 5610800771145019008}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 6.26, y: 2.12}
m_SizeDelta: {x: 160, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6351281720201056243
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5215551811631242417}
m_CullTransparentMesh: 1
--- !u!114 &4189457613456053329
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5215551811631242417}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &5263643540917244588
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5215551811631242417}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4189457613456053329}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &7760881852165363163
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4424925604929635814}
- component: {fileID: 9053907269826513811}
- component: {fileID: 5274779781254289206}
m_Layer: 5
m_Name: Text (TMP) (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4424925604929635814
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7760881852165363163}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5610800771145019008}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 10.839999, y: -1.5600002}
m_SizeDelta: {x: 1, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9053907269826513811
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7760881852165363163}
m_CullTransparentMesh: 1
--- !u!114 &5274779781254289206
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7760881852165363163}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4284643057
m_fontColor: {r: 0.9433962, g: 0.4632709, b: 0.38625845, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.3
m_fontSizeBase: 0.3
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0.41540456, z: -2.6862788, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &8130917770620783004
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5610800771145019008}
- component: {fileID: 3716509086175559957}
- component: {fileID: 1112886391283849478}
- component: {fileID: 7340929030885672079}
m_Layer: 5
m_Name: LanguageCanvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5610800771145019008
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8130917770620783004}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5886754304752220700}
- {fileID: 4424925604929635814}
- {fileID: 1786368703775013463}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: -2.54, y: 0}
m_SizeDelta: {x: 10, y: 10}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!223 &3716509086175559957
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8130917770620783004}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &1112886391283849478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8130917770620783004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 1
--- !u!114 &7340929030885672079
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8130917770620783004}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
@@ -1,7 +1,6 @@
fileFormatVersion: 2
guid: a33a05a3339562c4a808f8f17e7a94b1
folderAsset: yes
DefaultImporter:
guid: 2ce3d18051ef90d4cb2f34f6eb70932c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
@@ -0,0 +1,461 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1806761601118139948
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6107873478921429282}
- component: {fileID: 8824879904371284977}
m_Layer: 0
m_Name: background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6107873478921429282
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1806761601118139948}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.7099991, y: -3.5, z: -0.77730703}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6512012992686266196}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &8824879904371284977
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1806761601118139948}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 1
m_Sprite: {fileID: 8789638399658599085, guid: 2338fddc038248b4b934bef72357cd13, type: 3}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 17.860466, y: 10.046512}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &2736402171718450553
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6512012992686266196}
m_Layer: 0
m_Name: ExpressView
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6512012992686266196
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2736402171718450553}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 2.55, y: 8.59, z: 8.612933}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2550786093261714656}
- {fileID: 6107873478921429282}
- {fileID: 7999662572598421647}
m_Father: {fileID: 5583140471695735899}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8624585168408867612
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5583140471695735899}
- component: {fileID: 5814606722141011736}
m_Layer: 0
m_Name: LanguageParticleSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5583140471695735899
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8624585168408867612}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -2.8477545, y: -5.088608, z: -8.612933}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6512012992686266196}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5814606722141011736
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8624585168408867612}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79af040068968934c9a7d092267034f6, type: 3}
m_Name:
m_EditorClassIdentifier:
worldCanvas: {fileID: 1245986889930950426}
canvasSize: 10
chineseFontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
floatingParticlePrefab: {fileID: 0}
candidateParticlePrefab: {fileID: 0}
floatingCount: 100
candidateCount: 50
redParticleCount: 8
connectionDistance: 2
textMargin: 1
anxietyPhrases: []
targetSentence: "\u522B\u8FC7\u6765\u6211\u611F\u89C9\u5BB3\u6015"
completionDialogNode:
waveformAmplitude: 0.3
interactionRadius: 0.5
mouseInteractionRadius: 1.5
repulsionForce: 2
attractionForce: 1.5
enableAutoPropagation: 1
autoPropagationInterval: 2
autoPropagationCount: 1
propagationDuration: 1
propagationDelay: 0.08
maxPropagationNodes: 8
targetParticleColor: {r: 0.2, g: 0.78039217, b: 1, a: 1}
nonTargetParticleColor: {r: 1, g: 0.40870008, b: 0.38823533, a: 0.69803923}
propagationColor: {r: 0.6621573, g: 0.8664762, b: 0.9433962, a: 1}
floatingTextColor: {r: 1, g: 1, b: 1, a: 1}
targetCalmColor: {r: 0.78, g: 0.59, b: 0.59, a: 1}
targetParticleFontSize: 3.5
nonTargetParticleFontSize: 2.5
floatingTextFontSize: 2
targetParticleBold: 1
nonTargetParticleBold: 0
targetConnectionColor: {r: 0.3882353, g: 0.78039217, b: 1, a: 0.6666667}
nonTargetConnectionColor: {r: 1, g: 0.41911593, b: 0.38823533, a: 0.7}
propagationLineColor: {r: 0.6627451, g: 0.8666667, b: 0.94509804, a: 1}
targetConnectionThickness: 0.04
nonTargetConnectionThickness: 0.02
propagationLineThickness: 0.03
integrationProgressText: {fileID: 2368949030211845362}
interferenceCountText: {fileID: 7776268949103202617}
focusSequenceButton: {fileID: 7770157150550594723}
focusZoomScale: 1.6
focusMoveDuration: 1.2
focusFadeDuration: 1
probabilityDuration: 3.5
predictionSequenceGap: 0.4
spreadDistance: 0.35
focusRingColor: {r: 1, g: 1, b: 1, a: 1}
focusRingThickness: 0.025
focusRingAlpha: 0.752
statusFadeOutDuration: 0.45
shuffleDistance: 0.35
shuffleFrequency: 3.5
shuffleVerticalScale: 0.6
entranceDelay: 0.45
entranceCoreCount: 20
entranceCoreRadius: 0.55
entranceInitialScale: 0.25
entranceCoreBurstDuration: 1.5
entranceCoreStagger: 0.08
entranceCascadeDuration: 0.8
entranceCascadeStagger: 0.03
entranceSearchRadius: 2
enableDebugShortcuts: 1
debugCompleteKey: 286
debugResetKey: 290
debugFullTestKey: 291
autoRunDebugTestOnStart: 0
enableSeparation: 1
minParticleSpacing: 0.6
separationForce: 2.5
lineAlphaMultiplier: 0.65
--- !u!1 &8782109143467238028
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2550786093261714656}
- component: {fileID: 1281333152133243457}
m_Layer: 0
m_Name: Light 2D
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2550786093261714656
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8782109143467238028}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.5600004, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6512012992686266196}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1281333152133243457
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8782109143467238028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ComponentVersion: 1
m_LightType: 1
m_BlendStyleIndex: 0
m_FalloffIntensity: 0.5
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 1
m_LightVolumeIntensity: 1
m_LightVolumeIntensityEnabled: 0
m_ApplyToSortingLayers: f3a9fe5c00000000bbbb5032670b9971b7e66ab5d3878c191da0cc5f7740d514351d35393d533d9a7dc3a93dad9d9e43a55d9d3c8db9e11bb33d1a38cd4376e253b7f3d03394c91221d98fe1c7af7730011a6676
m_LightCookieSprite: {fileID: 0}
m_DeprecatedPointLightCookieSprite: {fileID: 0}
m_LightOrder: 0
m_AlphaBlendOnOverlap: 0
m_OverlapOperation: 0
m_NormalMapDistance: 3
m_NormalMapQuality: 2
m_UseNormalMap: 0
m_ShadowIntensityEnabled: 0
m_ShadowIntensity: 0.75
m_ShadowVolumeIntensityEnabled: 0
m_ShadowVolumeIntensity: 0.75
m_LocalBounds:
m_Center: {x: 0.7023001, y: -3.8862503, z: 0}
m_Extent: {x: 9.6144, y: 5.7741504, z: 0}
m_PointLightInnerAngle: 360
m_PointLightOuterAngle: 360
m_PointLightInnerRadius: 0
m_PointLightOuterRadius: 1
m_ShapeLightParametricSides: 5
m_ShapeLightParametricAngleOffset: 0
m_ShapeLightParametricRadius: 1
m_ShapeLightFalloffSize: 0.5
m_ShapeLightFalloffOffset: {x: 0, y: 0}
m_ShapePath:
- {x: -8.300076, y: -9.136493, z: 0}
- {x: 9.797846, y: -9.155944, z: 0}
- {x: 9.817297, y: 1.3947716, z: 0}
- {x: -8.416782, y: 1.3947716, z: 0}
--- !u!1001 &2511059343699428879
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 6512012992686266196}
m_Modifications:
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_SizeDelta.x
value: 10
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_SizeDelta.y
value: 10
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_AnchoredPosition.x
value: -2.2422447
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_AnchoredPosition.y
value: -3.5013924
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8130917770620783004, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
propertyPath: m_Name
value: Canvas
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
--- !u!223 &1245986889930950426 stripped
Canvas:
m_CorrespondingSourceObject: {fileID: 3716509086175559957, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
m_PrefabInstance: {fileID: 2511059343699428879}
m_PrefabAsset: {fileID: 0}
--- !u!114 &2368949030211845362 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 160196354225289981, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
m_PrefabInstance: {fileID: 2511059343699428879}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &7770157150550594723 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5263643540917244588, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
m_PrefabInstance: {fileID: 2511059343699428879}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &7776268949103202617 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5274779781254289206, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
m_PrefabInstance: {fileID: 2511059343699428879}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &7999662572598421647 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5610800771145019008, guid: 2ce3d18051ef90d4cb2f34f6eb70932c, type: 3}
m_PrefabInstance: {fileID: 2511059343699428879}
m_PrefabAsset: {fileID: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 27bf60bc51cd2f64d9012728a32b960d
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+13 -9
View File
@@ -463,15 +463,19 @@ MonoBehaviour:
m_PostInfinity: 2
m_RotationOrder: 4
_filter:
- 0.007228916
- 0.043749984
- 0.12409639
- 0.20444278
- 0.24096388
- 0.20444278
- 0.12409639
- 0.043749984
- 0.007228916
- 0.0048309183
- 0.016401261
- 0.04532712
- 0.08293076
- 0.12053438
- 0.14946026
- 0.1610306
- 0.14946026
- 0.12053438
- 0.08293076
- 0.04532712
- 0.016401261
- 0.0048309183
--- !u!114 &-6086986437317696584
MonoBehaviour:
m_ObjectHideFlags: 3
+27 -2
View File
@@ -8,8 +8,10 @@ position: 205,-53
<<switch_fix_system_to "BodyModule" "Head">>
->深入表达模块 #line:0ef7bff
<<switch_fix_system_to Expression>>
->深入情绪模块
<<switch_fix_system_to Emo>>
->启动系统
<<start_expression "我好怕|怎么办" "这是火山要说的第一句话" "Complete">>
// ->深入情绪模块
// <<switch_fix_system_to Emo>>
// <<switch_fix_system_to Expression>>
// <<jump VarsInit>>
===
@@ -62,3 +64,26 @@ colorID: 1
占位:流程结束 #line:088b598
<<endif>>
===
title: Complete
tags:
colorID: 8
position: 205,-53
---
me: 好了,火山你继续
hs: 嗯,balabalabala…
hs: 我我我我我我我
me: 又出问题了,继续修复
<<start_expression "我好怕|怎么办" "这是火山要说的第二句话" "Complete2">>
===
title: Complete2
tags:
colorID: 8
position: 205,-53
---
me: 好了,火山你继续
===
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -11809,9 +11809,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: feee73ba51d6e1a4da81ed7f94ab4694, type: 3}
m_Name:
m_EditorClassIdentifier:
runMode: 0
runMode: 1
firstTalkSo: {fileID: 11400000, guid: 2f763a2c04ecafb4981379b7363f9791, type: 2}
testTalkSo: {fileID: 11400000, guid: 68a9c1b8c5230454bb9498fd2ab5714b, type: 2}
testTalkSo: {fileID: 11400000, guid: 8ce86974047bb404c9096e70a606355a, type: 2}
saveFileName: "20250901_204445_PeipeiDay1_\u8BB0\u5FC6\u68C0\u67E5"
--- !u!1 &719273460
GameObject:
+58 -745
View File
@@ -123,377 +123,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &125585505
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 125585506}
- component: {fileID: 125585507}
m_Layer: 0
m_Name: LanguageParticleSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &125585506
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 125585505}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -2.8477545, y: -5.088608, z: -8.612933}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &125585507
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 125585505}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 79af040068968934c9a7d092267034f6, type: 3}
m_Name:
m_EditorClassIdentifier:
worldCanvas: {fileID: 1665911935}
canvasSize: 10
chineseFontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
floatingParticlePrefab: {fileID: 0}
candidateParticlePrefab: {fileID: 0}
floatingCount: 100
candidateCount: 50
redParticleCount: 8
connectionDistance: 2
textMargin: 1
targetSentence: "\u522B\u8FC7\u6765\u6211\u611F\u89C9\u5BB3\u6015"
waveformAmplitude: 0.3
interactionRadius: 0.5
mouseInteractionRadius: 1.5
repulsionForce: 2
attractionForce: 1.5
enableAutoPropagation: 1
autoPropagationInterval: 2
autoPropagationCount: 1
propagationDuration: 1
propagationDelay: 0.08
maxPropagationNodes: 8
targetParticleColor: {r: 0.2, g: 0.78039217, b: 1, a: 1}
nonTargetParticleColor: {r: 1, g: 0.40870008, b: 0.38823533, a: 0.69803923}
propagationColor: {r: 0.6621573, g: 0.8664762, b: 0.9433962, a: 1}
floatingTextColor: {r: 1, g: 1, b: 1, a: 1}
targetCalmColor: {r: 0.78, g: 0.59, b: 0.59, a: 1}
targetParticleFontSize: 3.5
nonTargetParticleFontSize: 2.5
floatingTextFontSize: 2
targetParticleBold: 1
nonTargetParticleBold: 0
targetConnectionColor: {r: 0.3882353, g: 0.78039217, b: 1, a: 0.6666667}
nonTargetConnectionColor: {r: 1, g: 0.41911593, b: 0.38823533, a: 0.7}
propagationLineColor: {r: 0.6627451, g: 0.8666667, b: 0.94509804, a: 1}
targetConnectionThickness: 0.04
nonTargetConnectionThickness: 0.02
propagationLineThickness: 0.03
integrationProgressText: {fileID: 1294290436}
interferenceCountText: {fileID: 528708888}
focusSequenceButton: {fileID: 153766885}
focusZoomScale: 1.6
focusMoveDuration: 1.2
focusFadeDuration: 1
probabilityDuration: 3.5
predictionSequenceGap: 0.4
spreadDistance: 0.35
focusRingColor: {r: 1, g: 1, b: 1, a: 1}
focusRingThickness: 0.025
focusRingAlpha: 0.752
statusFadeOutDuration: 0.45
shuffleDistance: 0.35
shuffleFrequency: 3.5
shuffleVerticalScale: 0.6
entranceDelay: 0.45
entranceCoreCount: 20
entranceCoreRadius: 0.55
entranceInitialScale: 0.25
entranceCoreBurstDuration: 1.5
entranceCoreStagger: 0.08
entranceCascadeDuration: 0.8
entranceCascadeStagger: 0.03
entranceSearchRadius: 2
enableDebugShortcuts: 1
debugCompleteKey: 286
debugResetKey: 290
debugFullTestKey: 291
autoRunDebugTestOnStart: 0
enableSeparation: 1
minParticleSpacing: 0.6
separationForce: 2.5
lineAlphaMultiplier: 0.65
--- !u!1 &153766884
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 153766888}
- component: {fileID: 153766887}
- component: {fileID: 153766886}
- component: {fileID: 153766885}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &153766885
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 153766884}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 153766886}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &153766886
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 153766884}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &153766887
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 153766884}
m_CullTransparentMesh: 1
--- !u!224 &153766888
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 153766884}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.012000492, y: 0.012000492, z: 0.012000492}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1137525304}
m_Father: {fileID: 1665911936}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 6.26, y: 2.12}
m_SizeDelta: {x: 160, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &528708887
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 528708890}
- component: {fileID: 528708889}
- component: {fileID: 528708888}
m_Layer: 5
m_Name: Text (TMP) (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &528708888
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 528708887}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4284643057
m_fontColor: {r: 0.9433962, g: 0.4632709, b: 0.38625845, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.3
m_fontSizeBase: 0.3
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0.41540456, z: -2.6862788, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!222 &528708889
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 528708887}
m_CullTransparentMesh: 1
--- !u!224 &528708890
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 528708887}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1665911936}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 10.839999, y: -1.5600002}
m_SizeDelta: {x: 1, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &786157861
GameObject:
m_ObjectHideFlags: 0
@@ -631,378 +260,6 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1137525303
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1137525304}
- component: {fileID: 1137525306}
- component: {fileID: 1137525305}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1137525304
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1137525303}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 153766888}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1137525305
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1137525303}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u8F93\u51FA"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!222 &1137525306
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1137525303}
m_CullTransparentMesh: 1
--- !u!1 &1294290433
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1294290434}
- component: {fileID: 1294290435}
- component: {fileID: 1294290436}
m_Layer: 5
m_Name: Text (TMP) (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1294290434
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1294290433}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1665911936}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 10.83, y: -0.71}
m_SizeDelta: {x: 1, y: 1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1294290435
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1294290433}
m_CullTransparentMesh: 1
--- !u!114 &1294290436
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1294290433}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294040693
m_fontColor: {r: 0.45745817, g: 0.86362934, b: 0.9433962, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 0.3
m_fontSizeBase: 0.3
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0.41540456, z: -2.6862788, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1665911932
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1665911936}
- component: {fileID: 1665911935}
- component: {fileID: 1665911934}
- component: {fileID: 1665911933}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1665911933
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1665911932}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1665911934
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1665911932}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 1
--- !u!223 &1665911935
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1665911932}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 2
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &1665911936
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1665911932}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1294290434}
- {fileID: 528708890}
- {fileID: 153766888}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: -2.54, y: 0}
m_SizeDelta: {x: 10, y: 10}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1764870496
GameObject:
m_ObjectHideFlags: 0
@@ -1071,11 +328,67 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &8527354674083275363
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalPosition.x
value: -2.8477545
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalPosition.y
value: -5.088608
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalPosition.z
value: -8.612933
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8624585168408867612, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
propertyPath: m_Name
value: LanguageParticleSystem
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1665911936}
- {fileID: 786157866}
- {fileID: 1764870499}
- {fileID: 125585506}
- {fileID: 8527354674083275363}
+13 -3
View File
@@ -425,8 +425,10 @@ namespace AibisDream.FixSystem
public IEnumerator Enter()
{
// 先切BodyModule
// 获取表达系统
var expressionManager = FixSystemCenter.SystemDic.Get<ExpressionManager>();
// 先切 BodyModule(如果需要)
if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule))
{
var bodyModule = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
@@ -434,11 +436,14 @@ namespace AibisDream.FixSystem
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
}
// 切换相机
// 开启表达系统视图(无参数版本,使用默认配置)
expressionManager.OpenView();
// 切换到表达相机
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Expression);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeInAsync(0.5f);
//expressionManager.OpenView();
// 切换到深度表达相机
yield return CameraKit.Instance.SwitchCamera(CameraEnum.ExpressionDeep);
yield return UIManager.Instance.GetPanel<PlayToolPanel>().FadeOutAsync(0.5f);
}
@@ -447,8 +452,13 @@ namespace AibisDream.FixSystem
{
var expressionManager = FixSystemCenter.SystemDic.Get<ExpressionManager>();
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
// 重置身体模块
bodyModuleSystem.ResetPlug();
// 关闭表达系统视图
expressionManager.CloseView();
yield break;
}
}
@@ -1,62 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
using System.IO;
namespace AibisDream
{
public class DriverDatabase
{
public List<DriverProfile> Drivers = new List<DriverProfile>();
public void LoadFromCSV(string path)
{
// 使用 FileShare.ReadWrite 防止文件被其他进程占用
using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var reader = new StreamReader(stream, System.Text.Encoding.UTF8)) // 全限定名避免编码引用问题
{
string header = reader.ReadLine();
while (!reader.EndOfStream)
{
string line = reader.ReadLine().Trim();
if (string.IsNullOrEmpty(line)) continue;
// 支持逗号或分号分隔
char delimiter = line.Contains(';') ? ';' : ',';
string[] fields = line.Split(delimiter);
// 期望 12 列
if (fields.Length < 12)
{
Debug.LogWarning($"Skipping invalid CSV line (columns={fields.Length}): {line}");
continue;
}
DriverProfile d = new DriverProfile();
int idx = 0;
d.Name = fields[idx++];
int.TryParse(fields[idx++], out d.MinA);
int.TryParse(fields[idx++], out d.MaxA);
int.TryParse(fields[idx++], out d.MinP);
int.TryParse(fields[idx++], out d.MaxP);
int.TryParse(fields[idx++], out d.MinR);
int.TryParse(fields[idx++], out d.MaxR);
int.TryParse(fields[idx++], out d.MinE);
int.TryParse(fields[idx++], out d.MaxE);
int.TryParse(fields[idx++], out d.MinT);
int.TryParse(fields[idx++], out d.MaxT);
d.YarnFile = fields[idx++];
Drivers.Add(d);
}
}
}
public List<DriverProfile> MatchDrivers(int A, int P, int R, int E, int T)
{
return Drivers.FindAll(d => d.Matches(A, P, R, E, T));
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 22da87096df02944ab2b2d750825aaca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,26 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AibisDream
{
public class DriverProfile
{
public string Name;
public int MinA, MaxA;
public int MinP, MaxP;
public int MinR, MaxR;
public int MinE, MaxE;
public int MinT, MaxT;
public string YarnFile;
public bool Matches(int A, int P, int R, int E, int T)
{
return A >= MinA && A <= MaxA &&
P >= MinP && P <= MaxP &&
R >= MinR && R <= MaxR &&
E >= MinE && E <= MaxE &&
T >= MinT && T <= MaxT;
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 0dcb6a63381e46a4686162a05f8897e3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,115 +0,0 @@
using UnityEngine;
using DG.Tweening;
using System;
namespace AibisDream
{
[RequireComponent(typeof(LineRenderer))]
public class ExpressionCable : MonoBehaviour
{
private Transform _start;
private Transform _end;
private LineRenderer _lineRenderer;
private Vector3[] _points;
private ExpressionCableSystem _cableSystem;
[SerializeField]
private CableConfig config = CableConfig.GeneDefaultConfig();
public void Initialize(Transform start, Transform end)
{
_start = start;
_end = end;
_lineRenderer = GetComponent<LineRenderer>();
_lineRenderer.positionCount = config.resolution;
InitPoints();
}
private void InitPoints()
{
_points = new Vector3[config.resolution];
for (int i = 0; i < config.resolution; i++)
{
float t = i / (float)(config.resolution - 1);
_points[i] = Vector3.Lerp(_start.position, _end.position, t);
}
}
private void FixedUpdate()
{
DrawLine();
}
void DrawLine()
{
var points = UpdateRope();
for (int i = 0; i < config.resolution; i++)
{
_lineRenderer.SetPosition(i, points[i] + Vector3.forward * -.3f);
}
}
Vector3[] UpdateRope()
{
float t = Mathf.InverseLerp(config.dstMin, config.dstMax, (_start.position - _end.position).magnitude);
float F = Mathf.Lerp(config.forceMin, config.forceMax, t);
_points[0] = _start.position;
_points[^1] = _end.position;
for (int ik = 0; ik < config.k; ik++)
{
for (int i = 1; i < _points.Length - 1; i++)
{
Vector3 offsetPrev = _points[i - 1] - _points[i];
Vector3 offsetNext = _points[i + 1] - _points[i];
Vector3 velocity = offsetPrev.normalized * (offsetPrev.magnitude * F) +
offsetNext.normalized * (offsetNext.magnitude * F);
_points[i] += velocity * Time.deltaTime / config.k;
}
for (int i = 1; i < _points.Length - 1; i++)
{
_points[i] += Vector3.down * (9.8f * Time.deltaTime) / config.k;
}
}
return _points;
}
public void SetEndPos(Transform endPos)
{
_end = endPos;
}
public void UpdateEndPosition(Vector3 position)
{
if (_end != null)
{
_end.position = position;
}
}
}
[Serializable]
public struct CableConfig
{
public int resolution;
public float dstMin;
public float dstMax;
public float forceMin;
public float forceMax;
public int k;
public static CableConfig GeneDefaultConfig()
{
return new CableConfig
{
resolution = 10,
dstMin = 0.1f,
dstMax = 1.0f,
forceMin = 0.1f,
forceMax = 150f,
k = 10
};
}
}
}
@@ -1,83 +0,0 @@
using UnityEngine;
using AibisDream.FixSystem;
using System.Collections.Generic;
namespace AibisDream
{
public class ExpressionCableSystem : MonoBehaviour
{
[Header("电源子模块")]
public ExpressionPowerSource powerSource;
private ExpressionManager _expressionManager;
private ExpressionSubSystem[] _expressionSubSystems;
private const float MAX_DISTANCE = 1f; // 最大检测距离
private void Awake()
{
// 自动查找所有子物体中的表达子模块
_expressionSubSystems = GetComponentsInChildren<ExpressionSubSystem>();
}
private void Start()
{
_expressionManager = transform.parent.transform.parent.GetComponent<ExpressionManager>();
InitializeSystem();
}
private void InitializeSystem()
{
// 初始化表达子模块
foreach (var subSystem in _expressionSubSystems)
{
subSystem.Initialize(this);
}
}
// 当插头插入插槽时调用
public void OnPlugInserted(int subSystemIndex, int socketIndex)
{
_expressionManager.AdjustValue(subSystemIndex, 1);
}
// 当插头拔出插槽时调用
public void OnPlugRemoved(int subSystemIndex, int socketIndex)
{
_expressionManager.AdjustValue(subSystemIndex, -1);
}
public void Reset()
{
powerSource.Reset();
foreach (var subSystem in _expressionSubSystems)
{
subSystem.Reset();
}
}
public bool TryFindClosestSocket(Vector3 sourcePos, out ISocket targetSocket)
{
targetSocket = null;
float minDistance = MAX_DISTANCE;
// 遍历所有子模块
foreach (var subSystem in _expressionSubSystems)
{
// 遍历子模块中的所有插槽
foreach (var socket in subSystem.GetSockets())
{
if (!socket.IsAvailable()) continue;
float distance = Vector3.Distance(sourcePos, socket.GetSocketPos());
if (distance < minDistance)
{
minDistance = distance;
targetSocket = socket;
}
}
}
return targetSocket != null;
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 6b20aec8808a25c4b9607bbe72858b7a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,149 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;
using System.IO;
using AibisDream.FixSystem;
using Cinemachine;
using AibisDream.Framework;
using Yarn.Unity;
namespace AibisDream
{
public class ExpressionManager : MonoBehaviour
{
public GameObject expressView;
public TMP_Text totalPointsText;
public int totalPoints = 10;
public TMP_Text driverSlotText;
public TMP_Text logOutput;
public Button matchButton;
public Button applyAndTestButton;
public GameObject matchResultsPanel;
public GameObject driverButtonPrefab;
public string currentUser = "UserA";
private int[] valuesCurrent = new int[5];
private DriverProfile currentDriver = null;
private DriverDatabase db = new DriverDatabase();
private List<GameObject> currentResultButtons = new List<GameObject>();
void Start()
{
//CloseView();
FixSystemCenter.SystemDic.Register(this);
var virtualCam = transform.Find("Expression Camera").GetComponent<ICinemachineCamera>();
var virtualCam2 = transform.Find("Expression Deep Camera").GetComponent<ICinemachineCamera>();
CameraKit.Instance.RegisterCamera(CameraEnum.Expression, virtualCam);
CameraKit.Instance.RegisterCamera(CameraEnum.ExpressionDeep, virtualCam2);
db.LoadFromCSV(Path.Combine(Application.streamingAssetsPath, "drivers.csv"));
matchButton.onClick.AddListener(MatchDriver);
applyAndTestButton.onClick.AddListener(ApplyAndTestDriver);
UpdateUI();
}
public void OpenView()
{
expressView.SetActive(true);
}
public void CloseView()
{
expressView.SetActive(false);
}
public void AdjustValue(int index, int delta)
{
if (delta > 0 && totalPoints <= 0) return;
if (delta < 0 && valuesCurrent[index] <= 0) return;
if (valuesCurrent[index] + delta > 5) return;
valuesCurrent[index] += delta;
totalPoints -= delta;
CheckDriverStillValid();
UpdateUI();
}
void UpdateUI()
{
totalPointsText.text = $"剩余点数: {totalPoints}";
}
void MatchDriver()
{
currentResultButtons.ForEach(btn => Destroy(btn));
currentResultButtons.Clear();
var matches = db.MatchDrivers(
valuesCurrent[0], valuesCurrent[1],
valuesCurrent[2], valuesCurrent[3],
valuesCurrent[4]);
if (matches.Count > 0)
{
matchResultsPanel.SetActive(true);
foreach (var driver in matches)
{
var btnObj = Instantiate(driverButtonPrefab, matchResultsPanel.transform);
var text = btnObj.GetComponentInChildren<TMP_Text>();
if (text) text.text = driver.Name;
var btn = btnObj.GetComponent<Button>();
if (btn) btn.onClick.AddListener(() => SelectDriver(driver));
currentResultButtons.Add(btnObj);
}
logOutput.text = $"共找到 {matches.Count} 个可用驱动,请选择。";
}
else
{
matchResultsPanel.SetActive(false);
currentDriver = null;
driverSlotText.text = "No Driver";
logOutput.text = "没有找到匹配的驱动。";
}
}
void SelectDriver(DriverProfile driver)
{
currentDriver = driver;
driverSlotText.text = $"Driver: {driver.Name}";
logOutput.text = $"已选中驱动:{driver.Name},请点击应用并测试以运行。";
}
void ApplyAndTestDriver()
{
if (currentDriver == null)
{
logOutput.text = "未选择任何驱动。";
return;
}
string nodeName = $"{currentUser}_{currentDriver.Name}";
DialogController.Instance.StartDialogNode(nodeName);
}
void CheckDriverStillValid()
{
if (currentDriver != null && !currentDriver.Matches(
valuesCurrent[0], valuesCurrent[1],
valuesCurrent[2], valuesCurrent[3],
valuesCurrent[4]))
{
currentDriver = null;
driverSlotText.text = "No Driver";
logOutput.text = "当前驱动与属性不匹配,已卸载。";
}
}
[YarnCommand("setUser")]
public void SetCurrentUser(string userName)
{
currentUser=userName;
}
}
}
@@ -1,163 +0,0 @@
using UnityEngine;
using AibisDream.FixSystem;
using UnityEngine.EventSystems;
using AibisDream.Framework;
using AibisDream.Kit;
using AibisDream.Utility;
using DG.Tweening;
namespace AibisDream
{
[RequireComponent(typeof(EventTriggerEx))]
public class ExpressionPlug : MonoBehaviour, IInteraction
{
private static readonly int ShineFade = Shader.PropertyToID("_ShineFade");
private Vector3 _startPos;
private readonly Vector3 _pickupOffset = new(0, 0, 0);
private readonly Quaternion _pickupRotationOffset = Quaternion.Euler(0, 0, 150);
private readonly Quaternion _initRotation = Quaternion.Euler(0, 0, 180);
private ExpressionCableSystem _cableSystem;
private SpriteRenderer _sprite;
private Transform _plugRootPos;
private EventTriggerEx _trigger;
private ISocket _currentSocket;
private ExpressionCable _cable; // 对应的线缆
private bool _isDragging;
private bool _isPhysicCableActive;
[Header("调试设置")]
public float detectRadius = 1f; // 增加检测半径
public LayerMask socketLayer; // 设置插槽层级
private void Awake()
{
InitComponentRef();
EventRegister();
_startPos = transform.position;
}
private void InitComponentRef()
{
_cableSystem = GetComponentInParent<ExpressionCableSystem>();
_sprite = GetComponent<SpriteRenderer>();
_plugRootPos = transform.GetChild(0);
_trigger = GetComponent<EventTriggerEx>();
}
private void EventRegister()
{
_trigger.Register(EventTriggerType.Drag, OnDrag);
_trigger.Register(EventTriggerType.PointerDown, OnPointerDown);
_trigger.Register(EventTriggerType.PointerUp, OnPointerUp);
}
private void OnDrag(BaseEventData eventData)
{
if (!IsAvailable) return;
if (!_isDragging) return;
if (eventData is PointerEventData pointerData)
{
transform.position = CameraKit.GetMouseWorldPos(pointerData.position);
UpdateCable();
}
}
private void OnPointerDown(BaseEventData eventData)
{
if (!IsAvailable) return;
_isDragging = true;
if (_currentSocket != null)
{
PullUpSocket();
}
AdjustPlugPos();
_sprite.enabled = true;
}
private void OnPointerUp(BaseEventData eventData)
{
_isDragging = false;
// 寻找最近的可用插槽
if (_cableSystem.TryFindClosestSocket(transform.position, out var socket))
{
InsertSocket(socket);
}
else
{
ReturnToStartPosition();
}
}
private void InsertSocket(ISocket targetSocket)
{
// 修改插头位置
transform.position = targetSocket.GetSocketPos();
_cable.SetEndPos(transform);
// 处理插槽插入
_currentSocket = targetSocket;
targetSocket.PlugIn();
_sprite.enabled = false;
}
public void PullUpSocket()
{
// 修改线缆终点
_cable.SetEndPos(_plugRootPos);
// 处理插槽拔出
_currentSocket?.PlugOut();
_sprite.enabled = true;
_currentSocket = null;
}
public void ReturnToStartPosition()
{
transform.DOMove(_startPos, 0.1f);
transform.rotation = _initRotation;
_cable.SetEndPos(_plugRootPos);
}
private void AdjustPlugPos()
{
transform.position += _pickupOffset;
transform.rotation = _pickupRotationOffset;
}
public void SetCable(ExpressionCable cable)
{
_cable = cable;
}
private void UpdateCable()
{
if (_cable != null)
{
_cable.UpdateEndPosition(_plugRootPos.position);
}
}
public bool IsActive => true;
public bool IsAvailable => true;
public GameObject GetGameObject()
{
return gameObject;
}
// 用于调试
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.yellow;
Gizmos.DrawWireSphere(transform.position, detectRadius);
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 3e7a3d02c9c5f764fa1bc93f109a3447
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,45 +0,0 @@
using UnityEngine;
using AibisDream.FixSystem;
namespace AibisDream
{
public class ExpressionPowerSource : MonoBehaviour
{
[Header("插头设置")]
public Transform[] plugGroups; // 在编辑器中直接拖拽设置插头组
private void Start()
{
// 初始化每个插头组
foreach (var group in plugGroups)
{
var plug = group.GetComponentInChildren<ExpressionPlug>();
var cable = group.GetComponentInChildren<ExpressionCable>();
var rootPos = group.Find("CableRoot");
if (plug != null && cable != null && rootPos != null)
{
cable.Initialize(rootPos, plug.transform.GetChild(0));
plug.SetCable(cable);
}
else
{
Debug.LogWarning($"插头组 {group.name} 缺少必要组件");
}
}
}
public void Reset()
{
// 重置所有插头
foreach (var group in plugGroups)
{
var plug = group.GetComponentInChildren<ExpressionPlug>();
if (plug != null)
{
plug.ReturnToStartPosition();
}
}
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: fda4de3e06bfb5044ac87fd4e5c9f5e0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,48 +0,0 @@
using UnityEngine;
using AibisDream.FixSystem;
namespace AibisDream
{
public class ExpressionSocket : MonoBehaviour, ISocket
{
private int _subSystemIndex; // 所属表达子模块的索引
private int _socketIndex; // 插槽在子模块中的索引
private bool _isOccupied;
private ExpressionCableSystem _cableSystem;
public void Initialize(int subSystemIndex, int socketIndex)
{
_subSystemIndex = subSystemIndex;
_socketIndex = socketIndex;
_cableSystem = GetComponentInParent<ExpressionCableSystem>();
}
public void PlugIn()
{
if (!_isOccupied)
{
_isOccupied = true;
_cableSystem.OnPlugInserted(_subSystemIndex, _socketIndex);
}
}
public void PlugOut()
{
if (_isOccupied)
{
_isOccupied = false;
_cableSystem.OnPlugRemoved(_subSystemIndex, _socketIndex);
}
}
public Vector3 GetSocketPos()
{
return transform.position;
}
public bool IsAvailable()
{
return !_isOccupied;
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 400d314e97bc045419d11ac25d78f61d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,47 +0,0 @@
using UnityEngine;
using AibisDream.FixSystem;
using System.Collections.Generic;
namespace AibisDream
{
public class ExpressionSubSystem : MonoBehaviour
{
[Header("子模块设置")]
public string expressionName; // 表达名称
public int subSystemIndex; // 子模块索引
private ExpressionCableSystem _cableSystem;
private ExpressionSocket[] _sockets;
private void Awake()
{
// 自动查找所有子物体中的插槽
_sockets = GetComponentsInChildren<ExpressionSocket>();
}
public void Initialize(ExpressionCableSystem cableSystem)
{
_cableSystem = cableSystem;
// 初始化所有插槽
for (int i = 0; i < _sockets.Length; i++)
{
_sockets[i].Initialize(subSystemIndex, i);
}
}
public void Reset()
{
// 重置所有插槽状态
foreach (var socket in _sockets)
{
socket.PlugOut();
}
}
public IEnumerable<ExpressionSocket> GetSockets()
{
return _sockets;
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: a589bca4a2e605d4caf6b56c5d86610f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,137 @@
using UnityEngine;
using AibisDream.FixSystem;
using Cinemachine;
using AibisDream.Framework;
using AibisDream.MiniGame.Language;
using System.Collections.Generic;
namespace AibisDream
{
/// <summary>
/// 表达系统顶层管理器(原 ExpressionManager,现改为语言粒子系统)
/// </summary>
public class ExpressionManager : MonoBehaviour
{
[Header("系统组件")]
[SerializeField] private LanguageParticleManager particleManager;
[SerializeField] private GameObject expressionView;
[Header("默认配置")]
[SerializeField] private List<string> defaultAnxietyPhrases = new List<string>
{
"我好怕",
"怎么办",
"不行",
"好难",
"做不到"
};
[SerializeField] private string defaultTargetSentence = "这是一个测试示例";
void Start()
{
// 注册到系统字典
FixSystemCenter.SystemDic.Register(this);
// 查找并初始化表达视图
if (expressionView == null)
{
expressionView = transform.Find("Expression View")?.gameObject;
}
if (expressionView != null)
{
expressionView.SetActive(false);
}
// 查找粒子管理器
if (particleManager == null)
{
particleManager = GetComponentInChildren<LanguageParticleManager>(true);
}
// 注册相机
var virtualCam = transform.Find("Expression Camera")?.GetComponent<ICinemachineCamera>();
if (virtualCam != null)
{
CameraKit.Instance.RegisterCamera(CameraEnum.Expression, virtualCam);
}
var virtualCam2 = transform.Find("Expression Deep Camera")?.GetComponent<ICinemachineCamera>();
if (virtualCam2 != null)
{
CameraKit.Instance.RegisterCamera(CameraEnum.ExpressionDeep, virtualCam2);
}
}
/// <summary>
/// 打开表达视图(只显示美术背景,不启动粒子系统)
/// </summary>
public void OpenView()
{
if (expressionView != null)
{
expressionView.SetActive(true);
}
}
/// <summary>
/// 启动粒子系统(在打开视图后调用,通常通过 Yarn 对话控制)
/// </summary>
/// <param name="anxietyPhrases">焦虑短句列表(非目标字符会随机组成这些短句)</param>
/// <param name="targetSentence">目标句子</param>
/// <param name="completionNodeName">完成时触发的对话节点名称(可选)</param>
public void StartSystem(List<string> anxietyPhrases, string targetSentence, string completionNodeName = null)
{
if (particleManager != null)
{
// 使用传入的配置,如果没有则使用默认配置
var phrases = anxietyPhrases ?? defaultAnxietyPhrases;
var sentence = targetSentence ?? defaultTargetSentence;
particleManager.InitializeSystem(phrases, sentence, completionNodeName);
}
}
/// <summary>
/// 启动粒子系统(字符串数组版本,方便 Yarn 调用)
/// </summary>
public void StartSystem(string[] anxietyPhrases, string targetSentence, string completionNodeName = null)
{
List<string> phrasesList = anxietyPhrases != null ? new List<string>(anxietyPhrases) : null;
StartSystem(phrasesList, targetSentence, completionNodeName);
}
/// <summary>
/// 关闭表达系统
/// </summary>
public void CloseView()
{
if (expressionView != null)
{
expressionView.SetActive(false);
}
if (particleManager != null)
{
particleManager.StopSystem();
}
}
/// <summary>
/// 重置系统(保持当前配置)
/// </summary>
public void ResetSystem(bool playEntranceEffect = true)
{
if (particleManager != null)
{
particleManager.ResetGame(playEntranceEffect);
}
}
private void OnDestroy()
{
CameraKit.Instance?.UnRegisterCamera(CameraEnum.Expression);
CameraKit.Instance?.UnRegisterCamera(CameraEnum.ExpressionDeep);
}
}
}
@@ -45,8 +45,10 @@ namespace AibisDream.MiniGame.Language
[SerializeField] private float connectionDistance = 2f; // Unity单位
[SerializeField] private float textMargin = 1f;
[Header("目标句子")]
[SerializeField] private string targetSentence = "这是一个测试示例";
[Header("游戏配置")]
[SerializeField] private List<string> anxietyPhrases = new List<string>(); // 焦虑短句配置
[SerializeField] private string targetSentence = "这是一个测试示例"; // 目标句子
[SerializeField] private string completionDialogNode = ""; // 完成时触发的对话节点
[Header("波形参数")]
[SerializeField] private float waveformAmplitude = 0.3f;
@@ -192,12 +194,29 @@ namespace AibisDream.MiniGame.Language
// 连接渲染(使用Shapes
private ConnectionRenderer connectionRenderer;
// 是否已经初始化
private bool isInitialized = false;
private void Start()
{
// Start 中不再自动初始化,等待外部调用 InitializeSystem
}
/// <summary>
/// 初始化系统(可以由外部调用,用于配置游戏参数)
/// </summary>
/// <param name="phrases">焦虑短句列表</param>
/// <param name="sentence">目标句子</param>
/// <param name="dialogNode">完成时触发的对话节点</param>
public void InitializeSystem(List<string> phrases, string sentence, string dialogNode = null)
{
// 如果是第一次初始化,先执行基础初始化
if (!isInitialized)
{
InitializeCanvas();
InitializeParticles();
InitializeRenderers();
UpdateStatusUI();
if (integrationProgressText != null)
{
integrationTextBaseAlpha = integrationProgressText.color.a;
@@ -206,7 +225,7 @@ namespace AibisDream.MiniGame.Language
{
interferenceTextBaseAlpha = interferenceCountText.color.a;
}
SetStatusUIVisibility(true, 0f);
if (focusSequenceButton != null)
{
focusSequenceButton.interactable = false;
@@ -214,11 +233,67 @@ namespace AibisDream.MiniGame.Language
focusSequenceButton.onClick.RemoveListener(HandleFocusButtonClicked);
focusSequenceButton.onClick.AddListener(HandleFocusButtonClicked);
}
PlayEntranceSequence();
if (autoRunDebugTestOnStart)
{
QueueDebugFullFlow();
isInitialized = true;
}
// 设置游戏配置
anxietyPhrases = phrases ?? new List<string>();
targetSentence = sentence ?? "这是一个测试示例";
completionDialogNode = dialogNode ?? "";
// 设置全局焦虑短句配置
TextParticle.SetAnxietyPhrases(anxietyPhrases);
// 根据目标句子更新目标粒子数量
redParticleCount = Mathf.Min(sentence.Length, candidateCount);
// 重新初始化游戏状态并播放入场动画
ResetGame(true);
}
/// <summary>
/// 停止系统(关闭时调用,但保持初始化状态,可以重新开启)
/// </summary>
public void StopSystem()
{
// 如果未初始化,直接返回
if (!isInitialized)
return;
if (entranceRoutine != null)
{
StopCoroutine(entranceRoutine);
entranceRoutine = null;
}
if (debugTestRoutine != null)
{
StopCoroutine(debugTestRoutine);
debugTestRoutine = null;
}
// 停止所有 DOTween 动画
DOTween.Kill(this);
foreach (var particle in candidateParticles)
{
if (particle != null)
{
particle.transform.DOKill();
}
}
foreach (var particle in floatingParticles)
{
if (particle != null)
{
particle.transform.DOKill();
}
}
// 重置游戏状态(但不重置 isInitialized,这样可以重新开启)
isCompleted = false;
completionPhase = CompletionPhase.None;
allowInput = false;
}
private void InitializeCanvas()
@@ -371,6 +446,10 @@ namespace AibisDream.MiniGame.Language
private void Update()
{
// 如果系统未初始化,不执行任何逻辑
if (!isInitialized)
return;
// 初始化检查
if (!initializationComplete)
{
@@ -965,6 +1044,12 @@ namespace AibisDream.MiniGame.Language
{
focusSequenceButton.gameObject.SetActive(false);
}
// 触发完成对话节点
if (!string.IsNullOrEmpty(completionDialogNode))
{
DialogController.Instance?.StartDialogNode(completionDialogNode);
}
}
private Vector3 GetDynamicArrangementTarget(TargetFocusVisual visual, float arrangementProgress, float localTime)
@@ -1174,6 +1259,10 @@ namespace AibisDream.MiniGame.Language
if (!enableDebugShortcuts || !Application.isPlaying)
return;
// 如果未初始化,先初始化
if (!isInitialized)
return;
if (Input.GetKeyDown(debugCompleteKey))
{
DebugCompleteTargets();
@@ -0,0 +1,137 @@
using System.Collections;
using System.Collections.Generic;
using AibisDream.FixSystem;
using Yarn.Unity;
namespace AibisDream.MiniGame.Language
{
/// <summary>
/// 表达系统的 Yarn 命令接口(原语言系统)
/// </summary>
public static class LanguageYarnCommand
{
private static AibisDream.ExpressionManager ExpressionManager => FixSystemCenter.SystemDic.Get<AibisDream.ExpressionManager>();
/// <summary>
/// 打开表达视图(只显示美术背景,不启动粒子系统)
/// <<open_expression>>
/// </summary>
[YarnCommand("open_expression")]
public static void OpenExpression()
{
if (ExpressionManager == null)
{
UnityEngine.Debug.LogError("ExpressionManager 未找到!请确保场景中有 ExpressionManager 组件。");
return;
}
ExpressionManager.OpenView();
}
/// <summary>
/// 启动表达粒子系统(在打开视图后调用)
/// <<start_expression "我好怕|怎么办|不行|好难" "我能做到" "ExpressionCompleted">>
/// </summary>
/// <param name="anxietyPhrasesStr">焦虑短句,用 | 分隔,如:"我好怕|怎么办|不行"</param>
/// <param name="targetSentence">目标句子</param>
/// <param name="completionNode">完成时触发的对话节点(可选)</param>
[YarnCommand("start_expression")]
public static void StartExpression(string anxietyPhrasesStr, string targetSentence, string completionNode = "")
{
if (ExpressionManager == null)
{
UnityEngine.Debug.LogError("ExpressionManager 未找到!请确保场景中有 ExpressionManager 组件。");
return;
}
// 解析焦虑短句(用 | 分隔)
string[] phrases = null;
if (!string.IsNullOrEmpty(anxietyPhrasesStr))
{
phrases = anxietyPhrasesStr.Split('|');
for (int i = 0; i < phrases.Length; i++)
{
phrases[i] = phrases[i].Trim();
}
}
ExpressionManager.StartSystem(phrases, targetSentence, completionNode);
}
/// <summary>
/// 关闭表达系统
/// <<close_expression>>
/// </summary>
[YarnCommand("close_expression")]
public static void CloseExpression()
{
if (ExpressionManager == null)
{
UnityEngine.Debug.LogError("ExpressionManager 未找到!");
return;
}
ExpressionManager.CloseView();
}
/// <summary>
/// 重置表达系统(使用当前配置)
/// <<reset_expression>>
/// 或
/// <<reset_expression false>> // 不播放入场动画
/// </summary>
/// <param name="playEntranceEffect">是否播放入场效果</param>
[YarnCommand("reset_expression")]
public static void ResetExpression(bool playEntranceEffect = true)
{
if (ExpressionManager == null)
{
UnityEngine.Debug.LogError("ExpressionManager 未找到!");
return;
}
ExpressionManager.ResetSystem(playEntranceEffect);
}
/// <summary>
/// 重新启动表达系统(会重置并使用新配置,需要先 open_expression
/// <<restart_expression "我好怕|怎么办|不行" "我能做到" "ExpressionCompleted">>
/// </summary>
/// <param name="anxietyPhrasesStr">焦虑短句,用 | 分隔</param>
/// <param name="targetSentence">目标句子</param>
/// <param name="completionNode">完成时触发的对话节点(可选)</param>
[YarnCommand("restart_expression")]
public static void RestartExpression(string anxietyPhrasesStr, string targetSentence, string completionNode = "")
{
if (ExpressionManager == null)
{
UnityEngine.Debug.LogError("ExpressionManager 未找到!");
return;
}
// 停止当前系统
ExpressionManager.CloseView();
// 等一帧后重新启动
UnityEngine.MonoBehaviour coroutineRunner = UnityEngine.Object.FindObjectOfType<UnityEngine.MonoBehaviour>();
if (coroutineRunner != null)
{
coroutineRunner.StartCoroutine(RestartExpressionCoroutine(anxietyPhrasesStr, targetSentence, completionNode));
}
else
{
// 如果找不到 MonoBehaviour,直接启动
ExpressionManager.OpenView();
StartExpression(anxietyPhrasesStr, targetSentence, completionNode);
}
}
private static IEnumerator RestartExpressionCoroutine(string anxietyPhrasesStr, string targetSentence, string completionNode)
{
yield return null; // 等一帧
ExpressionManager.OpenView();
StartExpression(anxietyPhrasesStr, targetSentence, completionNode);
}
}
}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9c72154e06027eb4698fc7da159c2d6e
guid: 59ab484049a0148409ccfd8101b0f06d
MonoImporter:
externalObjects: {}
serializedVersion: 2
@@ -0,0 +1,291 @@
# 表达系统 Yarn 使用说明
## 系统概述
表达系统(Expression System)是一个粒子交互小游戏,玩家需要通过鼠标操作让目标字符连接在一起,同时避免与非目标字符连接。非目标字符会显示焦虑情绪的短句,目标字符最终会组成正面的表达句子。
## Yarn 命令接口
### 1. 打开表达视图 `open_expression`
打开表达系统的视图(显示美术背景),但不启动粒子系统。
**语法:**
```yarn
<<open_expression>>
```
**说明:**
- 这个命令只负责显示表达系统的视觉背景
- 不会启动粒子游戏,需要配合 `start_expression` 使用
- 通常在切换相机后调用
**示例:**
```yarn
<<open_expression>>
```
---
### 2. 启动粒子系统 `start_expression`
启动表达粒子系统,配置游戏参数并开始游戏。
**语法:**
```yarn
<<start_expression "焦虑短句1|焦虑短句2|焦虑短句3" "目标句子" "完成对话节点">>
```
**参数说明:**
- **焦虑短句**(必填):多个短句用 `|` 分隔,这些短句会显示在非目标字符上,表示焦虑情绪
- **目标句子**(必填):玩家需要完成的目标句子,系统会根据字数设置目标字符数量
- **完成对话节点**(可选):游戏完成时触发的对话节点名称,不填则不触发
**示例:**
```yarn
// 基础用法
<<start_expression "我好怕|怎么办|不行|好难" "我能做到" "ExpressionCompleted">>
// 更多焦虑短句
<<start_expression "我做不到|太难了|好可怕|怎么办|不想面对" "我会勇敢面对" "Stage1Complete">>
// 不触发对话节点
<<start_expression "担心|焦虑|不安" "保持冷静" "">>
```
---
### 3. 关闭表达系统 `close_expression`
关闭表达系统并停止所有动画。
**语法:**
```yarn
<<close_expression>>
```
**示例:**
```yarn
<<close_expression>>
```
---
### 4. 重置表达系统 `reset_expression`
重置表达系统,使用当前的配置重新开始游戏。
**语法:**
```yarn
<<reset_expression>>
<<reset_expression 是否播放入场动画>>
```
**参数说明:**
- **是否播放入场动画**(可选,默认 true):设置为 false 可跳过入场动画
**示例:**
```yarn
// 重置并播放入场动画
<<reset_expression>>
// 重置但不播放入场动画
<<reset_expression false>>
```
---
### 5. 重新启动表达系统 `restart_expression`
关闭当前系统并使用新配置重新启动,相当于 `close_expression` + `open_expression` + `start_expression`
**语法:**
```yarn
<<restart_expression "焦虑短句1|焦虑短句2|焦虑短句3" "目标句子" "完成对话节点">>
```
**参数说明:** 与 `open_expression` 相同
**示例:**
```yarn
// 切换到新的配置
<<restart_expression "害怕|恐惧|退缩" "勇往直前" "NextStage">>
```
---
## 完整使用流程示例
```yarn
title: ExpressionGameExample
---
旁白:让我们开始表达粒子挑战吧!
// 步骤1:打开表达视图
<<open_expression>>
旁白:现在,尝试用正面的想法代替焦虑的念头。
// 步骤2:启动粒子系统
<<start_expression "我好怕|怎么办|不行" "我能做到" "ExpressionSuccess">>
// 等待玩家完成游戏...
// 当玩家完成目标后,会自动跳转到 ExpressionSuccess 节点
===
title: ExpressionSuccess
---
旁白:太棒了!你成功完成了挑战!
// 关闭表达系统
<<close_expression>>
// 继续剧情...
===
```
---
## 进阶用法示例
### 多阶段挑战
```yarn
title: Stage1
---
旁白:第一阶段:克服恐惧
// 打开视图
<<open_expression>>
旁白:深呼吸,让我们开始...
// 启动第一阶段
<<start_expression "好可怕|我害怕|不敢" "勇敢面对" "Stage2">>
===
title: Stage2
---
旁白:第二阶段:建立信心
// 重新启动,使用新配置
<<restart_expression "做不到|太难了|放弃" "我能做到" "Stage3">>
===
title: Stage3
---
旁白:最终阶段:突破自我
// 再次重新启动
<<restart_expression "不可能|不行|失败" "成功突破" "GameComplete">>
===
title: GameComplete
---
旁白:恭喜你完成了所有挑战!
<<close_expression>>
===
```
---
## 配置建议
### 焦虑短句设计
1. **字数建议**:2-4 个字最佳(如"我好怕"、"怎么办"
2. **数量建议**:3-8 个短句,太少会重复,太多会混乱
3. **情绪表达**:应该符合当前剧情的情绪基调
**示例:**
- 恐惧主题:`"好可怕|我害怕|不敢|好恐怖|太吓人"`
- 焦虑主题:`"担心|不安|焦虑|紧张|烦躁"`
- 自我怀疑:`"做不到|不行|我不行|太难了|失败"`
### 目标句子设计
1. **字数建议**:4-8 个字最佳(太短太简单,太长太难)
2. **正面引导**:通常是与焦虑短句相反的正面表达
3. **简洁有力**:容易理解且有力量感
**示例:**
- `"我能做到"` - 4字,简洁有力
- `"勇敢面对"` - 4字,正面积极
- `"保持冷静"` - 4字,情绪引导
- `"相信自己"` - 4字,自我肯定
---
## 注意事项
1. **系统初始化**:确保场景中有 `ExpressionManager` 组件
2. **相机切换**:开启系统前建议切换到 `Expression` 相机
3. **完成触发**:只有在目标全部完成且聚焦动画播放完毕后才会触发对话节点
4. **焦虑短句分隔符**:必须使用英文竖线 `|` 分隔,不要使用中文竖线 ``
5. **对话节点命名**:对话节点名称区分大小写,请确保拼写正确
---
## 技术实现说明
### 系统架构
```
ExpressionManager (顶层管理器)
├── LanguageParticleManager (粒子系统核心)
│ ├── CandidateParticle (候选粒子 - 可交互)
│ ├── FloatingTextParticle (浮动粒子 - 背景)
│ └── ConnectionRenderer (连接线渲染)
└── LanguageYarnCommand (Yarn 命令接口)
```
### 配置传递流程
1. Yarn 调用 `open_expression` 命令 → 打开视图(显示美术背景)
2. Yarn 调用 `start_expression` 命令 → 启动粒子系统
3. `LanguageYarnCommand` 解析焦虑短句和目标句子参数
4. `ExpressionManager` 接收配置
5. `LanguageParticleManager` 初始化粒子系统
6. `TextParticle` 使用配置生成字符并播放入场动画
---
## 常见问题
**Q: 为什么要分开 `open_expression``start_expression`**
A: 这样可以让设计师更灵活地控制时机。比如先打开视图和切换相机,然后在对话中解释游戏规则,最后再启动粒子系统。
**Q: 可以只调用 `start_expression` 而不调用 `open_expression` 吗?**
A: 理论上可以,但建议先调用 `open_expression` 以确保视图已经显示。
**Q: 焦虑短句没有显示?**
A: 检查是否使用了英文竖线 `|` 分隔,确保没有多余的空格。
**Q: 完成后没有触发对话节点?**
A: 检查对话节点名称是否正确,确保该节点在 Yarn 文件中存在。
**Q: 游戏太难/太简单?**
A: 可以在 `LanguageParticleManager` 的 Inspector 中调整参数,如连接距离、粒子数量等。
**Q: 如何在测试时快速完成?**
A: 编辑模式下可以按 F5 快速完成,F9 重置,F10 完整流程测试(需要先启动系统)。
---
## 联系与支持
如有问题或建议,请联系技术团队。
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 14978e9d9e5d64046a6f981bdb0fb0ac
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -35,6 +35,9 @@ namespace AibisDream.MiniGame.Language
protected static string chineseChars = "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞";
protected static string[] chineseWords = { "不安", "紧张", "焦虑", "担忧", "烦躁", "恐慌", "恐惧", "绝望", "痛苦", "悲伤", "愤怒", "孤独", "无助", "迷茫", "困惑", "压抑", "沉重", "疲惫", "空虚", "失落" };
// 动态配置的焦虑短句(由 LanguageParticleManager 设置)
protected static List<string> configuredAnxietyPhrases = new List<string>();
protected virtual void Awake()
{
if (textMesh == null)
@@ -152,9 +155,22 @@ namespace AibisDream.MiniGame.Language
protected string GetRandomWord()
{
// 优先使用配置的焦虑短句,如果没有配置则使用默认词语
if (configuredAnxietyPhrases != null && configuredAnxietyPhrases.Count > 0)
{
return configuredAnxietyPhrases[Random.Range(0, configuredAnxietyPhrases.Count)];
}
return chineseWords[Random.Range(0, chineseWords.Length)];
}
/// <summary>
/// 设置全局焦虑短句配置(由 LanguageParticleManager 调用)
/// </summary>
public static void SetAnxietyPhrases(List<string> phrases)
{
configuredAnxietyPhrases = phrases ?? new List<string>();
}
protected void UpdateText()
{
if (textMesh != null)