Merge branch 'develop' into feature/open

This commit is contained in:
2025-05-14 13:06:40 +08:00
38 changed files with 6841 additions and 55 deletions
@@ -77,6 +77,11 @@ MonoBehaviour:
m_ReadOnly: 1
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ea388b59e37ddc14da4d8e3e9ead4133
m_Address: Assets/Language/Dialog/Test_Huoshan/Test_Huoshan Shared Data.asset
m_ReadOnly: 1
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 1
m_Settings: {fileID: 11400000, guid: 77169ce22e430f64fb36c771815a4a7b, type: 2}
m_SchemaSet:
@@ -89,6 +89,12 @@ MonoBehaviour:
m_SerializedLabels:
- Locale-zh-Hans
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 523b3962bff363849a36683b375adc06
m_Address: Test_Huoshan_zh-Hans
m_ReadOnly: 1
m_SerializedLabels:
- Locale-zh-Hans
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 1
m_Settings: {fileID: 11400000, guid: 77169ce22e430f64fb36c771815a4a7b, type: 2}
m_SchemaSet:
@@ -89,6 +89,12 @@ MonoBehaviour:
m_SerializedLabels:
- Locale-en
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: fb0b8f197b5a607468eeb9326737d547
m_Address: Test_Huoshan_en
m_ReadOnly: 1
m_SerializedLabels:
- Locale-en
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 1
m_Settings: {fileID: 11400000, guid: 77169ce22e430f64fb36c771815a4a7b, type: 2}
m_SchemaSet:
+8
View File
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 63e7e6f08be2984488f3ea4a6f585bd5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5b11a58205ec3474ca216360e9fa74a8, type: 3}
m_Name: Test_Huoshan Shared Data
m_EditorClassIdentifier:
m_TableCollectionName: Test_Huoshan
m_TableCollectionNameGuidString: ea388b59e37ddc14da4d8e3e9ead4133
m_Entries:
- m_Id: 180148666368
m_Key: line:0ef7bff
m_Metadata:
m_Items:
- rid: 7848877248308838403
- m_Id: 180190609408
m_Key: line:088b598
m_Metadata:
m_Items:
- rid: 7848877248308838404
- m_Id: 180190609409
m_Key: line:0dac12c
m_Metadata:
m_Items:
- rid: 7848877248308838405
- m_Id: 180190609410
m_Key: line:0ad2190
m_Metadata:
m_Items:
- rid: 7848877248308838406
- m_Id: 180194803712
m_Key: line:0466fea
m_Metadata:
m_Items:
- rid: 7848877248308838407
m_Metadata:
m_Items: []
m_KeyGenerator:
rid: 7848877248308838402
references:
version: 2
RefIds:
- rid: 7848877248308838402
type: {class: DistributedUIDGenerator, ns: UnityEngine.Localization.Tables, asm: Unity.Localization}
data:
m_CustomEpoch: 1747115029650
- rid: 7848877248308838403
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Start
tags: []
- rid: 7848877248308838404
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: Center
tags: []
- rid: 7848877248308838405
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "UserA_\u5708\u5C42\u8C61\u5F81\u8005"
tags: []
- rid: 7848877248308838406
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "UserA_\u5708\u5C42\u8C61\u5F81\u8005"
tags: []
- rid: 7848877248308838407
type: {class: LineMetadata, ns: Yarn.Unity.UnityLocalization, asm: YarnSpinner.Unity}
data:
nodeName: "UserA_\u5708\u5C42\u8C61\u5F81\u8005"
tags: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ea388b59e37ddc14da4d8e3e9ead4133
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,23 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5be51871efa6c3e4eae1703925c8f5ac, type: 3}
m_Name: Test_Huoshan
m_EditorClassIdentifier:
m_SharedTableData: {fileID: 11400000, guid: ea388b59e37ddc14da4d8e3e9ead4133, type: 2}
m_Tables:
- {fileID: 11400000, guid: fb0b8f197b5a607468eeb9326737d547, type: 2}
- {fileID: 11400000, guid: 523b3962bff363849a36683b375adc06, type: 2}
m_Extensions: []
m_Group: String Table
references:
version: 2
RefIds: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 75b0210f4efef8340a46b41f88f33589
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,23 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e9620f8c34305754d8cc9a7e49e852d9, type: 3}
m_Name: Test_Huoshan_en
m_EditorClassIdentifier:
m_LocaleId:
m_Code: en
m_SharedData: {fileID: 11400000, guid: ea388b59e37ddc14da4d8e3e9ead4133, type: 2}
m_Metadata:
m_Items: []
m_TableData: []
references:
version: 2
RefIds: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fb0b8f197b5a607468eeb9326737d547
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,43 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e9620f8c34305754d8cc9a7e49e852d9, type: 3}
m_Name: Test_Huoshan_zh-Hans
m_EditorClassIdentifier:
m_LocaleId:
m_Code: zh-Hans
m_SharedData: {fileID: 11400000, guid: ea388b59e37ddc14da4d8e3e9ead4133, type: 2}
m_Metadata:
m_Items: []
m_TableData:
- m_Id: 180148666368
m_Localized: "\u6DF1\u5165\u8868\u8FBE\u6A21\u5757"
m_Metadata:
m_Items: []
- m_Id: 180190609408
m_Localized: "\u5360\u4F4D:\u6D41\u7A0B\u7ED3\u675F"
m_Metadata:
m_Items: []
- m_Id: 180190609409
m_Localized: huoshan:11111
m_Metadata:
m_Items: []
- m_Id: 180190609410
m_Localized: "\u5BA2\u6237:2222"
m_Metadata:
m_Items: []
- m_Id: 180194803712
m_Localized: "me:\u770B\u8D77\u6765\u5B8C\u5168\u4E0D\u884C\u5462\uFF0C\u8BD5\u8BD5\u522B\u7684\u5427"
m_Metadata:
m_Items: []
references:
version: 2
RefIds: []
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 523b3962bff363849a36683b375adc06
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
+1 -1
View File
@@ -37,7 +37,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -274.03308, y: 340.7744}
m_SizeDelta: {x: 400, y: 200}
m_SizeDelta: {x: 300, y: 150}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6806133397181234217
CanvasRenderer:
@@ -0,0 +1,425 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4296752944583862959
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 245560345973958375}
- component: {fileID: 6498958774972167401}
- component: {fileID: 7532614457780645656}
m_Layer: 0
m_Name: Cable
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &245560345973958375
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4296752944583862959}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -3.599999, y: 0.14999986, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7035731615624774062}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!120 &6498958774972167401
LineRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4296752944583862959}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 0
m_LightProbeUsage: 0
m_ReflectionProbeUsage: 0
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 51099a9679b002c46b76c25f9ac139e3, 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: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 10
m_Positions:
- {x: 0, y: 0, z: 0}
m_Parameters:
serializedVersion: 3
widthMultiplier: 1
widthCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.012138367
value: 0.20552626
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
colorGradient:
serializedVersion: 2
key0: {r: 0.0012815695, g: 0.18719505, b: 0.33962262, a: 1}
key1: {r: 0, g: 0.41209447, b: 0.5660378, a: 1}
key2: {r: 0, g: 0, b: 0, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 65342
ctime2: 0
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 0
m_ColorSpace: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 2
numCornerVertices: 6
numCapVertices: 6
alignment: 0
textureMode: 0
textureScale: {x: 1, y: 1}
shadowBias: 0.5
generateLightingData: 0
m_MaskInteraction: 0
m_UseWorldSpace: 1
m_Loop: 0
m_ApplyActiveColorSpace: 1
--- !u!114 &7532614457780645656
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4296752944583862959}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9c72154e06027eb4698fc7da159c2d6e, type: 3}
m_Name:
m_EditorClassIdentifier:
config:
resolution: 10
dstMin: 0.1
dstMax: 1
forceMin: 0.1
forceMax: 150
k: 10
--- !u!1 &4411995427525913386
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4112347959459006640}
m_Layer: 0
m_Name: Plug Root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4112347959459006640
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4411995427525913386}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0, y: -0.95, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3465467365627477312}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4941971430439396434
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3465467365627477312}
- component: {fileID: 2581450753295637844}
- component: {fileID: 9025562691425606311}
- component: {fileID: 8261441226656995707}
- component: {fileID: 4320736902124848810}
m_Layer: 0
m_Name: Plug
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3465467365627477312
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4941971430439396434}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: 1, w: 0}
m_LocalPosition: {x: -4.599999, y: -0.76, z: 0}
m_LocalScale: {x: 0.81438, y: 0.81438, z: 0.81438}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4112347959459006640}
m_Father: {fileID: 7035731615624774062}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
--- !u!212 &2581450753295637844
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4941971430439396434}
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: 274476fa0129dfb4cac8839ebdaa060d, 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: 5
m_Sprite: {fileID: 21300000, guid: 6f1e19b22a956634b86a43a0ee4ae6f6, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.29, y: 1.75}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!58 &9025562691425606311
CircleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4941971430439396434}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
serializedVersion: 2
m_Radius: 0.5
--- !u!114 &8261441226656995707
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4941971430439396434}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0c4fbab01ad40c2449c849cd2a8c620f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Delegates:
- eventID: 5
callback:
m_PersistentCalls:
m_Calls: []
- eventID: 0
callback:
m_PersistentCalls:
m_Calls: []
- eventID: 1
callback:
m_PersistentCalls:
m_Calls: []
- eventID: 2
callback:
m_PersistentCalls:
m_Calls: []
- eventID: 3
callback:
m_PersistentCalls:
m_Calls: []
--- !u!114 &4320736902124848810
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4941971430439396434}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3e7a3d02c9c5f764fa1bc93f109a3447, type: 3}
m_Name:
m_EditorClassIdentifier:
detectRadius: 1
socketLayer:
serializedVersion: 2
m_Bits: 0
--- !u!1 &7304604896146405562
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7294280561625502014}
m_Layer: 0
m_Name: CableRoot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7294280561625502014
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7304604896146405562}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: 0.7041673, w: -0.71003413}
m_LocalPosition: {x: -4.599999, y: 1.6600001, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7035731615624774062}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7653142955462933678
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7035731615624774062}
m_Layer: 0
m_Name: PlugCableGroup
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7035731615624774062
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7653142955462933678}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.5200005, y: 0.19000053, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7294280561625502014}
- {fileID: 245560345973958375}
- {fileID: 3465467365627477312}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -0,0 +1,12 @@
fileFormatVersion: 2
<<<<<<<< HEAD:Assets/Scenes/OPTest.unity.meta
guid: 5616c70074fbe8a40880a70a616fc396
DefaultImporter:
========
guid: 8215a14f930072e46bc8756e84ced2ca
PrefabImporter:
>>>>>>>> develop:Assets/Prefabs/Huoshan/PlugCableGroup.prefab.meta
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -4,7 +4,7 @@ colorID: 8
position: 205,-53
---
<<switch_fix_system_to "BodyModule" "Head">>
->深入表达模块
->深入表达模块 #line:0ef7bff
<<switch_fix_system_to Expression>>
// <<switch_fix_system_to Expression>>
// <<jump VarsInit>>
@@ -55,6 +55,6 @@ colorID: 1
<<elseif $gameStage == "表达模块调参">>
<<jump 表达模块调参>>
<<elseif $gameStage == "流程完成">>
占位:流程结束
占位:流程结束 #line:088b598
<<endif>>
===
@@ -6,7 +6,9 @@
"excludeFiles": [
"**/*~/*"
],
"localisation": {},
"baseLanguage": "zh-CHS",
"localisation": {
"zh-CHS": {}
},
"baseLanguage": "zh-Hans",
"compilerOptions": {}
}
@@ -9,5 +9,5 @@ ScriptedImporter:
assetBundleVariant:
script: {fileID: 11500000, guid: 053561912b1654d80a424bb0696a74ae, type: 3}
useAddressableAssets: 0
UseUnityLocalisationSystem: 0
unityLocalisationStringTableCollection: {instanceID: 0}
UseUnityLocalisationSystem: 1
unityLocalisationStringTableCollection: {fileID: 11400000, guid: 75b0210f4efef8340a46b41f88f33589, type: 2}
@@ -4,9 +4,9 @@ tags:
colorID: 8
position: 272,-1156
---
huoshan:11111
客户:2222
me:看起来完全不行呢,试试别的吧
huoshan:11111 #line:0dac12c
客户:2222 #line:0ad2190
me:看起来完全不行呢,试试别的吧 #line:0466fea
===
File diff suppressed because it is too large Load Diff
+5
View File
@@ -1,6 +1,11 @@
fileFormatVersion: 2
<<<<<<<< HEAD:Assets/Scenes/OPTest.unity.meta
guid: 7cb899bcb936c224387f4de55defaac9
DefaultImporter:
========
guid: 8215a14f930072e46bc8756e84ced2ca
PrefabImporter:
>>>>>>>> develop:Assets/Prefabs/Huoshan/PlugCableGroup.prefab.meta
externalObjects: {}
userData:
assetBundleName:
+3 -3
View File
@@ -7692,7 +7692,7 @@ Transform:
m_GameObject: {fileID: 519420028}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalPosition: {x: -0.009999275, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -9882,9 +9882,9 @@ MonoBehaviour:
- {fileID: 11400000, guid: ff82a99e791be3e41acf40232f908eb3, type: 2}
- {fileID: 11400000, guid: 6d49b124127007b48b6881ce33350263, type: 2}
- {fileID: 11400000, guid: fe71f935f1f9a52458c994362567a211, type: 2}
runMode: 0
runMode: 1
firstTalkSo: {fileID: 11400000, guid: ac5ca9a66ff22ab4b9cd5adbdade6b8c, type: 2}
testTalkSo: {fileID: 11400000, guid: 6d49b124127007b48b6881ce33350263, type: 2}
testTalkSo: {fileID: 11400000, guid: 8ce86974047bb404c9096e70a606355a, type: 2}
saveFileName:
--- !u!1 &719273460
GameObject:
@@ -10,7 +10,7 @@ public class PhysicCable : MonoBehaviour
// Start is called before the first frame update
void Start()
{
physicLine = transform.GetChild(0).GetComponent<PhysicLineSegment>();
physicLine = transform.GetComponent<PhysicLineSegment>();
}
public void Init(Vector3 endPos)
@@ -393,7 +393,10 @@ namespace AibisDream.FixSystem
// 切换相机
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Expression);
expressionManager.OpenView();
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);
}
public IEnumerator Exit()
@@ -272,6 +272,7 @@ namespace AibisDream.Framework
Engine,
Gear,
EyeDeep,
Op
Op,
ExpressionDeep
}
}
@@ -0,0 +1,115 @@
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
};
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9c72154e06027eb4698fc7da159c2d6e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,83 @@
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.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;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6b20aec8808a25c4b9607bbe72858b7a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -14,7 +14,6 @@ namespace AibisDream
public class ExpressionManager : MonoBehaviour
{
public GameObject expressView;
public Slider[] sliders; // A, P, R, E, T
public TMP_Text totalPointsText;
public int totalPoints = 10;
@@ -31,35 +30,24 @@ namespace AibisDream
private DriverDatabase db = new DriverDatabase();
private List<GameObject> currentResultButtons = new List<GameObject>();
void Start()
{
CloseView();
//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"));
for (int i = 0; i < sliders.Length; i++)
{
int index = i;
Transform plus = sliders[i].transform.Find("Plus");
if (plus != null && plus.TryGetComponent(out Button plusBtn))
plusBtn.onClick.AddListener(() => AdjustValue(index, 1));
Transform minus = sliders[i].transform.Find("Minus");
if (minus != null && minus.TryGetComponent(out Button minusBtn))
minusBtn.onClick.AddListener(() => AdjustValue(index, -1));
}
matchButton.onClick.AddListener(MatchDriver);
applyAndTestButton.onClick.AddListener(ApplyAndTestDriver);
UpdateUI();
}
public void OpenView()
{
expressView.SetActive(true);
@@ -70,7 +58,7 @@ namespace AibisDream
expressView.SetActive(false);
}
void AdjustValue(int index, int delta)
public void AdjustValue(int index, int delta)
{
if (delta > 0 && totalPoints <= 0) return;
if (delta < 0 && valuesCurrent[index] <= 0) return;
@@ -84,13 +72,6 @@ namespace AibisDream
void UpdateUI()
{
for (int i = 0; i < sliders.Length; i++)
{
sliders[i].value = valuesCurrent[i];
Transform valueTextTransform = sliders[i].transform.Find("Value");
if (valueTextTransform != null && valueTextTransform.TryGetComponent(out TMP_Text valueText))
valueText.text = valuesCurrent[i].ToString();
}
totalPointsText.text = $"剩余点数: {totalPoints}";
}
@@ -132,7 +113,6 @@ namespace AibisDream
currentDriver = driver;
driverSlotText.text = $"Driver: {driver.Name}";
logOutput.text = $"已选中驱动:{driver.Name},请点击应用并测试以运行。";
// 保留面板,不关闭 matchResultsPanel
}
void ApplyAndTestDriver()
@@ -166,4 +146,4 @@ namespace AibisDream
currentUser=userName;
}
}
}
}
@@ -0,0 +1,163 @@
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 = CommonUtil.GetMouseWorldPos(pointerData.position, transform);
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);
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3e7a3d02c9c5f764fa1bc93f109a3447
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,45 @@
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();
}
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: fda4de3e06bfb5044ac87fd4e5c9f5e0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,48 @@
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;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 400d314e97bc045419d11ac25d78f61d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,47 @@
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;
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a589bca4a2e605d4caf6b56c5d86610f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: