diff --git a/Assets/GameContent/Scene_Peipei/Actor/佩佩像素版-通用动画.aseprite b/Assets/GameContent/Scene_Peipei/Actor/佩佩像素版-通用动画.aseprite
index 0b1008e9e..c6b867972 100644
Binary files a/Assets/GameContent/Scene_Peipei/Actor/佩佩像素版-通用动画.aseprite and b/Assets/GameContent/Scene_Peipei/Actor/佩佩像素版-通用动画.aseprite differ
diff --git a/Assets/Prefabs/FixSystemPrefabs/维修面板.prefab b/Assets/Prefabs/FixSystemPrefabs/维修面板.prefab
index f9665829b..7ae8ce31e 100644
--- a/Assets/Prefabs/FixSystemPrefabs/维修面板.prefab
+++ b/Assets/Prefabs/FixSystemPrefabs/维修面板.prefab
@@ -283,16 +283,16 @@ MonoBehaviour:
cableMaterial: {fileID: 0}
sortingLayerName: Tools
sortingOrder: 47
- darkColor: {r: 0.032, g: 0.085, b: 0.155, a: 1}
- darkWidth: 0.32
- bodyColor: {r: 0, g: 0.2, b: 0.373, a: 1}
+ darkColor: {r: 0.02, g: 0.05, b: 0.09, a: 1}
+ darkWidth: 0.33
+ bodyColor: {r: 0.035, g: 0.135, b: 0.19, a: 1}
bodyWidth: 0.26
- midColor: {r: 0.038, g: 0.238, b: 0.345, a: 1}
- midWidth: 0.082
- midLift: 0.015
- highlightColor: {r: 0.056, g: 0.248, b: 0.298, a: 1}
- highlightWidth: 0.02
- highlightLift: 0.015
+ midColor: {r: 0.095, g: 0.255, b: 0.275, a: 1}
+ midWidth: 0.1
+ midLift: 0.028
+ highlightColor: {r: 0.18, g: 0.32, b: 0.3, a: 0.75}
+ highlightWidth: 0.04
+ highlightLift: 0.05
tipTaperFraction: 0.08
tipTaperScale: 0.72
overlapMargin: 0.1
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-1.png b/Assets/RawResources/Art/Obj/pp2_分析5-1.png
new file mode 100644
index 000000000..5b5e3601c
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1a2960738412b8118243a6c1f73702b316978e355adfae3ee0a082e270cbc1d5
+size 849936
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-1.png.meta b/Assets/RawResources/Art/Obj/pp2_分析5-1.png.meta
new file mode 100644
index 000000000..fe3d883d6
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-1.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 85519a2bca8ff1d4ab5118e627eea206
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-2.png b/Assets/RawResources/Art/Obj/pp2_分析5-2.png
new file mode 100644
index 000000000..34580e2f1
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dae229493e1ceaee07d97e1aec2a0f337806d13801f2d82392e922bcfa80db58
+size 849940
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-2.png.meta b/Assets/RawResources/Art/Obj/pp2_分析5-2.png.meta
new file mode 100644
index 000000000..facfb2115
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-2.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 97330a93a7ee91549a9be9c0f3056e2f
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-3.png b/Assets/RawResources/Art/Obj/pp2_分析5-3.png
new file mode 100644
index 000000000..2693f02d3
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:df1e2d1298df68b0c44e7febae41c75b41032fe665e1190301aabe0aae965a3c
+size 850050
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-3.png.meta b/Assets/RawResources/Art/Obj/pp2_分析5-3.png.meta
new file mode 100644
index 000000000..8a8fae8a7
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-3.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: dea8009c83f9bfb4c9ef91788088031a
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-4.png b/Assets/RawResources/Art/Obj/pp2_分析5-4.png
new file mode 100644
index 000000000..c143c9e90
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ed05662445fd7e40d187eddb74d9fedbd29a2c1571748e6090c11fdf63574f2b
+size 849946
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-4.png.meta b/Assets/RawResources/Art/Obj/pp2_分析5-4.png.meta
new file mode 100644
index 000000000..92815ea69
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-4.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 9e04965c37360d549a1aa52f00b35abd
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-5.png b/Assets/RawResources/Art/Obj/pp2_分析5-5.png
new file mode 100644
index 000000000..f8deba062
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-5.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e378c18b1e40a38b40664a6135e7b187ea4a89a6a2266db694376397f4f7c243
+size 850030
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-5.png.meta b/Assets/RawResources/Art/Obj/pp2_分析5-5.png.meta
new file mode 100644
index 000000000..c04f7dad4
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-5.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 54b143e492f43c542a3b8a55b8aa341d
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-6.png b/Assets/RawResources/Art/Obj/pp2_分析5-6.png
new file mode 100644
index 000000000..6bdbb4a00
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-6.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:476293e3c7d11e6f4e38caa46e7ae294b17974a3b9ee16489a3dd3e61684e804
+size 850032
diff --git a/Assets/RawResources/Art/Obj/pp2_分析5-6.png.meta b/Assets/RawResources/Art/Obj/pp2_分析5-6.png.meta
new file mode 100644
index 000000000..acb0abb79
--- /dev/null
+++ b/Assets/RawResources/Art/Obj/pp2_分析5-6.png.meta
@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 37bd804265ff445478a2220101287353
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 12
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Server
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/YingliFixScene.unity b/Assets/Scenes/YingliFixScene.unity
index 07acdb74f..6658dbbc0 100644
--- a/Assets/Scenes/YingliFixScene.unity
+++ b/Assets/Scenes/YingliFixScene.unity
@@ -1421,19 +1421,16 @@ MonoBehaviour:
cableMaterial: {fileID: 0}
sortingLayerName: Tools
sortingOrder: 47
- shadowColor: {r: 0, g: 0.08, b: 0.16, a: 0.22}
- shadowWidth: 0.295
- shadowDrop: 0.12
- darkColor: {r: 0.012, g: 0.055, b: 0.095, a: 1}
+ darkColor: {r: 0.02, g: 0.05, b: 0.09, a: 1}
darkWidth: 0.33
- bodyColor: {r: 0.025, g: 0.135, b: 0.195, a: 1}
+ bodyColor: {r: 0.035, g: 0.135, b: 0.19, a: 1}
bodyWidth: 0.26
- midColor: {r: 0.08, g: 0.25, b: 0.29, a: 1}
- midWidth: 0.115
- midLift: 0.036
- highlightColor: {r: 0.16, g: 0.31, b: 0.32, a: 1}
- highlightWidth: 0.045
- highlightLift: 0.065
+ midColor: {r: 0.095, g: 0.255, b: 0.275, a: 1}
+ midWidth: 0.1
+ midLift: 0.028
+ highlightColor: {r: 0.18, g: 0.32, b: 0.3, a: 0.75}
+ highlightWidth: 0.04
+ highlightLift: 0.05
tipTaperFraction: 0
tipTaperScale: 0.72
overlapMargin: 0.1
diff --git a/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleYarnCommand.cs b/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleYarnCommand.cs
index 06cc1057a..d9b3a6459 100644
--- a/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleYarnCommand.cs
+++ b/Assets/Scripts/FixSystemNew/BodyModule/BodyModuleYarnCommand.cs
@@ -159,7 +159,7 @@ namespace AibisDream
[YarnCommand("RetractCable")]
public static void RetractCable()
{
- CablePanel.PullUpCable();
+ CablePanel?.PullUpCable();
}
[YarnCommand("StartHeadBreathing")]
diff --git a/Assets/Scripts/FixSystemNew/Cable/PhysicCable.cs b/Assets/Scripts/FixSystemNew/Cable/PhysicCable.cs
index eed2730c7..0dcf9098c 100644
--- a/Assets/Scripts/FixSystemNew/Cable/PhysicCable.cs
+++ b/Assets/Scripts/FixSystemNew/Cable/PhysicCable.cs
@@ -68,17 +68,17 @@ public class PhysicCable : MonoBehaviour
[SerializeField] private string sortingLayerName = "Tools";
[SerializeField] private int sortingOrder = 47;
// 7/7 PixelCableLine step 色阶: Edge → Band Dark → Band Light
- // 体色 #00335f;暗部微偏红、亮部微偏黄(贴近 PS 暖调体积),高光约 75% 强度
- [SerializeField] private Color darkColor = new(0.032f, 0.085f, 0.155f, 1f); // 暗面偏暖红
- [SerializeField] private float darkWidth = 0.32f;
- [SerializeField] private Color bodyColor = new(0f, 0.2f, 0.373f, 1f); // #00335f
- [SerializeField] private float bodyWidth = 0.26f;
- [SerializeField] private Color midColor = new(0.038f, 0.238f, 0.345f, 1f); // 中间调微偏黄
- [SerializeField] private float midWidth = 0.082f;
- [SerializeField] private float midLift = 0.015f;
- [SerializeField] private Color highlightColor = new(0.056f, 0.248f, 0.298f, 1f); // ≈75% 叠在 mid 上的暖高光
- [SerializeField] private float highlightWidth = 0.02f;
- [SerializeField] private float highlightLift = 0.015f;
+ // 暗面轻微偏红、亮面轻微偏黄;反光保持克制,避免线缆体积感过强。
+ [SerializeField] private Color darkColor = new(0.02f, 0.05f, 0.09f, 1f); // Edge Outline,微偏红
+ [SerializeField] private float darkWidth = 0.33f; // 原型:w+4
+ [SerializeField] private Color bodyColor = new(0.035f, 0.135f, 0.19f, 1f); // Band Dark
+ [SerializeField] private float bodyWidth = 0.26f; // 原型:w=15px ≈ 0.26wu
+ [SerializeField] private Color midColor = new(0.095f, 0.255f, 0.275f, 1f); // Band Light,微偏黄
+ [SerializeField] private float midWidth = 0.10f; // 收窄中亮面,减弱体积感
+ [SerializeField] private float midLift = 0.028f;
+ [SerializeField] private Color highlightColor = new(0.18f, 0.32f, 0.30f, 0.75f); // 高光透明度降低 25%
+ [SerializeField] private float highlightWidth = 0.04f;
+ [SerializeField] private float highlightLift = 0.05f;
[Header("端部收窄(默认关闭:整根线宽与插头/孔匹配)")]
[SerializeField, Range(0f, 0.3f)] private float tipTaperFraction = 0f; // 末端收窄段占全长比例,0 关闭
diff --git a/Assets/Scripts/FixSystemNew/Open/ShockSystem.cs b/Assets/Scripts/FixSystemNew/Open/ShockSystem.cs
index d425c27bd..eadbf4033 100644
--- a/Assets/Scripts/FixSystemNew/Open/ShockSystem.cs
+++ b/Assets/Scripts/FixSystemNew/Open/ShockSystem.cs
@@ -326,8 +326,21 @@ public class ShockSystem : MonoBehaviour, IInteraction
lastMousePosition = mousePosition;
float progressRatio = targetLeverAngle / maxLeverAngle;
+ if (progressRatio <= 0f)
+ {
+ if (isCharging)
+ {
+ isCharging = false;
+ ResetProgress();
+ }
+
+ return;
+ }
+
if (progressRatio > 0 && !isCharging)
{
+ progressTweener?.Kill();
+ progressTweener = null;
isCharging = true;
StartCharging();
AibisDream.Kit.AudioManager.Instance.PlaySfx(chargingEvent, chargingAudioKey);
@@ -884,4 +897,4 @@ public class ShockLeverInteractionBridge : MonoBehaviour, IInteraction
public bool IsActive => _shockSystem?.IsActive ?? true;
public bool IsAvailable => _shockSystem?.IsAvailable ?? true;
public GameObject GetGameObject() => gameObject;
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/FixSystemNew/Screen System/FixPanel/CablePanel.cs b/Assets/Scripts/FixSystemNew/Screen System/FixPanel/CablePanel.cs
index f94182b9c..acd20d7c0 100644
--- a/Assets/Scripts/FixSystemNew/Screen System/FixPanel/CablePanel.cs
+++ b/Assets/Scripts/FixSystemNew/Screen System/FixPanel/CablePanel.cs
@@ -36,6 +36,10 @@ namespace AibisDream.FixSystem
#region 系统状态
public bool isCableRetracted = true; // 线缆是否收起
+ // 与 isCableRetracted(当前可交互状态)分开记录最后一次指令的目标,
+ // 防止相反方向或外部 DOKill 触发旧动画回调,把线缆恢复到错误状态。
+ private bool targetCableRetracted = true;
+
[SerializeField] private Transform retractedPos; // 收起位置
private ISocket curSocket;
@@ -86,6 +90,8 @@ namespace AibisDream.FixSystem
private void InitCableVisualFromPrefab()
{
+ targetCableRetracted = isCableRetracted;
+
if (isCableRetracted)
{
SetRetractCable();
@@ -145,6 +151,8 @@ namespace AibisDream.FixSystem
public void DropDownCableImmediate()
{
+ targetCableRetracted = false;
+ PlugRef.transform.DOKill(false);
PlugRef.PullUpSocketSilent();
CableReelRef.ResetRotation();
PlugRef.RestoreAtStartPositionImmediate();
@@ -212,14 +220,25 @@ namespace AibisDream.FixSystem
}
}
+ ///
+ /// 从插孔拔出(若已插入),放回初始可插线位:线缆放下、可拖拽,不收起。
+ ///
public void ResetPlug()
{
- if (IsPlugInSocket())
+ bool wasPlugged = IsPlugInSocket();
+ if (wasPlugged)
{
PlugRef.PullUpSocket();
}
BodyModuleSystem.CloseModuleSlots(null);
+
+ // 已在初始可插线位且未收起:只关槽,不重复放线/音效
+ if (!wasPlugged && !isCableRetracted && !targetCableRetracted)
+ {
+ return;
+ }
+
DropDownCableImmediate();
AudioManager.Instance.PlaySfx("event:/ActionFB/mods_close");
@@ -315,45 +334,71 @@ namespace AibisDream.FixSystem
return BodyModuleSystem.TryFindClosestModule(sourcePos, out targetModule);
}
+ /// 收起线缆:无论是否插在模块上,统一收到线盘位。
public void PullUpCable()
{
- if (isCableRetracted) return;
-
- if (IsPlugInSocket())
+ bool wasPlugged = IsPlugInSocket();
+ if (wasPlugged)
{
PlugRef.PullUpSocket();
}
BodyModuleSystem.CloseModuleSlots(null);
- // 收线动画:绳身按纯插值收拢到收纳位(不走拖拽物理,避免其阻尼参数在极短时长内来不及收敛而甩鞭),
- // 插头 DOMove 与绳收拢共用同一时长,动画结束时绳已真正收完,再切换到收起态不会有可见的切割感
+ // 已在收起或正在收起,且本次无需拔插:不重复收线动画/音效
+ if (targetCableRetracted && !wasPlugged)
+ {
+ isCableRetracted = true;
+ return;
+ }
+
+ targetCableRetracted = true;
+ isCableRetracted = true;
+
+ PlugRef.transform.DOKill(false);
+
+ if (physicCableRef.State == PhysicCable.CableState.Hidden)
+ {
+ ApplyRetractedState();
+ return;
+ }
+
suppressPlugFollow = true;
physicCableRef.CollapseTo(retractedPos.position, RetractDuration);
PlugRef.transform.DOMove(retractedPos.position, RetractDuration)
- .OnComplete(() =>
- {
- ApplyRetractedState();
- isCableRetracted = true;
- });
+ .OnComplete(CompleteRetractIfCurrent)
+ .OnKill(CompleteRetractIfCurrent);
AudioManager.Instance.PlaySfx("event:/ActionFB/mods_close");
AudioManager.Instance.PlaySfx("event:/FollowInput/plugdrop");
}
+ private void CompleteRetractIfCurrent()
+ {
+ if (!targetCableRetracted) return;
+ ApplyRetractedState();
+ isCableRetracted = true;
+ }
+
public void DropDownCable()
{
- if (!isCableRetracted) return;
- // 确保 Plug 已脱离 Socket(收起状态下通常已脱离,此处为防御性调用)
+ if (!isCableRetracted && !targetCableRetracted) return;
+
+ targetCableRetracted = false;
PlugRef.PullUpSocket();
+ PlugRef.transform.DOKill(false);
CableReelRef.ResetRotation();
suppressPlugFollow = true;
- PlugRef.transform.DOMove(PlugRef.GetStartPos(), 0.1f).OnComplete(() =>
- {
- suppressPlugFollow = false;
- physicCableRef.ShowFree(true);
- isCableRetracted = false;
- });
+ PlugRef.transform.DOMove(PlugRef.GetStartPos(), 0.1f).OnComplete(CompleteDropIfCurrent)
+ .OnKill(CompleteDropIfCurrent);
+ }
+
+ private void CompleteDropIfCurrent()
+ {
+ if (targetCableRetracted) return;
+ suppressPlugFollow = false;
+ physicCableRef.ShowFree(true);
+ isCableRetracted = false;
}
/// 应用收起状态的视觉与组件设置(不含动画、不含 isCableRetracted 更新)
@@ -362,8 +407,6 @@ namespace AibisDream.FixSystem
physicCableRef.Hide();
suppressPlugFollow = false;
- // 强制收起时长可能短于拔出反馈动画(挤压 punch scale),未播完就会被打断,
- // 收起完成后强制清掉,避免插头带着没播完的形变停在收纳位
PlugRef.CancelFeedbackTween();
PlugRef.transform.position = retractedPos.position;
@@ -376,8 +419,10 @@ namespace AibisDream.FixSystem
public void SetRetractCable()
{
- ApplyRetractedState();
+ targetCableRetracted = true;
isCableRetracted = true;
+ PlugRef.transform.DOKill(false);
+ ApplyRetractedState();
}
#region 灯光系统 - 供外部调用
diff --git a/Assets/Scripts/FixSystemNew/States/CoreFixCues.cs b/Assets/Scripts/FixSystemNew/States/CoreFixCues.cs
index 55e1c82d8..4a2ff8048 100644
--- a/Assets/Scripts/FixSystemNew/States/CoreFixCues.cs
+++ b/Assets/Scripts/FixSystemNew/States/CoreFixCues.cs
@@ -84,7 +84,7 @@ namespace AibisDream.FixSystem
}
else
{
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.ResetPlug();
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
}
@@ -104,7 +104,7 @@ namespace AibisDream.FixSystem
bodyModuleSystem.SwitchModuleGroup(moduleState);
}
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.ResetPlug();
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule, true);
BubbleSlotKit.Instance.LoadBubbles(BubbleSlotEnum.BodyModule);
@@ -117,11 +117,8 @@ namespace AibisDream.FixSystem
public IEnumerator Exit(FixTransition transition)
{
var bodyModuleSystem = FixSystemCenter.SystemDic.Get();
- // 拔出插头
- FixPanelSystem.GetRepairPanel().ResetPlug();
- // 清屏
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
FixPanelSystem.Instance.ScreenPanel.ClearScreen();
- // 关闭交互
bodyModuleSystem.DisableSystem();
yield break;
}
diff --git a/Assets/Scripts/FixSystemNew/States/CutFixCues.cs b/Assets/Scripts/FixSystemNew/States/CutFixCues.cs
index 28476e628..a6810382f 100644
--- a/Assets/Scripts/FixSystemNew/States/CutFixCues.cs
+++ b/Assets/Scripts/FixSystemNew/States/CutFixCues.cs
@@ -23,7 +23,7 @@ namespace AibisDream.FixSystem
// Cut的气泡统一放在BodyModule下
BubbleSlotKit.Instance.LoadBubbles(BubbleSlotEnum.Cut);
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
var bodyModule = bodyModuleSystem.FindBodyModuleByName("Emo");
if (bodyModule != null)
{
@@ -70,7 +70,7 @@ namespace AibisDream.FixSystem
// Cut的气泡统一放在BodyModule下
BubbleSlotKit.Instance.LoadBubbles(BubbleSlotEnum.Cut);
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
var bodyModule = bodyModuleSystem.FindBodyModuleByName("Memory");
if (bodyModule != null)
{
@@ -117,6 +117,7 @@ namespace AibisDream.FixSystem
// Cut的气泡统一放在BodyModule下
BubbleSlotKit.Instance.LoadBubbles(BubbleSlotEnum.Cut);
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
var bodyModule = bodyModuleSystem.FindBodyModuleByName("Logic");
if (bodyModule != null)
{
diff --git a/Assets/Scripts/FixSystemNew/States/HuoShanFixCues.cs b/Assets/Scripts/FixSystemNew/States/HuoShanFixCues.cs
index 8ebe2186b..3396821fe 100644
--- a/Assets/Scripts/FixSystemNew/States/HuoShanFixCues.cs
+++ b/Assets/Scripts/FixSystemNew/States/HuoShanFixCues.cs
@@ -41,8 +41,8 @@ namespace AibisDream.FixSystem
var bodyModuleSystem = FixSystemCenter.SystemDic.Get();
yield return UIManager.Instance.GetPanel().FadeInAsync(0.5f);
- // 重置身体模块
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ // 离开表达深入:保持线缆收起,回到 BodyModule 后由 Yarn DropCable 再放线
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
// 关闭表达系统视图
expressionManager.CloseView();
@@ -77,7 +77,7 @@ namespace AibisDream.FixSystem
public IEnumerator Exit(FixTransition transition)
{
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
yield break;
}
}
@@ -98,8 +98,7 @@ namespace AibisDream.FixSystem
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
}
- // 插头回到初始插孔
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
// 切换到分析模式相机
yield return UIManager.Instance.GetPanel().FadeInAsync(0.5f);
diff --git a/Assets/Scripts/FixSystemNew/States/PeipeiFixCues.cs b/Assets/Scripts/FixSystemNew/States/PeipeiFixCues.cs
index a7f50b802..028b913e4 100644
--- a/Assets/Scripts/FixSystemNew/States/PeipeiFixCues.cs
+++ b/Assets/Scripts/FixSystemNew/States/PeipeiFixCues.cs
@@ -21,9 +21,7 @@ namespace AibisDream.FixSystem
yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule);
}
- // 插头回到初始插孔
- FixPanelSystem.GetRepairPanel().ResetPlug();
- // 切换相机
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
yield return CameraKit.Instance.SwitchCamera(CameraEnum.UF);
yield return UIManager.Instance.GetPanel().FadeInAsync(0.5f);
ufSystem.OpenUFView();
@@ -65,9 +63,7 @@ namespace AibisDream.FixSystem
var eyeModule = bodyModuleSystem.FindBodyModuleByType();
yield return eyeModule.OpenEye();
- // 插头回到初始插孔
- FixPanelSystem.GetRepairPanel().ResetPlug();
- // 切换相机
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Eye);
yield return UIManager.Instance.GetPanel().FadeInAsync(0.5f);
yield return CameraKit.Instance.SwitchCamera(CameraEnum.EyeDeep);
@@ -118,9 +114,7 @@ namespace AibisDream.FixSystem
}
yield return memorySystem.DropMemoryProjector();
- // 插头回到初始插孔
- FixPanelSystem.GetRepairPanel().ResetPlug();
- // 相机聚焦到目标位
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Memory);
yield return UIManager.Instance.GetPanel().FadeInAsync(duration);
memorySystem.OnEnter();
@@ -134,7 +128,7 @@ namespace AibisDream.FixSystem
FixPanelSystem.Instance.TaskPanel?.CollapsePanelTemporary(immediate: true);
yield return memorySystem.DropMemoryProjector();
- FixPanelSystem.GetRepairPanel().ResetPlug();
+ FixPanelSystem.GetRepairPanel()?.PullUpCable();
yield return CameraKit.Instance.SwitchCamera(CameraEnum.Memory, true);
memorySystem.OnEnter();
BubbleSlotKit.Instance.LoadBubbles(BubbleSlotEnum.Memory);
diff --git a/Assets/StreamingAssets/Config/character.csv b/Assets/StreamingAssets/Config/character.csv
index 22a9b0902..392225aa7 100644
--- a/Assets/StreamingAssets/Config/character.csv
+++ b/Assets/StreamingAssets/Config/character.csv
@@ -29,7 +29,7 @@ shitou,石头,Stone,シートウ,Default,MainActor,,,VO/voice_shitou,
Descent,Descent,Descent,,Default,Aside,#FFCC00,,VO/voice_me,
e-assistant,电子助手,Electronic Assistant,,Default,Aside,#FFCC00,,VO/voice_me,
Gotashi_unknow,戴纯金雕塑头的男人,*Gotash,*ゴタシュ,Default,Aside,#FFCC00,,,
-dn,·,·,·,Screen,Aside,#FFBF5F,,,
+dn,无连接,No Connection,No Connection,Screen,Aside,#FFBF5F,,,
Linking,连接中……,Connecting...,Connecting...,Screen,Aside,#E6A23C,,,
Analysing,分析中,Analyzing...,Analyzing...,Screen,Aside,#E6A23C,,,
Error,错误警告,Error warning,Error warning,Screen,Aside,#E6A23C,,,
@@ -58,3 +58,8 @@ jb,酒保,Bartender,バーテンダー,Default,MainActor,,,,
girl,女孩,Young Girl,少女,Default,Aside,,,,
host,主持人,Newscaster,ニュースキャスター,Default,Aside,,,,
boy,阿灿,Young Boy,少年,Default,Aside,,,,
+Teacher,教师,Teacher,Teacher,Default,Aside,#FFCC00,,,
+SellerA,销售员A,Seller A,Seller A,Default,Aside,#FFCC00,,,
+SellerB,销售员B,Seller B,Seller B,Default,Aside,#FFCC00,,,
+SellerC,销售员C,Seller C,Seller C,Default,Aside,#FFCC00,,,
+
diff --git a/Assets/Yarn/FP/FP_Day1_begin/Day1_begin.yarn b/Assets/Yarn/FP/FP_Day1_begin/Day1_begin.yarn
index 47f0193c1..2df6cfd0c 100644
--- a/Assets/Yarn/FP/FP_Day1_begin/Day1_begin.yarn
+++ b/Assets/Yarn/FP/FP_Day1_begin/Day1_begin.yarn
@@ -49,8 +49,9 @@ position: 0,80
//可怜虫它坏了因为海根本不存在
-hs: …是啊,是啊。
要是年审完还能放个假就更好了。 #line:022c1fd
-hs: 从早忙到晚…每个机体都只是为了自己的数据变得有价值一些……不如早回收早重生呢。 #line:0c538a4
+hs: …是啊,是啊。
+hs: …要是年审完还能放个假就更好了。 #line:022c1fd
+hs: 从早忙到晚…只是为了自己的数据变得有价值一些……不如早回收早重生呢。 #line:0c538a4
<>
<>
@@ -94,6 +95,7 @@ hs: 新玩意儿。
叫什么…什么频段分层
//春注释:如果希望闪回梦里的东西,我觉得海边可能就够了,而且也和海不存在之类的话题契合
<>
+<>
<>
===
@@ -123,18 +125,21 @@ position: 0,240
// hs: 如果被清除的机体太多的话,英理脸上可就不好看了啊。 #line:0eda22f
// <>
// ->脱耦机体<> #line:007ef4a
+<>
+
host: …目前仍然在逃。 #line:0ee0561
hs: 啊,这就是我说的那个。 #line:015adbc
-host: 3天前该实体在回收审批阶段脱离控制,
下落不明。
请广大机体注意防范,
并积极提供线索。 #line:03559d2
+<>
+host: 3天前该实体在回收审批阶段脱离控制,
下落不明。
请广大机体注意防范,并积极提供线索。 #line:03559d2
+<>
host: 信息显示,该实体为注册在案的*问题分子*,自称发现“海”的线索,正试图寻找。 #line:0dc34e9
+<>
host: 在此提醒广大机体,“海”并不存在。
若您出现类似的认知偏差,请及时就近就医…… #line:00db12d
// <>
// ->结束<0>> #line:0b04710
me: 啊…#auto_next #line:07efff9
<>
-<>
-
<>
// <>
@@ -155,6 +160,7 @@ position: 0,400
//chunhui:2.原型病的人似乎认为主脑之外还有别的家,也就是海
//czq: 你说的是对的,而且带过就够了,现在已经写了,混在日常对话中间了
+<>
<>
<>
<>
@@ -185,9 +191,9 @@ me: 嗯。 #line:0a42ea5
hs: 没事儿,都过去了。 #line:015a2ab
<>
<>
-hs: 年审结束之后我带你去个好地方吧。 #line:040432c
-<>
-me: 你不是年审还差很多分么? #line:0834523
+hs: 年审结束之后我带你去个好地方吧。 #line:040432c
+<>
+me: 你不是还差很多分么? #line:0834523
hs: 嗨,怕啥!我可是我们全组前三…呃,应该是前三百…我是说,三千…呃…… #line:081508a
<>
<>
@@ -198,7 +204,7 @@ hs: 实在不行就…年审前吧。 #line:0b1df41
<>
me: 嘿,会没事的。 #line:076db10
-me: 我只是想说…现在先别想年审后的事情,专心做准备吧。 #line:0eb84ca
+me: 至少…现在先别想年审后的事情,
专心做准备吧。 #line:0eb84ca
<>
<>
@@ -211,7 +217,10 @@ me: 我只是想说…现在先别想年审后的事情,专心做准备吧。
hs: 好吧…祝你…祝我们都年审顺利。低温运行! #line:0124a14
me: 低温运行。 #line:011538c
-<>
+<>
+
+<>
+
<>
<>
@@ -222,14 +231,14 @@ me: 低温运行。 #line:011538c
title: 切换到诊所外
tags: function
---
-<>
<>
<>
<>
<>
-<>
+<>
<>
<>
+<>
<>
<>
<>
@@ -253,8 +262,8 @@ me: 7:15。没记错的话规定时间是7:30。我想我没有迟
yl: 我不在乎现在是几点。
“比患者先到”,这是任何一个医生都该做到的。 #line:052d005
->讽刺 #line:086d2e8
me: 不在乎几点那你问啥?你该检查下你的逻辑模块了。 #line:04baafb
- yl: 哼。看来比起做医生,你更乐意去做一个耍嘴皮子的型号。 #line:09ab3f9
- yl: 毕竟…作为一个*问题分子*,被回收之后降级几乎是必然的。 #line:030bb24
+ yl: 哼。看来比起做医生,
你更乐意耍嘴皮子。 #line:09ab3f9
+ yl: 毕竟…一个*问题分子*,
被回收之后降级重生几乎是必然的。 #line:030bb24
yl: 尤其是你这样顽固的问题分子。 #line:0bec20c
->道歉 #line:0e6d912
me: …抱歉。我下次会更早来。 #line:0a938a8
@@ -273,7 +282,7 @@ yl: 不过…
你还有一个"待改进观察期
me: 什么? #line:08c3c87
-yl: 你继续遵守第93-301号补充守则。 #line:0c2bf08
+yl: 你继续遵守
第93-301号补充守则。 #line:0c2bf08
yl: 经治疗的机体返岗必须已可以正常工作,不允许超出规范的治疗,不允许规定时间离开诊所,不允许… #line:033d445
//#auto_next
me: 到什么时候? #line:0d0c9e1
@@ -284,14 +293,15 @@ me: 那就是永远? #line:00c698d
<>
<>
-yl: 不要以为这场效率审查只是暂时的…你的加入对我的辖区带来了很大的不稳定因素。 #line:06ddeca
+yl: 不要以为年审只是暂时的…你的加入对我的辖区带来了很大的不稳定因素。 #line:06ddeca
yl: 你应该记住…[[size]]是我保住了你。
你随时可能被公司回收[[^size]]。 #line:0505424
-你想要说什么,但只是轻轻张了张嘴。
它的眉头仍然锁着,但嘴角轻轻动了一下,给了你一个轻蔑的笑。 #line:009ab52
+你想要说什么,但只是轻轻张了张嘴。
+它的眉头仍然锁着,但嘴角轻轻动了一下,给了你一个轻蔑的笑。 #line:009ab52
yl: 总而言之。不要让任何一个患者被效率审查司回收。 #line:0a265a0
-yl: 回到你的岗位上吧。
我还有别的…准问题分子…需要处理。 #line:0644021
+yl: 回到你的岗位上吧。
我还有别的…准问题分子…
需要处理。 #line:0644021
你没再说什么,头也不回地进入了诊室。 #line:0290429
diff --git a/Assets/Yarn/FP/FP_Day1_mid/Day1_mid.yarn b/Assets/Yarn/FP/FP_Day1_mid/Day1_mid.yarn
index 4d6ee1171..ab454a955 100644
--- a/Assets/Yarn/FP/FP_Day1_mid/Day1_mid.yarn
+++ b/Assets/Yarn/FP/FP_Day1_mid/Day1_mid.yarn
@@ -28,7 +28,7 @@ position: 250,200
// 你走出诊室,靠在巷子的墙上。
// 巷子正中央站着一个人,佩佩。
-诊室外的护栏边
站着一个熟悉的人影。 #line:012d086
+//诊室外的护栏边
站着一个熟悉的人影。 #line:012d086
<>
<>
<>
@@ -44,7 +44,7 @@ me: 佩佩?还没走吗。 #line:04bdd27
peipei: 天冷了。很快就是冬天了。 #line:0310493
//它头也不回地说。 #line:005c752
<>
-天气确实开始变冷了,冬天应该是真的要来了。 #line:0aeb015
+天气的确在变冷,冬天也的确应该要来了。 #line:0aeb015
<>
<>
<>
@@ -137,7 +137,7 @@ me: 它已经黄了。 #line:0049b60
peipei: 再见了,叶子。 #line:0694ade
-佩佩看了路斯一眼,露出了一个淡淡的微笑,
转头离开了。 #line:00d0440
+佩佩看了你一眼,露出了一个淡淡的微笑,
转头离开了。 #line:00d0440
<>
<>
//<>
diff --git a/Assets/Yarn/FP/FP_Day1_night/FP_Day1_night.yarn b/Assets/Yarn/FP/FP_Day1_night/FP_Day1_night.yarn
index 041bd5357..3918e179f 100644
--- a/Assets/Yarn/FP/FP_Day1_night/FP_Day1_night.yarn
+++ b/Assets/Yarn/FP/FP_Day1_night/FP_Day1_night.yarn
@@ -48,7 +48,7 @@ me: 谢谢。 #line:09a2a98
<>
<>
<>
-侍者自讨没趣地耸了耸肩,
留下了一杯酒,
缩回了阴影里。 #line:0b4aa3a
+侍者自讨没趣地耸了耸肩,
留下了一杯酒,缩回了阴影里。 #line:0b4aa3a
<>
<>
@@ -99,7 +99,7 @@ me: 我听得出来
你自己是打算要说的。 #line:077704b
//<>
<>
<>
-它也笑了。是一个灿烂的笑。 #line:0fb7377
+它也笑了。一个灿烂的笑。 #line:0fb7377
ql: 猜一下嘛。 #line:07950d4
ql: 你有和我身上一样的气味。 #line:09f8aa5
@@ -290,7 +290,7 @@ me: 我记得你说过那是我的情绪。 #line:0c5cd0d
ql: 你不介意吧? #line:0af927a
-me: 其实还是有一点的。 #line:061b50a
+me: 其实还是有点的。 #line:061b50a
//它笑了。 #line:0a8e72d
<>
@@ -300,7 +300,7 @@ ql: 我也需要去面对我的"问题",和你一样。 #line:051
它拿起擦干净的杯子,转身离去。 #line:020019e
<>
<>
-像是想起了什么,它又折返回来。 #line:0a5bc7b
+、//像是想起了什么,它又折返回来。 #line:0a5bc7b
<>
<>
<>
@@ -329,6 +329,7 @@ ql: 倒吊人。你拿反了。 #line:09d2ede
->旋转 #line:0b58edf
<>
// 【你把牌转过来。】 #line:057bfa8
+<>
这下看明白了。
这是一个倒吊着的机体,脚踝上拴着一根绳。 #line:0b490db
me: 它代表什么? #line:00abb4f
diff --git a/Assets/Yarn/FP/FP_Day1_sleep/FP_Day1_sleep.yarn b/Assets/Yarn/FP/FP_Day1_sleep/FP_Day1_sleep.yarn
index a5981d73f..e420dadab 100644
--- a/Assets/Yarn/FP/FP_Day1_sleep/FP_Day1_sleep.yarn
+++ b/Assets/Yarn/FP/FP_Day1_sleep/FP_Day1_sleep.yarn
@@ -24,7 +24,7 @@ jj: 姐姐… #line:0b33086
jj: 姐姐…恐怕要花很多很多工夫
才能修好呢。 #line:0fb7a29
me: 我想要试试。我不怕花工夫。 #line:0c13230
jj: …… #line:0038deb
-jj: 那你要快点长大喔~小麦克斯韦妖。 #line:01c4501
+jj: 那你要快点长大喔~ #line:01c4501
//TODO: 【海浪声消退,时钟声淡入】
<>
@@ -481,7 +481,7 @@ tags: detour
环形走廊很高,你走到阿灿身边。 #line:0545696
boy: 你找到门在哪里了吗? #line:00d0860
me: 还没呢。 #line:0eecfc0
-boy: 啊?这下怎么办啊。
我还怎么变成星星啊…… #line:021452a
+boy: 啊?这下怎么办啊…就差一点了啊。 #line:021452a
===
title: 上去_远眺
@@ -507,8 +507,8 @@ title: 上去_画门_描述
position: -1224,-528
tags: detour
---
-墙上洋洋洒洒地画着一扇金属门,门虚掩着,里面传出一种让人熟悉的窸窸窣窣声。 #line:0124137
-你感觉记忆深处有什么东西在涌动。你知道穿过这扇门你就无法再回来了。
+墙上洋洋洒洒画着一扇金属门,门虚掩着,里面传出一种让人熟悉的窸窸窣窣声。 #line:0124137
+你感觉记忆深处有什么东西在涌动。
你知道穿过这扇门你就无法再回来了。
===
title: 天文台
@@ -530,9 +530,9 @@ tags: hub
->返回 #line:07be273
// <>
<>
-->出去 #line:09312e4
- <>
- <>
+// ->出去 #line:09312e4
+// <>
+// <>
===
title: 天文台_入场
@@ -584,8 +584,10 @@ tags: detour
一本破旧的手账。已经卷边了,看起来被翻了很多次。
里面都是对星星的笔记和描画。看起来是由两个笔迹完成的。
一个随性而娟秀,一个稚嫩却工整。
你似乎曾经对这些星星的图案和名字很熟悉。
-越往后,稚嫩的笔迹越成熟。
从某一页开始内容中断了。只留下未被描画的星星的名字。
-你的心口一阵发慌,记忆里的什么东西在拒绝浮出。
+->翻页
+越往后,稚嫩的笔迹越成熟。
+从某一页开始内容中断了。只留下未被描画的星星的名字。
+你的心口一阵发慌,
记忆里的什么东西正在拒绝浮出。
你扔下了手账。
===
@@ -642,20 +644,20 @@ tags: linear
<>
<>
-
+<>
girl: 怎么还是看不清?
<>
-jj: 这都漏雨了。它太旧了,应该很难修好了。
+jj: 它太旧了,应该很难修好了。你看,这儿都漏雨了。
-girl: 不好!肯定是还有什么地方没弄好…
+girl: 这块该怎么修啊…
<>
jj: 走吧,我们在这里也玩够了。
-girl: 这东西该怎么弄啊。
+girl: 不,肯定有办法修好的…
jj: 今晚还有点时间,姐姐带你回家看。
@@ -673,9 +675,10 @@ me: 姐姐……
<>
<>
-<>
+<>
jj: 回来了。
+<>
jj: 这次有修好吗?
<>
@@ -683,6 +686,8 @@ jj: 这次有修好吗?
jj: 长这么大了啊。
+<>
+
me: 我不该来这的。 #line:0cf7ae6
me: 但我越是不想要梦到你,就反而…… #line:02bbbbc
@@ -692,6 +697,8 @@ me: 但我越是不想要梦到你,就反而…… #line:02bbbbc
me: 这就是那个原因,对吧。
+<>
+
jj: 你看上去很累。 #line:0989b0e
<>
@@ -713,9 +720,11 @@ jj: 你是个很棒的医生,这就足够了。 #line:05c73fe
me: 姐姐…… #line:099fc97
me: 我想你。我想要你陪我,抱我,带我去放风筝,去看星星,我想要把它修好…我想你,我想要你是真的…只是……
-你没有再说话。
站起身,海风吹在你的脸上,咸咸的,让人反胃。 #line:0185dd3
+你没有再说话。站起身,
海风吹在你的脸上,咸咸的,让人反胃。 #line:0185dd3
-me: 姐姐! #line:017c7f1
+<>
+
+me: [[size]]姐姐![[/size]] #line:017c7f1
海风吹在你的脸上,
迅速地吞没了你的回声。 #line:012ae52
扑通! #line:0adf6d2
你把手里的东西远远地抛进了大海里。 #line:029a7e3
@@ -726,7 +735,7 @@ jj: 你从来就不欠我什么。 #line:0fa59bb
me: …我从来就…不欠你什么。 #line:0ebcd24
-姐姐笑了。
声音越来越遥远,
像是从门的另一边传来的。 #line:0ca4d3b
+姐姐笑了。声音越来越遥远,
像是从门的另一边传来的。 #line:0ca4d3b
jj: 该醒来了,路斯。 #line:03c9e3c
@@ -741,5 +750,6 @@ jj: 该醒来了,路斯。 #line:03c9e3c
<>
// <>
// 你睁开眼睛,眼神平和而冷淡。 #line:0829e5d
+<>
<>
===
diff --git a/Assets/Yarn/FP/FP_Day2_begin/FP_Day2_begin.yarn b/Assets/Yarn/FP/FP_Day2_begin/FP_Day2_begin.yarn
index 0318c5a78..a95f54f6d 100644
--- a/Assets/Yarn/FP/FP_Day2_begin/FP_Day2_begin.yarn
+++ b/Assets/Yarn/FP/FP_Day2_begin/FP_Day2_begin.yarn
@@ -9,6 +9,7 @@ position: 250,-26
<>
<>
<>
+<>
<>
<>
@@ -16,7 +17,7 @@ position: 250,-26
<>
<>
-<>
+<>
me: ……
me: 这家伙…… #line:075df29
@@ -66,6 +67,8 @@ position: 0,400
---
me: … #line:00a0b81
+<>
+<>
<>
<>
<>
diff --git a/Assets/Yarn/FP/FP_Day2_sleep/FP_Day2_sleep.yarn b/Assets/Yarn/FP/FP_Day2_sleep/FP_Day2_sleep.yarn
index f5632bab0..c31d64534 100644
--- a/Assets/Yarn/FP/FP_Day2_sleep/FP_Day2_sleep.yarn
+++ b/Assets/Yarn/FP/FP_Day2_sleep/FP_Day2_sleep.yarn
@@ -5,19 +5,16 @@ tags: demo start
position: 1,-422
---
-<> //自动声明
<> //自动声明
-<> //自动声明
-<> //自动声明
<> //自动声明
<> //自动声明
<> //风向
<> //收放线次数
<> //风筝高度
-<> //风筝高度
<> //自动声明
<>
<>
+<>
<>//用来判断玩家是否正在尝试离开当前场景的flag,使用完就应该被放下
@@ -50,7 +47,7 @@ jg: VERYFYING…bool seaExists = false; waiting for imput… #auto_next #line:05
->站起身 #line:007b1d4
<>
你扶着发麻的膝盖站了起来。身体很沉重,像没有润滑过一样干涩。 #line:07e15e9
-me: 这次又是…哪里? #line:03f8114
+me: 这又是…哪里? #line:03f8114
乌鸦歪着头看着你,眼睛滴溜溜地转着。像是刚刚才注意到你。它转动脑袋,又看向了远方。 #line:0fd4ed3
乌鸦: 你要被找到了。 #line:0e943fe
//你感到有什么东西落在身上。那是雪,正从天空洋洋洒洒地飘落。 #line:0c0d4da
@@ -122,8 +119,11 @@ girl: 快看!飞起来啦! #line:030481b
// girl: 快下来吧。 #line:0bff6d0
天上什么东西正在发出猎猎的声音,像涨满的风帆的抖动声。 #line:0a832a0
你向上看去。 #line:0718f75
+<>
+<>
<>
天蓝蓝的,像一望无际的蓝色大海。
闪闪发亮,亮得有些睁不开眼。 #line:085e65a
+<>
<>
===
@@ -135,24 +135,6 @@ color: yellow
cluster: Day2_Plaza
position: 3,59
---
-// <>
-// <>
-// <5>>
-// <>
-// 风筝变成了空中的一个小点,几乎看不见了。手上的拉力越来越模糊。
-// <2>>
-// <>
-// 风筝飞在高处,像一只自由的小鸟。风筝线垂在空中,轻轻地跳动着。 #line:0f7ff25
-// <>
-// <>
-// 风筝懒洋洋的,轻轻摇晃着。飘带随风飘动。 #line:0f350e3
-// <>
-// <2>>
-// me: 怎么说的来着?…风大放线,风小收线……对吧… #line:0f36ca1
-// <>
-//==================================================================================
-//==[回跳内容]展示图片、描述、初始内容
-//==================================================================================
<>
<>
<>
@@ -174,7 +156,7 @@ position: 3,59
girl: 让它飞呀。它本来不就是要飞的嘛! #line:08a4dca
girl: 放线啦! #line:0b9f8d5
<>
- <>
+ <>
<>
<>