diff --git a/Assets/Art/FengLei/PaoTai/ZiDan/shot/shot_1445.prefab b/Assets/Art/FengLei/PaoTai/ZiDan/shot/shot_1445.prefab index 9ddfc7f6f..9ef0fa1df 100644 --- a/Assets/Art/FengLei/PaoTai/ZiDan/shot/shot_1445.prefab +++ b/Assets/Art/FengLei/PaoTai/ZiDan/shot/shot_1445.prefab @@ -123,7 +123,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0.1482, y: 0.1399, z: 0} m_LocalScale: {x: 0.63, y: 0.63, z: 0.63} - m_ConstrainProportionsScale: 0 + m_ConstrainProportionsScale: 1 m_Children: - {fileID: 7208169732306063125} - {fileID: 4379312204464871} @@ -156,6 +156,7 @@ MonoBehaviour: isTriggerFirst: 1 targetTra: {fileID: 0} bulletID: + fireGold: 0 maxTurnSpeed: 15 minTurnSpeed: 2 distanceForMaxTurn: 1 diff --git a/Assets/Art/HHWK/res/texture/dynamic/6001.asset b/Assets/Art/HHWK/res/texture/dynamic/6001.asset index 4a6d696a6..e45d7de06 100644 --- a/Assets/Art/HHWK/res/texture/dynamic/6001.asset +++ b/Assets/Art/HHWK/res/texture/dynamic/6001.asset @@ -9,13 +9,13 @@ Sprite: m_Name: 6001 m_Rect: serializedVersion: 2 - x: 1078 - y: 360 - width: 376 - height: 319 + x: 539 + y: 180 + width: 188 + height: 159.5 m_Offset: {x: 0, y: 0} m_Border: {x: 0, y: 0, z: 0, w: 0} - m_PixelsToUnits: 100 + m_PixelsToUnits: 50 m_Pivot: {x: 0.5, y: 0.5} m_Extrude: 1 m_IsPolygon: 0 @@ -107,14 +107,14 @@ Sprite: m_Bindpose: [] textureRect: serializedVersion: 2 - x: 1078 - y: 360 - width: 376 - height: 319 + x: 539 + y: 180 + width: 188 + height: 159.5 textureRectOffset: {x: 0, y: 0} atlasRectOffset: {x: -1, y: -1} settingsRaw: 0 - uvTransform: {x: 100, y: 1266, z: 100, w: 519.5} + uvTransform: {x: 50, y: 633, z: 50, w: 259.75} downscaleMultiplier: 1 m_AtlasRD: serializedVersion: 3 @@ -198,267 +198,123 @@ Sprite: m_Bindpose: [] textureRect: serializedVersion: 2 - x: 1078 - y: 360 - width: 376 - height: 319 + x: 539 + y: 180 + width: 188 + height: 159.5 textureRectOffset: {x: 0, y: 0} atlasRectOffset: {x: -1, y: -1} settingsRaw: 0 - uvTransform: {x: 100, y: 1266, z: 100, w: 519.5} + uvTransform: {x: 50, y: 633, z: 50, w: 259.75} downscaleMultiplier: 1 m_PhysicsShape: - - - {x: -1.88, y: -1.285} - - {x: -1.88, y: -1.405} - - {x: -1.8199999, y: -1.405} - - {x: -1.8199999, y: -1.295} - - {x: -1.86, y: -1.285} - - - {x: -0.45999998, y: -0.995} - - {x: -0.45, y: -0.965} - - {x: -0.48, y: -0.955} - - {x: -0.29, y: -0.755} - - {x: -0.04, y: -0.445} - - {x: 0.07, y: -0.42499998} - - {x: -0.13, y: -0.645} - - {x: -0.16, y: -0.615} - - {x: -0.17999999, y: -0.615} - - {x: -0.19999999, y: -0.645} - - {x: -0.19, y: -0.745} - - {x: -0.25, y: -0.745} - - {x: -0.28, y: -0.755} - - {x: -0.26999998, y: -0.84499997} - - {x: -0.17999999, y: -0.935} - - {x: -0.25, y: -1.025} - - {x: -0.24, y: -1.0749999} - - {x: -0.14999999, y: -1.035} - - {x: -0.089999996, y: -1.0749999} - - {x: 0.19999999, y: -1.0749999} - - {x: 0.26999998, y: -1.025} - - {x: 0.45, y: -1.0749999} - - {x: 0.51, y: -1.0749999} - - {x: 0.59, y: -1.045} - - {x: 0.76, y: -1.045} - - {x: 0.83, y: -1.0749999} - - {x: 0.90999997, y: -1.0749999} - - {x: 1, y: -1.015} - - {x: 1.04, y: -1.0749999} - - {x: 1.09, y: -1.0749999} - - {x: 1.12, y: -1.0649999} - - {x: 1.09, y: -0.98499995} - - {x: 1.23, y: -0.775} - - {x: 1.22, y: -0.635} - - {x: 1.17, y: -0.525} - - {x: 0.79999995, y: -0.155} - - {x: 0.84, y: -0.015} - - {x: 0.84, y: -0.105} - - {x: 0.85999995, y: -0.195} - - {x: 0.94, y: -0.255} - - {x: 1.35, y: -0.255} - - {x: 1.49, y: -0.16499999} - - {x: 1.5899999, y: 0.105} - - {x: 1.5, y: 0.155} - - {x: 1.48, y: 0.265} - - {x: 1.3299999, y: 0.355} - - {x: 1.35, y: 0.415} - - {x: 1.4499999, y: 0.39499998} - - {x: 1.8, y: 0.305} - - {x: 1.8199999, y: 0.355} - - {x: 1.8199999, y: 0.42499998} - - {x: 1.6999999, y: 0.545} - - {x: 1.54, y: 0.675} - - {x: 1.4699999, y: 0.805} - - {x: 1.39, y: 0.84499997} - - {x: 1.26, y: 0.85499996} - - {x: 1.15, y: 0.805} - - {x: 1.0799999, y: 0.73499995} - - {x: 1.03, y: 1.095} - - {x: 1.06, y: 1.285} - - {x: 0.91999996, y: 1.385} - - {x: 0.78999996, y: 1.405} - - {x: 0.66999996, y: 1.385} - - {x: 0.74, y: 1.2149999} - - {x: 0.68, y: 1.045} - - {x: 0.64, y: 1.345} - - {x: 0.62, y: 1.395} - - {x: 0.57, y: 1.425} - - {x: 0.47, y: 1.425} - - {x: 0.39, y: 1.405} - - {x: 0.32999998, y: 1.3349999} - - {x: 0.28, y: 1.425} - - {x: 0.24, y: 1.425} - - {x: 0.13, y: 1.415} - - {x: 0.12, y: 1.3249999} - - {x: 0.03, y: 1.305} - - {x: 0.089999996, y: 1.245} - - {x: 0.049999997, y: 1.165} - - {x: -0.22, y: 1.245} - - {x: -0.24, y: 1.2049999} - - {x: -0.14999999, y: 1.115} - - {x: -0.24, y: 1.095} - - {x: -0.29999998, y: 1.105} - - {x: -0.29999998, y: 1.225} - - {x: -0.26, y: 1.285} - - {x: -0.32999998, y: 1.3149999} - - {x: -0.45, y: 1.2049999} - - {x: -0.47, y: 1.105} - - {x: -0.53999996, y: 1.145} - - {x: -0.53999996, y: 1.375} - - {x: -0.57, y: 1.425} - - {x: -0.62, y: 1.385} - - {x: -0.79999995, y: 1.415} - - {x: -0.83, y: 1.295} - - {x: -0.91999996, y: 1.305} - - {x: -0.89, y: 1.2049999} - - {x: -0.83, y: 1.155} - - {x: -0.89, y: 0.965} - - {x: -1.01, y: 0.955} - - {x: -1.2099999, y: 0.865} - - {x: -1.3299999, y: 0.73499995} - - {x: -1.3199999, y: 0.59499997} - - {x: -1.28, y: 0.545} - - {x: -1.1899999, y: 0.42499998} - - {x: -1.12, y: 0.36499998} - - {x: -1.27, y: 0.285} - - {x: -1.49, y: 0.155} - - {x: -1.56, y: 0.074999996} - - {x: -1.64, y: 0.035} - - {x: -1.64, y: -0.16499999} - - {x: -1.62, y: -0.205} - - {x: -1.56, y: -0.205} - - {x: -1.38, y: -0.114999995} - - {x: -1.3, y: -0.145} - - {x: -1.1, y: -0.044999998} - - {x: -1.04, y: -0.114999995} - - {x: -0.9, y: -0.195} - - {x: -0.78, y: -0.175} - - {x: -0.71, y: -0.105} - - {x: -0.64, y: 0.074999996} - - {x: -0.34, y: 0.155} - - {x: -0.28, y: 0.145} - - {x: -0.32999998, y: -0.145} - - {x: -0.41, y: -0.295} - - {x: -0.57, y: -0.515} - - {x: -0.77, y: -0.72499996} - - {x: -0.96999997, y: -0.60499996} - - {x: -1.23, y: -0.59499997} - - {x: -1.28, y: -0.59499997} - - {x: -1.3399999, y: -0.72499996} - - {x: -1.16, y: -0.825} - - {x: -1.0699999, y: -0.815} - - {x: -1, y: -0.73499995} - - {x: -0.89, y: -0.805} - - {x: -1.18, y: -0.895} - - {x: -1.53, y: -0.905} - - {x: -1.53, y: -0.885} - - {x: -1.5999999, y: -0.905} - - {x: -1.5799999, y: -0.97499996} - - {x: -1.38, y: -1.055} - - {x: -1.3, y: -1.0749999} - - {x: -1.15, y: -1.0749999} - - {x: -0.72999996, y: -1.045} - - {x: -0.65999997, y: -1.0749999} - - {x: -0.53999996, y: -1.045} - - {x: -0.48, y: -1.015} - - - {x: 0.81, y: -0.48499998} - - {x: 0.77, y: -0.445} - - {x: 0.77, y: -0.405} - - {x: 0.78, y: -0.39499998} - - {x: 0.77, y: -0.375} - - {x: 0.77, y: -0.405} - - {x: 0.78, y: -0.435} - - {x: 0.78999996, y: -0.445} - - {x: 0.78999996, y: -0.465} - - {x: 0.81, y: -0.49499997} - - - {x: -0.98999995, y: -0.044999998} - - {x: -1.02, y: -0.024999999} - - {x: -1, y: -0.024999999} - - {x: -0.84, y: 0.015} - - {x: -0.78999996, y: 0.035} - - {x: -0.81, y: -0.005} - - {x: -0.84999996, y: -0.055} - - {x: -0.87, y: -0.055} - - {x: -0.88, y: -0.065} - - {x: -0.93, y: -0.055} - - - {x: 1.3299999, y: 0.525} - - {x: 1.3299999, y: 0.545} - - {x: 1.3199999, y: 0.575} - - {x: 1.27, y: 0.615} - - {x: 1.27, y: 0.695} - - {x: 1.3199999, y: 0.675} - - {x: 1.35, y: 0.655} - - {x: 1.36, y: 0.655} - - {x: 1.4, y: 0.60499996} - - {x: 1.41, y: 0.59499997} - - {x: 1.38, y: 0.555} - - {x: 1.38, y: 0.525} - - {x: 1.39, y: 0.515} - - {x: 1.37, y: 0.525} - - - {x: -0.98999995, y: 0.565} - - {x: -1.04, y: 0.615} - - {x: -1.05, y: 0.675} - - {x: -1.01, y: 0.72499996} - - {x: -0.94, y: 0.775} - - {x: -0.89, y: 0.79499996} - - {x: -0.85999995, y: 0.815} - - {x: -0.81, y: 0.84499997} - - {x: -0.81, y: 0.835} - - {x: -0.78, y: 0.78499997} - - {x: -0.78, y: 0.765} - - {x: -0.74, y: 0.695} - - {x: -0.75, y: 0.685} - - {x: -0.79999995, y: 0.685} - - {x: -0.81, y: 0.695} - - {x: -0.84999996, y: 0.695} - - {x: -0.88, y: 0.675} - - {x: -0.93, y: 0.625} - - {x: -0.94, y: 0.585} - - {x: -0.96, y: 0.565} - - {x: -0.95, y: 0.545} - - {x: -0.95, y: 0.555} - - - {x: 0.59999996, y: 0.565} - - {x: 0.55, y: 0.60499996} - - {x: 0.59999996, y: 0.655} - - {x: 0.63, y: 0.645} - - {x: 0.65999997, y: 0.645} - - {x: 0.69, y: 0.59499997} - - {x: 0.64, y: 0.585} - - {x: 0.61, y: 0.555} - - {x: 0.62, y: 0.545} - - {x: 0.62, y: 0.555} - - - {x: 1.09, y: 0.645} - - {x: 1.09, y: 0.635} - - {x: 1.06, y: 0.625} - - {x: 1.0699999, y: 0.635} - - - {x: 0.69, y: 0.78499997} - - {x: 0.71, y: 0.815} - - {x: 0.71, y: 0.84499997} - - {x: 0.75, y: 0.885} - - {x: 0.75, y: 0.905} - - {x: 0.74, y: 0.91499996} - - {x: 0.75, y: 0.91499996} - - {x: 0.78999996, y: 0.935} - - {x: 0.78999996, y: 0.92499995} - - {x: 0.76, y: 0.91499996} - - {x: 0.71, y: 0.865} - - {x: 0.71, y: 0.85499996} - - {x: 0.69, y: 0.835} - - {x: 0.69, y: 0.815} - - {x: 0.66999996, y: 0.775} - - {x: 0.66999996, y: 0.73499995} - - {x: 0.65999997, y: 0.73499995} - - - {x: -0.26, y: 0.935} - - {x: -0.21, y: 0.97499996} - - {x: -0.19999999, y: 1.005} - - {x: -0.19, y: 1.015} - - {x: -0.22, y: 0.965} - - {x: -0.22, y: 0.91499996} - - {x: -0.22999999, y: 0.92499995} - - - {x: 0.03, y: 1.055} - - {x: 0.02, y: 1.055} - - {x: 0.03, y: 1.045} - - {x: 0.11, y: 1.045} - - {x: 0.14, y: 1.025} - - {x: 0.06, y: 1.025} - - {x: 0.06, y: 1.035} + - - {x: -1.88, y: -1.42} + - {x: -1.8199999, y: -1.4} + - {x: -1.8199999, y: -1.3199999} + - {x: -1.86, y: -1.28} + - {x: -1.88, y: -1.28} + - - {x: -0.32, y: -0.85999995} + - {x: -0.24, y: -1.0799999} + - {x: 1.0799999, y: -1.0799999} + - {x: 1.26, y: -0.78} + - {x: 1.24, y: -0.56} + - {x: 1.1, y: -0.44} + - {x: 0.82, y: -0.17999999} + - {x: 0.82, y: -0.14} + - {x: 0.84, y: -0.17999999} + - {x: 0.91999996, y: -0.26} + - {x: 1.04, y: -0.26} + - {x: 1.4, y: -0.28} + - {x: 1.62, y: 0} + - {x: 1.5, y: 0.26} + - {x: 1.4, y: 0.38} + - {x: 1.78, y: 0.29999998} + - {x: 1.8399999, y: 0.32} + - {x: 1.8399999, y: 0.39999998} + - {x: 1.6999999, y: 0.62} + - {x: 1.4399999, y: 0.85999995} + - {x: 1.26, y: 0.88} + - {x: 1.0799999, y: 0.85999995} + - {x: 1.06, y: 1.26} + - {x: 0.91999996, y: 1.42} + - {x: 0.7, y: 1.4} + - {x: 0.65999997, y: 1.38} + - {x: 0.56, y: 1.42} + - {x: 0.48, y: 1.4399999} + - {x: 0.34, y: 1.4399999} + - {x: 0.16, y: 1.42} + - {x: 0.08, y: 1.3} + - {x: -0.17999999, y: 1.26} + - {x: -0.24, y: 1.24} + - {x: -0.38, y: 1.4} + - {x: -0.79999995, y: 1.42} + - {x: -0.91999996, y: 1.24} + - {x: -0.94, y: 0.97999996} + - {x: -1.14, y: 0.96} + - {x: -1.38, y: 0.74} + - {x: -1.36, y: 0.56} + - {x: -1.1999999, y: 0.32} + - {x: -1.4599999, y: 0.19999999} + - {x: -1.66, y: 0.099999994} + - {x: -1.66, y: -0.24} + - {x: -1.64, y: -0.26} + - {x: -1.24, y: -0.17999999} + - {x: -0.97999996, y: -0.19999999} + - {x: -0.79999995, y: -0.24} + - {x: -0.62, y: -0.04} + - {x: -0.59999996, y: 0.06} + - {x: -0.35999998, y: -0.16} + - {x: -0.78, y: -0.71999997} + - {x: -1.02, y: -0.59999996} + - {x: -1.26, y: -0.59999996} + - {x: -1.3399999, y: -0.64} + - {x: -1.3, y: -0.79999995} + - {x: -1.0799999, y: -0.84} + - {x: -1.5, y: -0.9} + - {x: -1.54, y: -0.94} + - {x: -1.52, y: -1} + - {x: -1.38, y: -1.0799999} + - {x: -0.52, y: -1.0799999} + - {x: -0.34, y: -0.84} + - {x: -0.24, y: -0.71999997} + - {x: -0.28, y: -0.78} + - - {x: -0.14, y: -0.59999996} + - {x: -0.08, y: -0.53999996} + - {x: 0.06, y: -0.38} + - {x: -0.099999994, y: -0.59999996} + - {x: -0.16, y: -0.59999996} + - {x: -0.17999999, y: -0.64} + - {x: -0.14, y: -0.62} + - - {x: -0.97999996, y: -0.04} + - {x: -0.91999996, y: -0.04} + - {x: -0.9, y: -0.02} + - {x: -0.84, y: -0.02} + - {x: -0.82, y: 0} + - {x: -0.85999995, y: -0.04} + - {x: -0.94, y: -0.04} + - {x: -0.96, y: -0.02} + - - {x: 1.3, y: 0.59999996} + - {x: 1.28, y: 0.65999997} + - {x: 1.3, y: 0.64} + - {x: 1.3399999, y: 0.64} + - {x: 1.38, y: 0.59999996} + - {x: 1.36, y: 0.53999996} + - - {x: -1.02, y: 0.62} + - {x: -1.02, y: 0.68} + - {x: -0.94, y: 0.74} + - {x: -0.84, y: 0.79999995} + - {x: -0.82, y: 0.79999995} + - {x: -0.82, y: 0.78} + - {x: -0.76, y: 0.7} + - {x: -0.79999995, y: 0.71999997} + - {x: -0.85999995, y: 0.71999997} + - {x: -0.96, y: 0.64} + - {x: -0.96, y: 0.58} + - - {x: 0.58, y: 0.59999996} + - {x: 0.59999996, y: 0.62} + - {x: 0.64, y: 0.62} + - {x: 0.65999997, y: 0.58} + - {x: 0.59999996, y: 0.58} + - {x: 0.59999996, y: 0.59999996} m_Bones: [] m_SpriteID: 9879fa8cff00e5f43a9b92606b91f7f8 diff --git a/Assets/Art/HHWK/res/texture/dynamic/6002.asset b/Assets/Art/HHWK/res/texture/dynamic/6002.asset index a34d578e2..bca51982b 100644 --- a/Assets/Art/HHWK/res/texture/dynamic/6002.asset +++ b/Assets/Art/HHWK/res/texture/dynamic/6002.asset @@ -9,13 +9,13 @@ Sprite: m_Name: 6002 m_Rect: serializedVersion: 2 - x: 279 - y: 351 - width: 409 - height: 362 + x: 139.5 + y: 175.5 + width: 204.5 + height: 181 m_Offset: {x: 0, y: 0} m_Border: {x: 0, y: 0, z: 0, w: 0} - m_PixelsToUnits: 100 + m_PixelsToUnits: 50 m_Pivot: {x: 0.5, y: 0.5} m_Extrude: 1 m_IsPolygon: 0 @@ -107,14 +107,14 @@ Sprite: m_Bindpose: [] textureRect: serializedVersion: 2 - x: 279 - y: 351 - width: 409 - height: 362 + x: 139.5 + y: 175.5 + width: 204.5 + height: 181 textureRectOffset: {x: 0, y: 0} atlasRectOffset: {x: -1, y: -1} settingsRaw: 0 - uvTransform: {x: 100, y: 483.5, z: 100, w: 532} + uvTransform: {x: 50, y: 241.75, z: 50, w: 266} downscaleMultiplier: 1 m_AtlasRD: serializedVersion: 3 @@ -198,226 +198,107 @@ Sprite: m_Bindpose: [] textureRect: serializedVersion: 2 - x: 279 - y: 351 - width: 409 - height: 362 + x: 139.5 + y: 175.5 + width: 204.5 + height: 181 textureRectOffset: {x: 0, y: 0} atlasRectOffset: {x: -1, y: -1} settingsRaw: 0 - uvTransform: {x: 100, y: 483.5, z: 100, w: 532} + uvTransform: {x: 50, y: 241.75, z: 50, w: 266} downscaleMultiplier: 1 m_PhysicsShape: - - - {x: -0.895, y: -1.4399999} - - {x: -0.85499996, y: -1.38} - - {x: -0.91499996, y: -1.3399999} - - {x: -0.85499996, y: -1.1999999} - - {x: -0.78499997, y: -1.0799999} - - {x: -0.715, y: -0.90999997} - - {x: -0.615, y: -0.85999995} - - {x: -0.545, y: -0.81} - - {x: -0.53499997, y: -0.7} - - {x: -0.42499998, y: -0.51} - - {x: -0.375, y: -0.39999998} - - {x: -0.325, y: -0.55} - - {x: -0.33499998, y: -0.65999997} - - {x: -0.305, y: -0.72999996} - - {x: -0.285, y: -0.85999995} - - {x: -0.265, y: -1.01} - - {x: -0.355, y: -1.09} - - {x: -0.39499998, y: -1.15} - - {x: -0.325, y: -1.18} - - {x: -0.445, y: -1.3299999} - - {x: -0.565, y: -1.52} - - {x: -0.545, y: -1.56} - - {x: -0.505, y: -1.56} - - {x: -0.48499998, y: -1.54} - - {x: -0.465, y: -1.56} - - {x: -0.13499999, y: -1.56} - - {x: -0.055, y: -1.52} - - {x: -0.015, y: -1.56} - - {x: 0.755, y: -1.56} - - {x: 0.775, y: -1.55} - - {x: 0.755, y: -1.38} - - {x: 0.695, y: -1.22} - - {x: 0.685, y: -1.09} - - {x: 0.625, y: -0.91999996} - - {x: 0.555, y: -0.77} - - {x: 0.515, y: -0.62} - - {x: 0.525, y: -0.58} - - {x: 0.615, y: -0.69} - - {x: 0.705, y: -0.68} - - {x: 0.73499995, y: -0.65} - - {x: 0.79499996, y: -0.59999996} - - {x: 0.865, y: -0.58} - - {x: 0.965, y: -0.53999996} - - {x: 1.0649999, y: -0.45999998} - - {x: 1.275, y: -0.19999999} - - {x: 1.3349999, y: -0.08} - - {x: 1.505, y: -0.13} - - {x: 1.555, y: -0.049999997} - - {x: 1.605, y: 0.089999996} - - {x: 1.5949999, y: 0.13} - - {x: 1.435, y: 0.14999999} - - {x: 1.275, y: 0.26} - - {x: 1.1949999, y: 0.29} - - {x: 1.095, y: 0.29999998} - - {x: 1.045, y: 0.28} - - {x: 0.92499995, y: 0.31} - - {x: 0.91499996, y: 0.35} - - {x: 0.84499997, y: 0.55} - - {x: 0.895, y: 0.57} - - {x: 0.905, y: 0.66999996} - - {x: 0.835, y: 0.75} - - {x: 0.825, y: 0.89} - - {x: 0.865, y: 0.9} - - {x: 0.895, y: 0.90999997} - - {x: 0.885, y: 1.05} - - {x: 0.815, y: 1.16} - - {x: 0.92499995, y: 1.31} - - {x: 1.035, y: 1.5} - - {x: 0.995, y: 1.5899999} - - {x: 0.965, y: 1.5899999} - - {x: 0.78499997, y: 1.38} - - {x: 0.705, y: 1.23} - - {x: 0.42499998, y: 0.84} - - {x: 0.33499998, y: 0.71} - - {x: 0.305, y: 0.75} - - {x: 0.295, y: 0.87} - - {x: 0.275, y: 0.89} - - {x: 0.185, y: 0.95} - - {x: 0.195, y: 1.14} - - {x: 0.195, y: 1.31} - - {x: 0.285, y: 1.4599999} - - {x: 0.33499998, y: 1.55} - - {x: 0.295, y: 1.5899999} - - {x: 0.305, y: 1.65} - - {x: 0.275, y: 1.66} - - {x: 0.114999995, y: 1.66} - - {x: 0.074999996, y: 1.65} - - {x: 0.035, y: 1.56} - - {x: 0.005, y: 1.24} - - {x: -0.125, y: 1.15} - - {x: -0.155, y: 1.23} - - {x: -0.225, y: 1.35} - - {x: -0.225, y: 1.4599999} - - {x: -0.24499999, y: 1.53} - - {x: -0.255, y: 1.56} - - {x: -0.345, y: 1.56} - - {x: -0.435, y: 1.61} - - {x: -0.465, y: 1.5999999} - - {x: -0.475, y: 1.5699999} - - {x: -0.415, y: 1.4699999} - - {x: -0.48499998, y: 1.4499999} - - {x: -0.42499998, y: 1.35} - - {x: -0.295, y: 1.28} - - {x: -0.205, y: 1} - - {x: -0.155, y: 0.95} - - {x: -0.255, y: 0.83} - - {x: -0.275, y: 0.68} - - {x: -0.36499998, y: 0.71} - - {x: -0.375, y: 0.78999996} - - {x: -0.525, y: 1.48} - - {x: -0.545, y: 1.56} - - {x: -0.565, y: 1.5799999} - - {x: -0.645, y: 1.5699999} - - {x: -0.66499996, y: 1.51} - - {x: -0.635, y: 1.37} - - {x: -0.66499996, y: 1.1} - - {x: -0.66499996, y: 0.85999995} - - {x: -0.765, y: 0.85999995} - - {x: -0.805, y: 0.9} - - {x: -0.84499997, y: 0.9} - - {x: -1.025, y: 0.95} - - {x: -1.095, y: 0.95} - - {x: -1.2049999, y: 1.06} - - {x: -1.3349999, y: 1.1999999} - - {x: -1.415, y: 1.3} - - {x: -1.4649999, y: 1.3399999} - - {x: -1.505, y: 1.41} - - {x: -1.785, y: 1.64} - - {x: -1.8149999, y: 1.63} - - {x: -1.8249999, y: 1.5999999} - - {x: -1.735, y: 1.4599999} - - {x: -1.605, y: 1.29} - - {x: -1.425, y: 1.13} - - {x: -1.485, y: 1.1} - - {x: -1.7249999, y: 1.1899999} - - {x: -1.8549999, y: 1.27} - - {x: -1.9649999, y: 1.25} - - {x: -2.0049999, y: 1.1999999} - - {x: -2.0449998, y: 1.11} - - {x: -2.0449998, y: 0.96} - - {x: -2.0049999, y: 0.9} - - {x: -1.9449999, y: 0.89} - - {x: -1.795, y: 0.88} - - {x: -1.605, y: 0.77} - - {x: -1.5749999, y: 0.76} - - {x: -1.555, y: 0.76} - - {x: -1.505, y: 0.75} - - {x: -1.525, y: 0.62} - - {x: -1.675, y: 0.47} - - {x: -1.6949999, y: 0.41} - - {x: -1.6949999, y: 0.35} - - {x: -1.665, y: 0.34} - - {x: -1.615, y: 0.37} - - {x: -1.665, y: 0.22} - - {x: -1.765, y: 0.099999994} - - {x: -1.805, y: -0.01} - - {x: -1.7149999, y: -0.01} - - {x: -1.8549999, y: -0.17999999} - - {x: -1.895, y: -0.28} - - {x: -2.0349998, y: -0.38} - - {x: -2.0449998, y: -0.39999998} - - {x: -2.0449998, y: -0.41} - - {x: -1.895, y: -0.53} - - {x: -1.805, y: -0.53} - - {x: -1.7049999, y: -0.48999998} - - {x: -1.645, y: -0.45} - - {x: -1.655, y: -0.45999998} - - {x: -1.665, y: -0.48} - - {x: -1.5849999, y: -0.53} - - {x: -1.505, y: -0.52} - - {x: -1.345, y: -0.53} - - {x: -1.225, y: -0.44} - - {x: -1.135, y: -0.44} - - {x: -1.0849999, y: -0.39} - - {x: -1.135, y: -0.5} - - {x: -1.115, y: -0.59999996} - - {x: -1.035, y: -0.66999996} - - {x: -1.0849999, y: -0.7} - - {x: -1.105, y: -0.91999996} - - {x: -1.155, y: -1.25} - - {x: -1.2049999, y: -1.3399999} - - {x: -1.185, y: -1.55} - - {x: -1.175, y: -1.56} - - {x: -0.91499996, y: -1.56} - - {x: -0.885, y: -1.55} - - - {x: -1.035, y: -0.26999998} - - {x: -1.025, y: -0.28} - - {x: -1.055, y: -0.32} - - {x: -1.035, y: -0.31} - - - {x: -0.995, y: -0.17} - - {x: -0.995, y: -0.14999999} - - {x: -0.935, y: -0.099999994} - - {x: -0.935, y: -0.08} - - {x: -0.885, y: -0.099999994} - - {x: -0.905, y: -0.12} - - {x: -0.935, y: -0.16} - - {x: -0.97499996, y: -0.16} - - {x: -1.015, y: -0.19} - - {x: -1.015, y: -0.19999999} - - - {x: 0.945, y: -0.049999997} - - {x: 0.965, y: 0.01} - - {x: 0.965, y: 0.049999997} - - {x: 1.0649999, y: -0.02} - - {x: 1.005, y: -0.049999997} - - {x: 0.97499996, y: -0.08} - - {x: 0.935, y: -0.11} - - - {x: -0.185, y: 0.39999998} - - {x: -0.155, y: 0.39} - - {x: -0.125, y: 0.39} - - {x: -0.155, y: 0.38} - - {x: -0.155, y: 0.39} + - - {x: 0.71999997, y: -1.09} + - {x: 0.59999996, y: -0.78999996} + - {x: 0.71999997, y: -0.69} + - {x: 1.06, y: -0.55} + - {x: 1.38, y: -0.11} + - {x: 1.52, y: -0.14999999} + - {x: 1.5799999, y: -0.13} + - {x: 1.5799999, y: 0.13} + - {x: 1.3, y: 0.32999998} + - {x: 0.96, y: 0.42999998} + - {x: 0.91999996, y: 0.55} + - {x: 0.96, y: 0.72999996} + - {x: 0.91999996, y: 1.09} + - {x: 0.84, y: 1.1899999} + - {x: 1.04, y: 1.41} + - {x: 1.04, y: 1.5699999} + - {x: 0.97999996, y: 1.61} + - {x: 0.78, y: 1.41} + - {x: 0.44, y: 0.89} + - {x: 0.32, y: 0.84999996} + - {x: 0.24, y: 1.0699999} + - {x: 0.35999998, y: 1.55} + - {x: 0.28, y: 1.67} + - {x: 0.08, y: 1.67} + - {x: 0.02, y: 1.53} + - {x: 0, y: 1.29} + - {x: -0.099999994, y: 1.2099999} + - {x: -0.24, y: 1.5899999} + - {x: -0.39999998, y: 1.61} + - {x: -0.44, y: 1.5699999} + - {x: -0.45999998, y: 1.43} + - {x: -0.29999998, y: 1.29} + - {x: -0.24, y: 0.69} + - {x: -0.34, y: 0.81} + - {x: -0.48, y: 1.4499999} + - {x: -0.53999996, y: 1.5899999} + - {x: -0.62, y: 1.5899999} + - {x: -0.68, y: 1.55} + - {x: -0.68, y: 0.87} + - {x: -0.78, y: 0.95} + - {x: -1.12, y: 1.05} + - {x: -1.62, y: 1.5699999} + - {x: -1.76, y: 1.63} + - {x: -1.78, y: 1.55} + - {x: -1.7199999, y: 1.43} + - {x: -1.4599999, y: 1.13} + - {x: -1.8199999, y: 1.27} + - {x: -1.9399999, y: 1.27} + - {x: -2.04, y: 1.15} + - {x: -2.04, y: 0.95} + - {x: -1.9599999, y: 0.89} + - {x: -1.52, y: 0.63} + - {x: -1.68, y: 0.47} + - {x: -1.74, y: 0.37} + - {x: -1.8399999, y: -0.11} + - {x: -2.02, y: -0.37} + - {x: -2.02, y: -0.41} + - {x: -1.92, y: -0.53} + - {x: -1.6999999, y: -0.53} + - {x: -1.3, y: -0.55} + - {x: -1.14, y: -0.47} + - {x: -1.16, y: -1.2099999} + - {x: -1.22, y: -1.31} + - {x: -1.1999999, y: -1.53} + - {x: -1.16, y: -1.5699999} + - {x: -0.9, y: -1.5699999} + - {x: -0.84, y: -1.35} + - {x: -0.85999995, y: -1.27} + - {x: -0.58, y: -0.84999996} + - {x: -0.52, y: -0.78999996} + - {x: -0.35999998, y: -0.42999998} + - {x: -0.34, y: -0.66999996} + - {x: -0.26, y: -1.01} + - {x: -0.35999998, y: -1.11} + - {x: -0.35999998, y: -1.15} + - {x: -0.52, y: -1.4499999} + - {x: -0.56, y: -1.51} + - {x: -0.38, y: -1.5699999} + - {x: 0.7, y: -1.5699999} + - {x: 0.82, y: -1.53} + - {x: 0.78, y: -1.29} + - - {x: -0.91999996, y: -0.11} + - {x: -0.9, y: -0.11} + - {x: -0.91999996, y: -0.11} + - {x: -0.96, y: -0.14999999} + - - {x: 0.97999996, y: -0.03} + - {x: 0.96, y: -0.01} + - {x: 1, y: 0.03} + - {x: 0.97999996, y: 0.03} + - {x: 1.04, y: -0.01} + - {x: 0.96, y: -0.07} + - {x: 0.97999996, y: -0.07} m_Bones: [] m_SpriteID: 0c59ec4e1c1164041b4186ebd0a5e859 diff --git a/Assets/Framework/Tool/UITool/UIManager.cs b/Assets/Framework/Tool/UITool/UIManager.cs index 64b897e9f..52b5c64b5 100644 --- a/Assets/Framework/Tool/UITool/UIManager.cs +++ b/Assets/Framework/Tool/UITool/UIManager.cs @@ -107,6 +107,69 @@ public class UIManager : MonoSingleton // ⭐ handle 缓存:用于 Addressables.Release 释放内存 private readonly Dictionary> handleCache = new Dictionary>(); public GameObject loadPanel; + + // ==================== 加载中界面(obj_JiaZaiZhong) ==================== + // ⭐ 资源加载超过 jiaZaiZhongDelay(默认 0.1 秒)还没结束才显示"加载中"界面,避免快速加载闪一下。 + // 支持多段加载并发(引用计数):所有 BeginLoading 都配对 EndLoading 后才隐藏。 + // 用法:UIManager.BeginLoading(); try { await 加载过程(); } finally { UIManager.EndLoading(); } + [Tooltip("资源加载超过该秒数还没结束才显示\"加载中\"界面(避免快速加载闪一下)")] + [SerializeField] private float jiaZaiZhongDelay = 0.1f; + + private int _loadingRefCount; // 进行中的资源加载段数 + private bool _loadingShown; // "加载中"界面是否已显示 + private Coroutine _loadingDelayCoroutine; // 延迟显示协程(0.1 秒内加载结束就取消,不显示) + private bool _jiaZaiZhongWarned; // obj_JiaZaiZhong 未挂引用时只提醒一次 + + /// 开始一段资源加载(与 EndLoading 成对):超过 0.1 秒还没结束才显示"加载中"界面 + public static void BeginLoading() { Instance.BeginLoadingInternal(); } + + /// 结束一段资源加载(与 BeginLoading 成对) + public static void EndLoading() { Instance.EndLoadingInternal(); } + + private void BeginLoadingInternal() + { + _loadingRefCount++; + if (obj_JiaZaiZhong == null) + { + if (!_jiaZaiZhongWarned) + { + _jiaZaiZhongWarned = true; + Debug.LogWarning("[UIManager] 加载中界面 obj_JiaZaiZhong 未挂引用,资源加载提示不会显示"); + } + return; + } + if (_loadingShown || _loadingDelayCoroutine != null) return; // 已显示 / 已在等待显示 + _loadingDelayCoroutine = StartCoroutine(CoShowJiaZaiZhongAfterDelay()); + } + + private void EndLoadingInternal() + { + if (_loadingRefCount > 0) _loadingRefCount--; + if (_loadingRefCount > 0) return; // 还有其它加载在进行,继续显示 + + if (_loadingDelayCoroutine != null) + { + StopCoroutine(_loadingDelayCoroutine); + _loadingDelayCoroutine = null; + } + if (_loadingShown) + { + _loadingShown = false; + if (obj_JiaZaiZhong != null) obj_JiaZaiZhong.SetActive(false); + } + } + + private IEnumerator CoShowJiaZaiZhongAfterDelay() + { + yield return new WaitForSecondsRealtime(jiaZaiZhongDelay); + _loadingDelayCoroutine = null; + if (_loadingRefCount <= 0 || obj_JiaZaiZhong == null) yield break; + + obj_JiaZaiZhong.SetActive(true); + obj_JiaZaiZhong.transform.SetAsLastSibling(); // 盖到最上层,避免被别的面板挡住 + _loadingShown = true; + } + public LoadingPanel ShowLoadPanel(VideoClip videoClip, Action action=null) { ShowAsync(UIPanel.LoginPanel); @@ -399,8 +462,11 @@ public class UIManager : MonoSingleton onShown?.Invoke(panel); yield break; } + // ⭐ 面板资源未缓存:异步加载超过 0.1 秒才显示"加载中"界面 + BeginLoadingInternal(); var handle = Addressables.LoadAssetAsync(addressMap[type]); yield return handle; + EndLoadingInternal(); if (handle.Status == AsyncOperationStatus.Succeeded) { prefabCache[type] = handle.Result; @@ -437,8 +503,11 @@ public class UIManager : MonoSingleton onShown?.Invoke(panel); yield break; } + // ⭐ 面板资源未缓存:异步加载超过 0.1 秒才显示"加载中"界面 + BeginLoadingInternal(); var handle = Addressables.LoadAssetAsync(addressMap[type]); yield return handle; + EndLoadingInternal(); if (handle.Status == AsyncOperationStatus.Succeeded) { prefabCache[type] = handle.Result; diff --git a/Assets/MyGame/Scripts/Characters/Monster/MonsterMoveLine.cs b/Assets/MyGame/Scripts/Characters/Monster/MonsterMoveLine.cs index 8a90af910..e033bb1b9 100644 --- a/Assets/MyGame/Scripts/Characters/Monster/MonsterMoveLine.cs +++ b/Assets/MyGame/Scripts/Characters/Monster/MonsterMoveLine.cs @@ -167,6 +167,15 @@ public class MonsterMoveLine private static AsyncOperationHandle> _bezierHandles; public static async Task LoadBezierTxtAsync(string path, Action onProgress = null) + { + // ⭐ 资源加载超过 0.1 秒才显示"加载中"界面(引用计数,快速加载不显示) + UIManager.BeginLoading(); + try { await LoadBezierTxtAsyncCore(path, onProgress); } + finally { UIManager.EndLoading(); } + } + + /// LoadBezierTxtAsync 的实际逻辑(外层负责"加载中"界面) + private static async Task LoadBezierTxtAsyncCore(string path, Action onProgress) { // ⭐ 加载前先全量清空上一场的路线缓存: // 各玩法普通路线/鱼阵曲线名完全重名(曲线1~N、鱼阵N)但坐标不同, diff --git a/Assets/MyGame/Scripts/Turret/FlyTurretData.cs b/Assets/MyGame/Scripts/Turret/FlyTurretData.cs index 067103d8b..f2691dea0 100644 --- a/Assets/MyGame/Scripts/Turret/FlyTurretData.cs +++ b/Assets/MyGame/Scripts/Turret/FlyTurretData.cs @@ -589,9 +589,9 @@ public class FlyTurretData : TurretData _prewarmOrigScale = plane.localScale; _prewarmOrigActive = plane.gameObject.activeSelf; - // 只开入场要用的 Body+护盾、关掉免费三类——避免把五十来个粒子系统全部初始化(反而更重) + // 只开入场要用的 Body、关掉免费三类——避免把五十来个粒子系统全部初始化(反而更重); + // ⭐ 护盾粒子拆到下一帧再开:和 Body 骨架/粒子挤同一帧 = 单帧尖峰(90% 收尾窗口卡顿的来源之一) SetPlaneChildActive(plane, "Body", true); - SetPlaneChildActive(plane, "PW_Effect_Defend", true); SetPlaneChildActive(plane, "FreeEffect", false); SetPlaneChildActive(plane, "FreeEffect_Crit", false); SetPlaneChildActive(plane, "FreeEffect_Speedup", false); @@ -602,8 +602,10 @@ public class FlyTurretData : TurretData plane.SetParent(holder, true); plane.localScale = Vector3.zero; plane.gameObject.SetActive(true); - yield return null; - yield return null; // 让骨架首帧网格、粒子首帧模拟都跑到 + yield return null; // Body 骨架首帧网格 + SetPlaneChildActive(plane, "PW_Effect_Defend", true); // 护盾粒子单独一帧开 + yield return null; // 护盾首帧模拟 + yield return null; // 再等一帧让首帧网格上传铺开 FinishPrewarmRestore(); Debug.Log($"[XJMH入场] 飞机预热完成({plane.name})"); diff --git a/Assets/MyGame/Scripts/fishResources/AudioResourcesData.cs b/Assets/MyGame/Scripts/fishResources/AudioResourcesData.cs index f744fec7d..24d890b17 100644 --- a/Assets/MyGame/Scripts/fishResources/AudioResourcesData.cs +++ b/Assets/MyGame/Scripts/fishResources/AudioResourcesData.cs @@ -91,6 +91,15 @@ public class AudioResourcesData /// onProgress:进度回调 0~1(按 LoadAssetsAsync 的 PercentComplete),供进房进度条使用;不传则行为不变。 /// public static async Task LoadAudioGame(Action onProgress = null) + { + // ⭐ 资源加载超过 0.1 秒才显示"加载中"界面(引用计数,快速加载不显示) + UIManager.BeginLoading(); + try { await LoadAudioGameCore(onProgress); } + finally { UIManager.EndLoading(); } + } + + /// LoadAudioGame 的实际逻辑(外层负责"加载中"界面) + private static async Task LoadAudioGameCore(Action onProgress) { GameType gameType = GameManager.Instance.gameData.currGameType; var keys = new List { Audio_AALabel, gameType.ToString() }; diff --git a/Assets/MyGame/Scripts/fishResources/FishResourcesData.cs b/Assets/MyGame/Scripts/fishResources/FishResourcesData.cs index 4322df40d..c8f987db5 100644 --- a/Assets/MyGame/Scripts/fishResources/FishResourcesData.cs +++ b/Assets/MyGame/Scripts/fishResources/FishResourcesData.cs @@ -92,6 +92,15 @@ public class FishResourcesData /// 供进房进度条使用;不传则行为与原来一致。 /// public static async Task LoadFishAssetsData(Action onProgress = null) + { + // ⭐ 资源加载超过 0.1 秒才显示"加载中"界面(引用计数,快速加载不显示) + UIManager.BeginLoading(); + try { await LoadFishAssetsDataCore(onProgress); } + finally { UIManager.EndLoading(); } + } + + /// LoadFishAssetsData 的实际逻辑(外层负责"加载中"界面) + private static async Task LoadFishAssetsDataCore(Action onProgress) { // 清空对象池 Pool.Instance.Clear(); diff --git a/Assets/MyGame/Scripts/fishResources/TurretResources.cs b/Assets/MyGame/Scripts/fishResources/TurretResources.cs index 04a16e422..52c811ee1 100644 --- a/Assets/MyGame/Scripts/fishResources/TurretResources.cs +++ b/Assets/MyGame/Scripts/fishResources/TurretResources.cs @@ -76,6 +76,15 @@ public class TurretResourcesData /// (调用方可回退 GetZhanShenPrefab 查全量字典,平滑迁移)。 /// public static async Task AcquireZhanShenAsync(int turretNumber, ZhanShenUsage usage) + { + // ⭐ 资源加载超过 0.1 秒才显示"加载中"界面(缓存命中瞬间完成,不会显示) + UIManager.BeginLoading(); + try { return await AcquireZhanShenAsyncCore(turretNumber, usage); } + finally { UIManager.EndLoading(); } + } + + /// AcquireZhanShenAsync 的实际逻辑(外层负责"加载中"界面) + private static async Task AcquireZhanShenAsyncCore(int turretNumber, ZhanShenUsage usage) { var key = (turretNumber, usage); _zsRefCount[key] = _zsRefCount.TryGetValue(key, out int c) ? c + 1 : 1; @@ -179,6 +188,15 @@ public class TurretResourcesData /// 与 ReleaseTurretPrefab 配对(切换/关闭时 -1,归零卸包)。 /// public static async Task AcquireTurretPrefabAsync(int turretNumber) + { + // ⭐ 资源加载超过 0.1 秒才显示"加载中"界面(缓存命中瞬间完成,不会显示) + UIManager.BeginLoading(); + try { return await AcquireTurretPrefabAsyncCore(turretNumber); } + finally { UIManager.EndLoading(); } + } + + /// AcquireTurretPrefabAsync 的实际逻辑(外层负责"加载中"界面) + private static async Task AcquireTurretPrefabAsyncCore(int turretNumber) { _ptRefCount[turretNumber] = _ptRefCount.TryGetValue(turretNumber, out int c) ? c + 1 : 1; if (_ptPrefabCache.TryGetValue(turretNumber, out var cached)) return cached; @@ -368,6 +386,15 @@ public class TurretResourcesData /// 字典中存的就是已销毁对象的引用(Editor 下因 AssetDatabase 模式不会暴露此问题)。 /// public static async Task LoadTurretAssetsData() + { + // ⭐ 资源加载超过 0.1 秒才显示"加载中"界面(引用计数,快速加载不显示) + UIManager.BeginLoading(); + try { await LoadTurretAssetsDataCore(); } + finally { UIManager.EndLoading(); } + } + + /// LoadTurretAssetsData 的实际逻辑(外层负责"加载中"界面) + private static async Task LoadTurretAssetsDataCore() { turretPrefabDic = new Dictionary(); turretGamePrefabDic = new Dictionary(); diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/SSQL/7005.prefab b/Assets/MyGame/aa/Game/FLZY/BOSS/SSQL/7005.prefab index 555bd3be9..9e3b0aa9f 100644 --- a/Assets/MyGame/aa/Game/FLZY/BOSS/SSQL/7005.prefab +++ b/Assets/MyGame/aa/Game/FLZY/BOSS/SSQL/7005.prefab @@ -5342,7 +5342,7 @@ PrefabInstance: - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, type: 3} propertyPath: m_SceneBindings.Array.size - value: 26 + value: 29 objectReference: {fileID: 0} - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, type: 3} @@ -5356,6 +5356,24 @@ PrefabInstance: value: objectReference: {fileID: -4975399762532968560, guid: 97554428056b1ac4f9f32aface985316, type: 2} + - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + propertyPath: m_SceneBindings.Array.data[26].key + value: + objectReference: {fileID: -147752329279606508, guid: 97554428056b1ac4f9f32aface985316, + type: 2} + - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + propertyPath: m_SceneBindings.Array.data[27].key + value: + objectReference: {fileID: 6124250156390186977, guid: 97554428056b1ac4f9f32aface985316, + type: 2} + - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + propertyPath: m_SceneBindings.Array.data[28].key + value: + objectReference: {fileID: -6477884835058938809, guid: 97554428056b1ac4f9f32aface985316, + type: 2} - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, type: 3} propertyPath: m_SceneBindings.Array.data[24].value @@ -5366,6 +5384,21 @@ PrefabInstance: propertyPath: m_SceneBindings.Array.data[25].value value: objectReference: {fileID: 3033651403988009196} + - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + propertyPath: m_SceneBindings.Array.data[26].value + value: + objectReference: {fileID: 8282567264049790537} + - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + propertyPath: m_SceneBindings.Array.data[27].value + value: + objectReference: {fileID: 7453087164729299865} + - target: {fileID: 3823345273878462180, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + propertyPath: m_SceneBindings.Array.data[28].value + value: + objectReference: {fileID: 2215003876436266114} - target: {fileID: 3824444864287102080, guid: 1bcb895f3655d5548a9ffb4474b98605, type: 3} propertyPath: m_Layer @@ -13735,6 +13768,12 @@ CircleCollider2D: m_Offset: {x: 0, y: 0} serializedVersion: 2 m_Radius: 0.5 +--- !u!95 &2215003876436266114 stripped +Animator: + m_CorrespondingSourceObject: {fileID: 4286368811891389748, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + m_PrefabInstance: {fileID: 2720591934958713270} + m_PrefabAsset: {fileID: 0} --- !u!1 &2283344592133234553 stripped GameObject: m_CorrespondingSourceObject: {fileID: 4211263933705135823, guid: 1bcb895f3655d5548a9ffb4474b98605, @@ -15072,6 +15111,12 @@ CircleCollider2D: m_Offset: {x: 0.018183004, y: -0.14367317} serializedVersion: 2 m_Radius: 0.7301043 +--- !u!95 &7453087164729299865 stripped +Animator: + m_CorrespondingSourceObject: {fileID: 4805293225234868783, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + m_PrefabInstance: {fileID: 2720591934958713270} + m_PrefabAsset: {fileID: 0} --- !u!1 &7511131309169197708 stripped GameObject: m_CorrespondingSourceObject: {fileID: 5619821435806153530, guid: 1bcb895f3655d5548a9ffb4474b98605, @@ -15154,6 +15199,12 @@ CircleCollider2D: m_Offset: {x: 0.0073856106, y: -0.08785672} serializedVersion: 2 m_Radius: 0.6284307 +--- !u!1 &8282567264049790537 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6282782031822112767, guid: 1bcb895f3655d5548a9ffb4474b98605, + type: 3} + m_PrefabInstance: {fileID: 2720591934958713270} + m_PrefabAsset: {fileID: 0} --- !u!1 &8394534036027403222 stripped GameObject: m_CorrespondingSourceObject: {fileID: 5890175915406086752, guid: 1bcb895f3655d5548a9ffb4474b98605, diff --git a/Assets/MyGame/aa/Game/HHWK/Fish/Fish_2013 Variant.prefab b/Assets/MyGame/aa/Game/HHWK/Fish/Fish_2013 Variant.prefab index 8767e8ec3..cd3698c85 100644 --- a/Assets/MyGame/aa/Game/HHWK/Fish/Fish_2013 Variant.prefab +++ b/Assets/MyGame/aa/Game/HHWK/Fish/Fish_2013 Variant.prefab @@ -387,7 +387,7 @@ MonoBehaviour: - {fileID: 0} needLockEvent: 0 createVideoClip: {fileID: 0} - rotationPY: 0 + rotationPY: 60 useMirrorCompensate: 1 useRollSignFlip: 0 useRouteFlipX: 0 diff --git a/Assets/MyGame/aa/UI/DefaultPanel/JiaZaiZhong.prefab b/Assets/MyGame/aa/UI/DefaultPanel/JiaZaiZhong.prefab index 24a90064f..e7d7adb03 100644 --- a/Assets/MyGame/aa/UI/DefaultPanel/JiaZaiZhong.prefab +++ b/Assets/MyGame/aa/UI/DefaultPanel/JiaZaiZhong.prefab @@ -114,7 +114,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &439111589277315844 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs index 8ea5b0351..20bd378a8 100644 --- a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs +++ b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs @@ -311,7 +311,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base [Tooltip("鱼创建时播放的入场视频控件,由 Boss 预制体的 createVideoClip 指定视频片段。Inspector 拖拽场景中的 VideoPlayer 控件")] public UnityEngine.Video.VideoPlayer createVideoPlayer; - /// 开火音效(static:切房新面板实例直接复用,避免重复加载;离房时 UnLoadBulletClip 释放并置空) + /// 开火音效(static:全局常驻,切房/重进房直接复用;见 LoadBulletClip 注释) static AudioClip bulletClip; public List paoBeiList = new List(); @@ -480,6 +480,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base /// XJMH 进房首帧预热(加载 90%→100% 收尾窗口调用,进度条还显示着玩家看不到): /// 把本地座位(座位自带炮台随 Awake 一起初始化)与"入场要用的那架完整飞机"提前点亮—— /// 这些 XJMH 独有资产首次初始化(骨架/粒子/贴图首上传)很重,全堆在 100% 那一帧玩家会看到明显卡顿。 + /// ⭐ 按帧拆散(避免"90% 卡死"):先让一帧(进度条先刷新)→ 只留默认炮台、关掉其余 3 把 → + /// 激活座位(1 套骨架) → 等两帧 → 飞机分两帧点亮(Body / 护盾粒子各一帧)。 /// 入场动画有加载完成门卫(IsGameLoadCompleted),预热不会导致动画提前播放。 /// private void PrewarmXJMHForLocalSeat() @@ -495,11 +497,34 @@ public class GameMainPanel_FishBase : GameMainPanel_Base private IEnumerator PrewarmXJMHCoroutine(SitPosData sit) { - // ① 提前激活本地座位:Awake → InitXJMHTurret → 激活默认炮台(PW_Battery_x 首次初始化在这里完成, + // ⭐ 先等一帧:StartCoroutine 会同步执行到第一个 yield —— 原先座位激活的重活 + // 和"90%"写入进度条是同一帧(数字还没刷新、主线程就被占住,看起来"90 卡死")。 + // 先让一帧,进度条和收尾循环跑起来再干重活 + yield return null; + + bool willActivate = sit != null && !sit.gameObject.activeSelf; + + // ⭐ 只有"座位从未激活、这次预热才激活"时才预关炮台: + // 预制体里 4 把 XJMH 炮台(SkeletonGraphic)默认激活,座位 SetActive 时 4 套骨架/材质/贴图 + // 挤在同一帧全部首初始化(单帧尖峰巨大);先关掉后,这一帧只初始化 Awake 点亮的默认那把。 + // ⚠️ 座位已在激活状态时不能动(Awake 不会再跑,关掉就回不来) + if (willActivate && sit.xjmhTurretList != null) + { + for (int i = 0; i < sit.xjmhTurretList.Count; i++) + { + var t = sit.xjmhTurretList[i]; + if (t != null && t.gameObject.activeSelf) t.gameObject.SetActive(false); + } + } + + // ① 提前激活本地座位:Awake → InitXJMHTurret → 激活默认炮台(首初始化在这里完成, // 被加载界面遮住)。100% 时 JoinGame 再 SetActive(true) 是幂等的,不影响正常入座流程 - if (sit != null && !sit.gameObject.activeSelf) + if (willActivate) sit.gameObject.SetActive(true); - yield return null; // 让座位/炮台这帧的重活落在加载画面里 + + // 座位/炮台初始化(骨架首帧网格上传、材质铺开)多留两帧,再点飞机 + yield return null; + yield return null; // ② 飞机隐藏预热(座位激活后 currentTurret 已就绪 = 入场会用的那把) var turret = sit != null ? sit.currentTurret as FlyTurretData : null; @@ -1361,6 +1386,11 @@ public class GameMainPanel_FishBase : GameMainPanel_Base UIManager.Instance.ReleaseHomeUI(); SetLoadProgress(0.02f); + // ⭐ 提前后台加载开火音效 PW_Shoot(Audio+PTCBZS,独立小包): + // 与后面的路线/鱼包/音频加载并行跑,78% 处 await 时早已完成, + // 不再把"打开小包 + 标签求交集"的耗时压在 78% 那一帧(进度条卡死点) + _ = LoadBulletClip(); + // 路线:2~30(大包同步解压期间回调不刷新 → 预估进度保证条持续推进) StartCreepProgress(0.02f, 0.30f); await MonsterMoveLine.LoadBezier(p => @@ -1386,7 +1416,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base if (flow != _resourceFlowToken) return; // ⭐ 开火音效 PW_Shoot 在 Default Local Group(Audio+PTCBZS 双标签交集检索): - // 只命中 Default 小包,不把其它玩法的巨型音频包拉进内存;句柄由 LoadBulletClip 静态保存,离房释放 + // 只命中 Default 小包,不把其它玩法的巨型音频包拉进内存; + // 资源在 0~2% 已后台 kick-off 且全局常驻,这里 await 基本瞬时通过(不再把打开包的耗时压在 78% 主线程上) StartCreepProgress(0.78f, 0.84f); await LoadBulletClip(); StopCreepProgress(); @@ -1484,7 +1515,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base if (flow != _resourceFlowToken) return; // ⭐ 期间已有新流程(新面板加载),剩余卸载作废 await AudioResourcesData.UnLoadAudioGame(); if (flow != _resourceFlowToken) return; - UnLoadBulletClip(); // ⭐ 释放开火音效句柄(引用计数归零) + // ⭐ 开火音效 PW_Shoot(Audio+PTCBZS)不释放:全局常驻(见 LoadBulletClip 注释, + // 独立小包反复开关只会把打开耗时反复压在进房 78% 那一帧,省不到内存) TurretResourcesData.UnloadAllZhanShen(ZhanShenUsage.GamePlay); // ⭐ 卸载按需加载的战神(游戏内) TurretResourcesData.UnloadAllTurretPrefabs(); // ⭐ 卸载按需加载的炮台/翅膀 prefab await MonsterMoveLine.UnLoadBezier(); @@ -1510,29 +1542,27 @@ public class GameMainPanel_FishBase : GameMainPanel_Base /// /// ⭐ 开火音效 PW_Shoot 的加载句柄(static:新老面板实例共享)。 - /// PW_Shoot 在 Default Local Group(Audio+PTCBZS),该包因默认音频常驻本就不会卸载, - /// 但句柄仍要显式保存/释放,避免每次进房引用计数 +1 无限累加。 + /// PW_Shoot 是全局开火音效、每局必用,且各组已是 PackSeparately(每个资源独立小包): + /// 旧实现"每次进房 Release+Load、离房再释放"省不到内存(下一局马上又加载回来), + /// 却把"打开小包 + Audio/PTCBZS 标签求交集"的主线程耗时全压在进房 78% 那一帧(进度条卡死点)。 + /// 现在只加载一次、程序生命周期常驻;首次加载在进房 0~2%(后台)就 kick-off,78% 处直接通过。 /// private static AsyncOperationHandle> _bulletClipHandle; + private static bool _bulletClipStarted; - /// 加载开火音效(Audio+PTCBZS 交集,只命中 Default Local Group 里的 PW_Shoot) + /// 加载开火音效(Audio+PTCBZS 交集,只命中 Default Local Group 里的 PW_Shoot)。 + /// 幂等:已启动过则复用同一句柄(通常早已完成,await 直接通过)。 private static async Task LoadBulletClip() { - // 防御:上一轮句柄未释放时先释放 - if (_bulletClipHandle.IsValid()) - Addressables.Release(_bulletClipHandle); - - _bulletClipHandle = Addressables.LoadAssetsAsync(new List { "Audio", "PTCBZS" }, null, - Addressables.MergeMode.Intersection); - await _bulletClipHandle.Task; - } - - /// 释放开火音效句柄(离房卸载流程调用;static 引用一并置空防悬空) - private static void UnLoadBulletClip() - { - if (_bulletClipHandle.IsValid()) - Addressables.Release(_bulletClipHandle); - bulletClip = null; + if (!_bulletClipStarted) + { + _bulletClipStarted = true; + _bulletClipHandle = Addressables.LoadAssetsAsync(new List { "Audio", "PTCBZS" }, null, + Addressables.MergeMode.Intersection); + } + if (!_bulletClipHandle.IsValid()) return; + try { await _bulletClipHandle.Task; } + catch (Exception e) { Debug.LogError($"开火音效加载失败: {e.Message}"); } } /// @@ -1545,7 +1575,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base { await FishResourcesData.UnLoadFishAssetsData(); await AudioResourcesData.UnLoadAudioGame(); - UnLoadBulletClip(); + // ⭐ 开火音效 PW_Shoot 常驻不释放(见 LoadBulletClip 注释) TurretResourcesData.UnloadAllZhanShen(ZhanShenUsage.GamePlay); TurretResourcesData.UnloadAllTurretPrefabs(); await MonsterMoveLine.UnLoadBezier(); @@ -1632,7 +1662,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base SetUnloadProgress(0.4f); await AudioResourcesData.UnLoadAudioGame(); - UnLoadBulletClip(); // ⭐ 释放开火音效句柄(引用计数归零) + // ⭐ 开火音效 PW_Shoot(Audio+PTCBZS)不释放:全局常驻(见 LoadBulletClip 注释) TurretResourcesData.UnloadAllZhanShen(ZhanShenUsage.GamePlay); // ⭐ 卸载按需加载的战神(游戏内) TurretResourcesData.UnloadAllTurretPrefabs(); // ⭐ 卸载按需加载的炮台/翅膀 prefab diff --git a/Assets/MyGame/aa/UI/Game/左下.prefab b/Assets/MyGame/aa/UI/Game/左下.prefab index b2da407d0..14d5a0e8c 100644 --- a/Assets/MyGame/aa/UI/Game/左下.prefab +++ b/Assets/MyGame/aa/UI/Game/左下.prefab @@ -160,7 +160,7 @@ MonoBehaviour: m_MinValue: 0 m_MaxValue: 1 m_WholeNumbers: 0 - m_Value: 1 + m_Value: 0 m_OnValueChanged: m_PersistentCalls: m_Calls: [] @@ -5849,7 +5849,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: LV:211 + m_text: LV:0 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2} m_sharedMaterial: {fileID: 3593458263369068374, guid: 5d4a713fdd931db4c9ce49f068b54e0a,