This commit is contained in:
2026-09-17 22:57:46 +08:00
parent b808170da9
commit 3a27552995
62 changed files with 607 additions and 155 deletions
@@ -130,14 +130,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1773469197339082}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0.000000028983932}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4813474215982641}
m_Father: {fileID: 4337015788411949}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212292553890537080
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -271,7 +271,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -4907,7 +4907,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1914014897109241}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: -0.09, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -4917,7 +4917,7 @@ Transform:
- {fileID: 4913655883493363}
- {fileID: 4543393292054516}
m_Father: {fileID: 4435099525853282}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33084220350138072
MeshFilter:
m_ObjectHideFlags: 0
@@ -5191,7 +5191,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -81,7 +81,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -4936,7 +4936,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1557080113246394}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2.8, y: 2.8, z: 2.8}
m_ConstrainProportionsScale: 1
@@ -4945,7 +4945,7 @@ Transform:
- {fileID: 4839320455603451}
- {fileID: 4400908673060067}
m_Father: {fileID: 4864660893559242}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33876489218451654
MeshFilter:
m_ObjectHideFlags: 0
@@ -27,7 +27,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1053421446467001}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2.88, y: 2.88, z: 2.88}
m_ConstrainProportionsScale: 1
@@ -36,7 +36,7 @@ Transform:
- {fileID: 4085456485621998}
- {fileID: 4272530003263187}
m_Father: {fileID: 4099536449687300}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33927964434642545
MeshFilter:
m_ObjectHideFlags: 0
@@ -205,7 +205,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -132,7 +132,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1545205161739241}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -140,7 +140,7 @@ Transform:
- {fileID: 4267612596197259}
- {fileID: 4412760457152828}
m_Father: {fileID: 4622475370520095}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33218242097675376
MeshFilter:
m_ObjectHideFlags: 0
@@ -309,7 +309,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -270,7 +270,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -318,7 +318,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1795071719860704}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -326,7 +326,7 @@ Transform:
- {fileID: 4169038986220552}
- {fileID: 4562349872898969}
m_Father: {fileID: 4739777469300102}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33515014016741080
MeshFilter:
m_ObjectHideFlags: 0
@@ -81,7 +81,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -234,7 +234,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1166028387209275}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -242,7 +242,7 @@ Transform:
- {fileID: 4599847062167879}
- {fileID: 4054764481949101}
m_Father: {fileID: 4742804013844764}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33401516053078042
MeshFilter:
m_ObjectHideFlags: 0
@@ -81,7 +81,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -129,7 +129,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1184502978110074}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -137,7 +137,7 @@ Transform:
- {fileID: 4709795102811942}
- {fileID: 4150722936614067}
m_Father: {fileID: 4761895050758925}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33139439588171687
MeshFilter:
m_ObjectHideFlags: 0
@@ -115,7 +115,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -247,7 +247,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1748952690304768}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2.93, y: 2.93, z: 2.93}
m_ConstrainProportionsScale: 1
@@ -256,7 +256,7 @@ Transform:
- {fileID: 4105529633627793}
- {fileID: 4690830914458606}
m_Father: {fileID: 4985170242419402}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33056971057681300
MeshFilter:
m_ObjectHideFlags: 0
@@ -4854,7 +4854,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -7408,7 +7408,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1937255353274943}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -7417,7 +7417,7 @@ Transform:
- {fileID: 4033248626237060}
- {fileID: 4921193165439506}
m_Father: {fileID: 4372554575617723}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33528926366782932
MeshFilter:
m_ObjectHideFlags: 0
@@ -2542,7 +2542,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -2590,7 +2590,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691579565554018}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2.84, y: 2.84, z: 2.84}
m_ConstrainProportionsScale: 1
@@ -2599,7 +2599,7 @@ Transform:
- {fileID: 4104974035038008}
- {fileID: 4096019151347083}
m_Father: {fileID: 4727289656151292}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33290818575160010
MeshFilter:
m_ObjectHideFlags: 0
@@ -89,10 +89,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
bingDongEffect: {fileID: 0}
bingDongEffect:
- {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 0
isNot1: 0
@@ -437,6 +440,185 @@ PrefabInstance:
propertyPath: m_Name
value: PW_Effect_AwardFrame_Dial
objectReference: {fileID: 0}
- target: {fileID: 1668429868625308, guid: a6cf5d80cc474df44ba67c8d6baa0903, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199047072744213566, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199135454913305957, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199168129017394121, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199182542586146141, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199225079379405669, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199230840466775855, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199252019213873347, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199298917833258029, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199313924343927863, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199366559500919976, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199402159485647431, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199414233741434341, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199445506124158530, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199481883236752017, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199487785902689041, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199506816211630059, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199516266068544070, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199532329249448817, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199559669480622739, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199563065899182049, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199566244850505055, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199571283732370085, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199576098670219006, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199583287049701953, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199591527342047430, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199616136446083473, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199625844516739264, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199706925864604084, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199774994779459564, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199777815771895722, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199885532881300099, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199916460477448367, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199939376837333324, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199970109154359059, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199973131872393185, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_Enabled
value: 1
objectReference: {fileID: 0}
- target: {fileID: 222492129601539967, guid: a6cf5d80cc474df44ba67c8d6baa0903,
type: 3}
propertyPath: m_CullTransparentMesh
@@ -186,7 +186,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -232,14 +232,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1595304841115646}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4966539709252089}
m_Father: {fileID: 4689869797953508}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212970495927004084
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -81,7 +81,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -232,14 +232,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1701000067200503}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4715147585199929}
m_Father: {fileID: 4594488227998473}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212531158198019102
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -4882,7 +4882,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1257871213785508}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: -0.0000001192093, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -4890,7 +4890,7 @@ Transform:
- {fileID: 4599855708593416}
- {fileID: 4478781397808731}
m_Father: {fileID: 4362042627506150}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212796751221275775
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -5024,7 +5024,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -2439,7 +2439,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -12127,7 +12127,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1945233855360371}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -12136,7 +12136,7 @@ Transform:
- {fileID: 4763295722220731}
- {fileID: 4841439818733565}
m_Father: {fileID: 4398538711546758}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33599141308400280
MeshFilter:
m_ObjectHideFlags: 0
@@ -186,7 +186,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -232,14 +232,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1479081812760233}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4182370340665142}
m_Father: {fileID: 4627644430650313}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212962458076929915
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -186,7 +186,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -234,14 +234,14 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1870431410166554}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4693391509903119}
m_Father: {fileID: 4323215887152487}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
@@ -25,14 +25,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1378924067627394}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4501723045132189}
m_Father: {fileID: 4481925686506431}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212594679999209725
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -166,7 +166,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -81,7 +81,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -232,14 +232,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1647802415455583}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4398795659734264}
m_Father: {fileID: 4592363116162194}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212871619695302803
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -25,14 +25,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1073416653796694}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4394952194266443}
m_Father: {fileID: 4122576390007956}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!212 &212959643847212613
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -271,7 +271,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -2584,7 +2584,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
forwordXYZ: -Y
forwordXYZ: Z
fishenum: 1
moveTime: 0
isyz: 1
@@ -2632,7 +2632,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1897836496076248}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0.5, y: -0.5, z: 0.5, w: 0.5}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@@ -2640,7 +2640,7 @@ Transform:
- {fileID: 4657978617212619}
- {fileID: 4616353964483890}
m_Father: {fileID: 4666584683407188}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 90}
--- !u!33 &33216260560125744
MeshFilter:
m_ObjectHideFlags: 0
+1 -1
View File
@@ -269,7 +269,7 @@ MonoBehaviour:
upV3: {x: 0, y: 0, z: 0}
centerV3: {x: 0, y: 0, z: 0}
downV3: {x: 0, y: 0, z: 0}
speed: 10
speed: 3
height: 0
--- !u!1 &1115207330
GameObject:
@@ -330,6 +330,9 @@ public class MonsterContral : MonoBehaviour
[Tooltip("反面补偿:掉头(跨左右中线)时绕鱼头轴z翻180-z,保持透视方向/背朝向一致。往返路线开;环形路线绕圈会跨中线两次导致跳变闪,环形路线的鱼关掉(全程连续转不翻面)")]
public bool useMirrorCompensate = true;
[Tooltip("Z轴侧倾按左右符号翻转(原始语义):向左→+rotationPY/向右→-rotationPY,纯符号切换无180°翻转。true=启用此模式(忽略反面补偿);false=走useMirrorCompensate的180°反面补偿")]
public bool useRollSignFlip = false;
[Tooltip("Boss路线奇偶翻转X轴:单数路线(左→右)保持正向,双数路线(右→左)X取-1镜像。默认开;特殊怪物不需要镜像时关闭")]
public bool useRouteFlipX = true;
@@ -389,6 +392,9 @@ public class MonsterContral : MonoBehaviour
isLockable = !needLockEvent;
// ⭐ 重置死亡标记:池回收复用的鱼重新激活时是活鱼
isDead = false;
// ⭐ 重置路线方向缓存:池复用会换路线,需重新由起终点判定
_routeDirXCached = false;
_routeDirX = 0;
fishenum = (FishTypeEnum)monsterData.fishTypeConfig.fishType;
uirootRect = UIManager.Instance.uiRoot.GetComponent<RectTransform>();
mainCamera = Camera.main;
@@ -696,8 +702,17 @@ public class MonsterContral : MonoBehaviour
// ⭐ 700/701 直线阵:使用预计算缓存,零 CanvasToWorld 调用
if (_isYzLineMove && _yzLineInited)
{
Vector2 pos = _yzStartWorld + (Vector3)(_yzLineDir * transform.up * moveTime
* monsterData.moveLine.moveTime);
// ⭐ 移动方向改用固定世界向量 (0,±1),不再用 transform.up:
// 加轴朝向(forwordXYZ)后鱼会被旋转,transform.up 随之改变,
// 原公式会把鱼带斜飞(隐含"鱼永不旋转"前提,现已不成立)
Vector2 lineDir = new Vector2(0f, _yzLineDir);
Vector2 pos = (Vector2)_yzStartWorld + lineDir * moveTime * monsterData.moveLine.moveTime;
// ⭐ 直线阵朝向:沿移动方向取前方一点,复用 ApplyFacingDirection 的轴逻辑
// (原直线阵从不调朝向,设置 forwordXYZ 无效——鱼保持预制体朝向平移)
if (fishenum != FishTypeEnum.Boss鱼)
ApplyFacingDirection(pos + lineDir);
// ⭐ 保留根节点当前 z(2D 小鱼 z 一直为 0,行为不变)
transform.position = new Vector3(pos.x, pos.y, transform.position.z);
return;
@@ -708,7 +723,7 @@ public class MonsterContral : MonoBehaviour
switch (_yzPrefix)
{
// 700 / 701:直线向前移动(沿 up 方向)—— 兜底分支,正常走缓存路径
// 700 / 701:直线向前移动—— 兜底分支,正常走缓存路径
case "700":
case "701":
{
@@ -719,8 +734,13 @@ public class MonsterContral : MonoBehaviour
bool goUp = (_yzPrefix == "701") || (monsterData.moveLine.bezierCurveData.start.y > 0);
float dir = goUp ? -1f : 1f;
Vector2 pos = startWorld + (Vector3)(dir * transform.up * moveTime
* monsterData.moveLine.moveTime);
// ⭐ 同缓存分支:方向用固定世界向量,与朝向旋转解耦
Vector2 lineDir = new Vector2(0f, dir);
Vector2 pos = (Vector2)startWorld + lineDir * moveTime * monsterData.moveLine.moveTime;
if (fishenum != FishTypeEnum.Boss鱼)
ApplyFacingDirection(pos + lineDir);
// ⭐ 保留根节点当前 z(2D 小鱼 z 一直为 0,行为不变)
transform.position = new Vector3(pos.x, pos.y, transform.position.z);
break;
@@ -759,6 +779,16 @@ public class MonsterContral : MonoBehaviour
}
public bool isRotate = true;
public bool isNot1 = false;
/// <summary>
/// 路线水平方向缓存:+1=左→右,-1=右→左,0=纯垂直。
/// 由贝塞尔曲线起终点一次判定(终点在起点右边=左→右),路线终身不变。
/// ⭐ 侧倾符号判断统一用它,替代每帧 dirNorm 分量:曲线中段波动会让 dirNorm 分量
/// 频繁穿0,符号每帧翻转导致侧倾 ±rotationPY 来回闪(±90跳)。
/// </summary>
private int _routeDirX = 0;
/// <summary>_routeDirX 是否已计算(ApplyFacingDirection 首次调用时懒算,OnEnable 重置供池复用)</summary>
private bool _routeDirXCached = false;
/// <summary>
/// 根据 forwordXYZ 字段将物体朝向目标点方向。
/// 为空时 2D 鱼用 up,3D 鱼用 forward。
@@ -776,14 +806,19 @@ public class MonsterContral : MonoBehaviour
_cachedChild = child;
}
Vector3 localPos = child.localPosition;
// ⭐ x/y 归零摆正模型;z 深度只在显式配置 depthOffset(≠0)时才覆盖,
// 否则保留预制体上设置的 3D 深度(3D Boss 用,之前被强制归零导致深度无效)
localPos.x = 0f;
localPos.y = 0f;
if (depthOffset != 0)
localPos.z = depthOffset;
child.localPosition = localPos;
// ⭐ 700/701直线阵(扇形/圈):保留child本地偏移——阵型靠"生成时的根旋转角度+本地偏移"
// 实现均匀分布,归零会把分布抹成一点(所有鱼缩到根中心);其余鱼x/y归零摆正模型
if (_yzPrefix != "700" && _yzPrefix != "701")
{
Vector3 localPos = child.localPosition;
// ⭐ x/y 归零摆正模型;z 深度只在显式配置 depthOffset(≠0)时才覆盖,
// 否则保留预制体上设置的 3D 深度(3D Boss 用,之前被强制归零导致深度无效)
localPos.x = 0f;
localPos.y = 0f;
if (depthOffset != 0)
localPos.z = depthOffset;
child.localPosition = localPos;
}
if (!isRotate) return;
Vector2 toNext = nextPos - (Vector2)transform.position;
@@ -791,6 +826,17 @@ public class MonsterContral : MonoBehaviour
Vector2 dirNorm = toNext.normalized; // ⭐ 缓存归一化向量,避免分支内重复计算
// ⭐ 路线左右方向懒缓存:终点在起点右边=左→右(+1)/左边=右→左(-1)/相同=纯垂直(0)
// 由起终点一次判定,路线终身不变——侧倾符号判断不再受曲线中段波动影响
if (!_routeDirXCached)
{
_routeDirXCached = true;
var bd = monsterData.moveLine.bezierCurveData;
if (bd.end.x > bd.start.x) _routeDirX = 1;
else if (bd.end.x < bd.start.x) _routeDirX = -1;
else _routeDirX = 0;
}
// ⭐ 左右半边滞回:越过中线±0.05才切换(反面补偿的开关,防垂直游抖动闪跳)
if (!_defaultMirror && dirNorm.x < -0.05f) _defaultMirror = true;
else if (_defaultMirror && dirNorm.x > 0.05f) _defaultMirror = false;
@@ -808,10 +854,32 @@ public class MonsterContral : MonoBehaviour
{
float angle = Mathf.Atan2(toNext.y, toNext.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle - 90f, Vector3.forward);
// ⭐ 左右镜像(修复"出鱼有的正有的反",不对称鱼往左显示反):
// 贴图头朝上的鱼纯旋转对齐时,往左游=整体转180°=肚皮朝上(反)。
// 往左时叠加X轴镜像:旋转角不变(镜像不改变鱼头方向),
// 只翻回背腹朝向,左右游姿态一致。以预制体基准绝对赋值,池复用不叠加
float mirrorX = _defaultMirror ? -_prefabScaleX : _prefabScaleX;
var s = transform.localScale;
if (!Mathf.Approximately(s.x, mirrorX))
{
s.x = mirrorX;
transform.localScale = s;
}
}
else
{
transform.rotation = Quaternion.LookRotation(dirNorm, Vector3.up);
// ⭐ 连续构造替代 LookRotation(dirNorm, up):朝向接近正上/正下时
// LookRotation 参考系退化(cross(up,forward)≈0),左右轴随dx符号
// 瞬间翻转180°导致鱼抖。此写法与 LookRotation 稳态等价且全程连续
float heading = Mathf.Atan2(dirNorm.y, dirNorm.x) * Mathf.Rad2Deg;
var rot = Quaternion.AngleAxis(heading, Vector3.forward)
* Quaternion.AngleAxis(90f, Vector3.up);
// ⭐ 往左时绕头尾轴再转180°:3D鱼左右近似对称,等效镜像,
// 背始终朝上(与往右一致),避免负缩放的法线翻转副作用
if (_defaultMirror)
rot *= Quaternion.AngleAxis(180f, Vector3.forward);
transform.rotation = rot;
}
return;
}
@@ -826,10 +894,11 @@ public class MonsterContral : MonoBehaviour
{
child.right = dirNorm;
var vv = child.eulerAngles;
// ⭐ 根据 z 轴角度判断鱼朝向(左/右半边),决定 x 侧倾符号
// child.right=dirNorm 在 2D 平面主要改变 z 轴旋转
// z<180(朝上半边)→负, z>=180(朝下半边)→正
vv.x = rotationPY * (vv.z < 180 ? -1 : 1);
// ⭐ 侧倾符号由路线方向一次判定(_routeDirX,起终点计算):
// 横向路线 向右→负/向左→正;曲线中段 dy 波动穿0不再翻号(±90闪已除)。
// 纯垂直路线(_routeDirX==0)回退用 dy(垂直游动恒号,稳定)
bool neg = _routeDirX != 0 ? _routeDirX > 0 : dirNorm.y >= 0f;
vv.x = rotationPY * (neg ? -1f : 1f);
child.eulerAngles = vv;
}
break;
@@ -837,7 +906,9 @@ public class MonsterContral : MonoBehaviour
{
child.right = -dirNorm;
var vv = child.eulerAngles;
vv.x = -rotationPY * (vv.z < 180 ? -1 : 1);
// ⭐ 同上:符号由路线方向一次判定,垂直路线回退用 dy
bool neg = _routeDirX != 0 ? _routeDirX > 0 : dirNorm.y <= 0f;
vv.x = -rotationPY * (neg ? -1f : 1f);
child.eulerAngles = vv;
}
break;
@@ -845,10 +916,11 @@ public class MonsterContral : MonoBehaviour
{
child.up = dirNorm;
var vv = child.eulerAngles;
// ⭐ 根据 z 轴角度判断鱼朝向(左/右半边),决定 y 侧倾符号
// child.up=dirNorm 在 2D 平面主要改变 z 轴旋转
// z<180(朝左半边)→负, z>=180(朝右半边)→正
vv.y = rotationPY * (vv.z < 180 ? -1 : 1);
// ⭐ 同上:符号由路线方向一次判定。
// 横向路线 向左→负/向右→正(与原 dx 判断语义一致且不再受波动影响);
// 纯垂直路线回退用 dy(上游→负/下游→正)
bool neg = _routeDirX != 0 ? _routeDirX < 0 : dirNorm.y >= 0f;
vv.y = rotationPY * (neg ? -1f : 1f);
child.eulerAngles = vv;
}
break;
@@ -856,7 +928,9 @@ public class MonsterContral : MonoBehaviour
{
child.up = -dirNorm;
var vv = child.eulerAngles;
vv.y = -rotationPY * (vv.z < 180 ? -1 : 1);
// ⭐ 同上:符号由路线方向一次判定,垂直路线回退用 dy
bool neg = _routeDirX != 0 ? _routeDirX > 0 : dirNorm.y <= 0f;
vv.y = -rotationPY * (neg ? -1f : 1f);
child.eulerAngles = vv;
}
break;
@@ -866,23 +940,41 @@ public class MonsterContral : MonoBehaviour
// 转向只动X分量 = -heading(唯一随路径变的轴);
// Y=90 固定摆平(鱼头从Z轴转到屏幕平面,初始化锁死);
// Z=rotationPY 绕鱼头轴的姿态偏移(不改鱼头方向)
// ⭐ 反面补偿:往左掉头(X分量≈180)时绕鱼头轴的透视偏移会镜像,
// z翻成180-z,保持与往右同一透视方向(背朝向一致)。
// 环形路线(绕圈跨中线两次)的鱼关掉useMirrorCompensate避免闪
float heading = Mathf.Atan2(dirNorm.y, dirNorm.x) * Mathf.Rad2Deg;
float rollZ = -rotationPY;
if (useMirrorCompensate && _defaultMirror) rollZ = 180f - rollZ;
float rollZ;
if (useRollSignFlip)
{
// ⭐ 原始语义:按路线左右纯符号翻转(向左→+rotationPY/向右→-rotationPY),
// 无180°翻转;_routeDirX 起终点一次判定,终身不变不闪
rollZ = _routeDirX < 0 ? rotationPY : -rotationPY;
}
else
{
// ⭐ 反面补偿模式:由路线方向一次判定(_routeDirX),向左路线才补偿。
// 原 _defaultMirror 每帧滞回,环形路线绕圈跨中线两次会来回翻转
// → 模型闪 + Y欧拉±90跳。环形路线起终点相同(_routeDirX==0)天然不补偿
rollZ = -rotationPY;
if (useMirrorCompensate && _routeDirX < 0) rollZ = 180f - rollZ;
}
child.rotation = Quaternion.Euler(-heading, 90f, rollZ);
}
break;
case FacingAxis.NegZ:
{
// ⭐ 鱼头=-Z:同样X分量转向,基准反向(+180);Z取-rotationPY
// ⭐ 反面补偿:鱼头朝右掉头(X分量≈180)时z翻180-z(与Z case条件相反);
// 环形路线的鱼关掉useMirrorCompensate避免绕圈闪
float heading = Mathf.Atan2(dirNorm.y, dirNorm.x) * Mathf.Rad2Deg;
float rollZ = -rotationPY;
if (useMirrorCompensate && !_defaultMirror) rollZ = 180f - rollZ;
float rollZ;
if (useRollSignFlip)
{
// ⭐ 原始语义(与Z case条件相反):向右→+rotationPY/向左→-rotationPY
rollZ = _routeDirX > 0 ? rotationPY : -rotationPY;
}
else
{
// ⭐ 反面补偿模式(与Z case条件相反):向右路线才补偿
rollZ = -rotationPY;
if (useMirrorCompensate && _routeDirX > 0) rollZ = 180f - rollZ;
}
child.rotation = Quaternion.Euler(-heading + 180f, 90f, rollZ);
}
break;
@@ -890,15 +982,86 @@ public class MonsterContral : MonoBehaviour
}
else
{
// 控制父物体自身朝向
// ⭐ 控制父物体自身朝向:与 ischild0 分支同款完整逻辑
// (侧倾符号由方向直接算 + Z/NegZ 连续构造 + 镜像补偿),
// 只是操作对象是 transform 自身——未勾 ischild0 的鱼(如鱼阵普通鱼)
// 同样获得防闪处理,不再只有一行式轴对齐
switch (_facingAxis)
{
case FacingAxis.X: transform.right = dirNorm; break;
case FacingAxis.NegX: transform.right = -dirNorm; break;
case FacingAxis.Y: transform.up = dirNorm; break;
case FacingAxis.NegY: transform.up = -dirNorm; break;
case FacingAxis.Z: transform.forward = dirNorm; break;
case FacingAxis.NegZ: transform.forward = -dirNorm; break;
case FacingAxis.X:
{
transform.right = dirNorm;
var vv = transform.eulerAngles;
// ⭐ 侧倾符号由路线方向一次判定(_routeDirX,起终点计算),垂直路线回退用 dy
bool neg = _routeDirX != 0 ? _routeDirX > 0 : dirNorm.y >= 0f;
vv.x = rotationPY * (neg ? -1f : 1f);
transform.eulerAngles = vv;
}
break;
case FacingAxis.NegX:
{
transform.right = -dirNorm;
var vv = transform.eulerAngles;
bool neg = _routeDirX != 0 ? _routeDirX > 0 : dirNorm.y <= 0f;
vv.x = -rotationPY * (neg ? -1f : 1f);
transform.eulerAngles = vv;
}
break;
case FacingAxis.Y:
{
transform.up = dirNorm;
var vv = transform.eulerAngles;
// ⭐ 同上:横向路线 向左→负/向右→正,垂直路线回退用 dy
bool neg = _routeDirX != 0 ? _routeDirX < 0 : dirNorm.y >= 0f;
vv.y = rotationPY * (neg ? -1f : 1f);
transform.eulerAngles = vv;
}
break;
case FacingAxis.NegY:
{
transform.up = -dirNorm;
var vv = transform.eulerAngles;
bool neg = _routeDirX != 0 ? _routeDirX > 0 : dirNorm.y <= 0f;
vv.y = -rotationPY * (neg ? -1f : 1f);
transform.eulerAngles = vv;
}
break;
case FacingAxis.Z:
{
// ⭐ 连续构造:转向只动X分量=-heading,Y=90固定摆平,Z=rotationPY
float heading = Mathf.Atan2(dirNorm.y, dirNorm.x) * Mathf.Rad2Deg;
float rollZ;
if (useRollSignFlip)
{
// ⭐ 原始语义:按路线左右纯符号翻转(向左→+rotationPY/向右→-rotationPY)
rollZ = _routeDirX < 0 ? rotationPY : -rotationPY;
}
else
{
// ⭐ 反面补偿模式:向左路线才补偿,环形(_routeDirX==0)不补偿
rollZ = -rotationPY;
if (useMirrorCompensate && _routeDirX < 0) rollZ = 180f - rollZ;
}
transform.rotation = Quaternion.Euler(-heading, 90f, rollZ);
}
break;
case FacingAxis.NegZ:
{
// ⭐ 鱼头=-Z:基准反向(+180);符号条件与Z case相反(向右路线)
float heading = Mathf.Atan2(dirNorm.y, dirNorm.x) * Mathf.Rad2Deg;
float rollZ;
if (useRollSignFlip)
{
rollZ = _routeDirX > 0 ? rotationPY : -rotationPY;
}
else
{
rollZ = -rotationPY;
if (useMirrorCompensate && _routeDirX > 0) rollZ = 180f - rollZ;
}
transform.rotation = Quaternion.Euler(-heading + 180f, 90f, rollZ);
}
break;
}
}
}
@@ -1170,7 +1170,7 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
{
var cfg = spawnDic[createFishData.fishNumber];
for (int i = 1; i <= 16; i++)
for (int i = 1; i <= 17; i++)
{
// 交替正负角度,形成扇形分布
float angle = i * 5f * (i % 2 == 0 ? -1f : 1f);
@@ -94,8 +94,11 @@ public class RoomPlayerInfo
/// <summary>玩家等级(后端 RoomInfo 下发)</summary>
public int level;
/// <summary>玩家经验(0~1,后端暂未下发,字段先占位等补充)</summary>
public float exp;
/// <summary>玩家当前经验(原始值)</summary>
public long exp;
/// <summary>升级所需总经验(经验条进度 = exp / maxExp)</summary>
public long maxExp;
/// <summary>卡牌等级</summary>
public int userCardLevel;
@@ -137,6 +140,15 @@ public class RoomPlayerInfo
/// </summary>
public object playerFactor;
/// <summary>累计充值金币</summary>
public long totalRechargeGold;
/// <summary>保险箱金币</summary>
public long safeBoxGold;
/// <summary>是否为机器人(后端下发)</summary>
public bool isBot;
/// <summary>是否挂机中</summary>
public bool isAfk;
}
@@ -39,9 +39,14 @@ namespace Assets.MyGame.Scripts.Net.WebResponses
public int Level { get; set; } = 0;
/// <summary>
/// 玩家经验(0~1,后端暂未下发,字段先占位等补充)
/// 玩家当前经验(原始值)
/// </summary>
public float Exp { get; set; } = 0f;
public long Exp { get; set; } = 0;
/// <summary>
/// 升级所需总经验(经验条进度 = exp / maxExp)
/// </summary>
public long MaxExp { get; set; } = 0;
/// <summary>
/// Vip等级
@@ -108,6 +113,21 @@ namespace Assets.MyGame.Scripts.Net.WebResponses
/// </summary>
public int State { get; set; } = 0;
/// <summary>
/// 玩家因子(后端风控/补偿参数,暂不解析具体结构)
/// </summary>
public object PlayerFactor { get; set; }
/// <summary>
/// 累计充值金币
/// </summary>
public long TotalRechargeGold { get; set; } = 0;
/// <summary>
/// 保险箱金币
/// </summary>
public long SafeBoxGold { get; set; } = 0;
/// <summary>
/// 是否为机器人
/// </summary>
@@ -190,6 +190,7 @@ namespace Assets.MyGame.Scripts.Net
p.isRedName = notice.IsRedName;
p.level = notice.Level;
p.exp = notice.Exp;
p.maxExp = notice.MaxExp;
p.vipLevel = notice.VipLevel;
p.cId = notice.CId;
p.gold = notice.Gold;
@@ -202,7 +203,11 @@ namespace Assets.MyGame.Scripts.Net
p.beginCoin = notice.BeginCoin;
p.beginTime = notice.BeginTime;
p.state = notice.State;
p.playerFactor = notice.PlayerFactor;
p.totalRechargeGold = notice.TotalRechargeGold;
p.safeBoxGold = notice.SafeBoxGold;
p.isBot = notice.IsBot;
p.isAfk = notice.IsAfk;
}
/// <summary>
+5 -4
View File
@@ -981,8 +981,9 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
/// <param name="vipLevel">VIP 等级 0~10</param>
/// <param name="userNumber">玩家编号(短ID,显示在 tmp_UserNumber;空则回退显示 userId)</param>
/// <param name="level">玩家等级(显示在 tmp_UserLevel)</param>
/// <param name="exp">玩家经验 0~1(显示在 slider_UserLevelEXP;后端暂未下发,先占位)</param>
public void SetUserInfo(string userId, string userName, string avatar, int vipLevel, string userNumber = null, int level = 0, float exp = 0f)
/// <param name="exp">玩家当前经验(原始值)</param>
/// <param name="maxExp">升级所需总经验(经验条进度 = exp / maxExp)</param>
public void SetUserInfo(string userId, string userName, string avatar, int vipLevel, string userNumber = null, int level = 0, long exp = 0, long maxExp = 0)
{
// 玩家 ID:优先显示后端下发的短编号 UserNumber,没有再用 userId。带 "ID:" 前缀
if (tmp_UserNumber != null)
@@ -1002,9 +1003,9 @@ public class SitPosData : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
if (tmp_UserLevel != null && level > 0)
tmp_UserLevel.text = "LV:" + level;
// 经验条:exp 为 0~1 的进度值(后端经验值字段暂未下发,明天补充后直接生效)
// 经验条:后端下发原始经验值 + 升级所需总经验,换算成 0~1 进度
if (slider_UserLevelEXP != null)
slider_UserLevelEXP.value = Mathf.Clamp01(exp);
slider_UserLevelEXP.value = maxExp > 0 ? Mathf.Clamp01((float)exp / maxExp) : 0f;
// 头像:优先 GameManager 头像缓存(Resources/Avatar),查不到用默认头像
if (img_Head != null)
@@ -206,7 +206,7 @@ PrefabInstance:
- target: {fileID: 551661212599852384, guid: cf762c0a6428e1c42b456cb87803660f,
type: 3}
propertyPath: m_LocalPosition.z
value: -50
value: 0
objectReference: {fileID: 0}
- target: {fileID: 551661212599852384, guid: cf762c0a6428e1c42b456cb87803660f,
type: 3}
@@ -6878,6 +6878,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 0
isNot1: 0
@@ -453,7 +453,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 0180faaabe140fe44a828d7e68b665fe, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 0180faaabe140fe44a828d7e68b665fe, type: 3}
propertyPath: m_TagString
@@ -631,6 +631,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -498,7 +498,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 773962850d4405447bb584bc3734b93b, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 773962850d4405447bb584bc3734b93b, type: 3}
propertyPath: m_TagString
@@ -670,6 +670,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -514,7 +514,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: e8de1e789364d344f862d822074c3f90, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: e8de1e789364d344f862d822074c3f90, type: 3}
propertyPath: m_TagString
@@ -688,6 +688,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -692,6 +692,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 80
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -166,7 +166,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: b3920823ccb1c1c42b1627122ebc589b, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: b3920823ccb1c1c42b1627122ebc589b, type: 3}
propertyPath: m_TagString
@@ -388,6 +388,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -186,7 +186,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 8bacb2ee1215ae947b449d8a5a60265c, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 8bacb2ee1215ae947b449d8a5a60265c, type: 3}
propertyPath: m_TagString
@@ -420,6 +420,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -698,7 +698,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 8959f0ac2011ea542b7d4e0e2e9aa0dc, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 8959f0ac2011ea542b7d4e0e2e9aa0dc, type: 3}
propertyPath: m_TagString
@@ -902,6 +902,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 1461200f483c12642a09ef755696d8c4, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 1461200f483c12642a09ef755696d8c4, type: 3}
propertyPath: m_TagString
@@ -205,6 +205,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 6f9ba87c0c298204597a3786e912d4f3, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 6f9ba87c0c298204597a3786e912d4f3, type: 3}
propertyPath: m_TagString
@@ -205,6 +205,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: b153e0a4abc0c664cb98ddf7afb53870, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: b153e0a4abc0c664cb98ddf7afb53870, type: 3}
propertyPath: m_TagString
@@ -211,6 +211,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -213,7 +213,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: d0d8725bed789824bb1b0462fde12f45, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: d0d8725bed789824bb1b0462fde12f45, type: 3}
propertyPath: m_TagString
@@ -365,6 +365,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 51618a9fa649dc84bbbb0f2b2ae34548, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 51618a9fa649dc84bbbb0f2b2ae34548, type: 3}
propertyPath: m_TagString
@@ -203,8 +203,9 @@ MonoBehaviour:
- {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: -90
rotationPY: 90
useMirrorCompensate: 1
useRollSignFlip: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -211,6 +211,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 90
useMirrorCompensate: 1
useRollSignFlip: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -213,7 +213,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 4760e9d2d74a347458314fcb191d6d8b, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 4760e9d2d74a347458314fcb191d6d8b, type: 3}
propertyPath: m_TagString
@@ -369,8 +369,9 @@ MonoBehaviour:
- {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: -90
rotationPY: 90
useMirrorCompensate: 1
useRollSignFlip: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -203,8 +203,9 @@ MonoBehaviour:
- {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: -90
rotationPY: 90
useMirrorCompensate: 1
useRollSignFlip: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 574ac90f80e643441b595de13ffc99fe, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 574ac90f80e643441b595de13ffc99fe, type: 3}
propertyPath: m_TagString
@@ -211,6 +211,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 1
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -109,7 +109,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 2795507d1f0204c489f2c5cbde35ee6d, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 2795507d1f0204c489f2c5cbde35ee6d, type: 3}
propertyPath: m_TagString
@@ -283,6 +283,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 30
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 10dcab870ce73d24abf17f9ea84712ad, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 10dcab870ce73d24abf17f9ea84712ad, type: 3}
propertyPath: m_TagString
@@ -205,6 +205,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -53,7 +53,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: d441aa2f2c0f8524e9a494199140b726, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: d441aa2f2c0f8524e9a494199140b726, type: 3}
propertyPath: m_TagString
@@ -205,6 +205,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: -90
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -344,6 +344,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -288,7 +288,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 438653ead4947f045942dbf7cadd9975, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: 438653ead4947f045942dbf7cadd9975, type: 3}
propertyPath: m_TagString
@@ -500,6 +500,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -544,7 +544,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: a87bdbcfa12d35644b5c34825a6e6591, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: a87bdbcfa12d35644b5c34825a6e6591, type: 3}
propertyPath: m_TagString
@@ -726,6 +726,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -879,7 +879,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: e4de03f3bbdf4d643b88a0ed7bd4df63, type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1709254077376921, guid: e4de03f3bbdf4d643b88a0ed7bd4df63, type: 3}
propertyPath: m_TagString
@@ -1077,6 +1077,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -458,6 +458,7 @@ MonoBehaviour:
createVideoClip: {fileID: 0}
rotationPY: 30
useMirrorCompensate: 1
useRollSignFlip: 0
useRouteFlipX: 1
baseMmove: 0
isRotate: 1
@@ -1688,10 +1688,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
bingDongEffect: {fileID: 0}
bingDongEffect:
- {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
useMirrorCompensate: 0
useRouteFlipX: 0
baseMmove: 0
isRotate: 0
isNot1: 0
@@ -1151,7 +1151,7 @@ MonoBehaviour:
type: 3}
laserWidth: 3
laserColor: {r: 1, g: 0.3, b: 0.3, a: 0.9}
laserLengthCorrect: 0.145
laserLengthCorrect: 0.16
turretNumber: 0
turretType: 1
displayName:
@@ -1175,12 +1175,15 @@ MonoBehaviour:
idleIndexParam: IdleIndex
fireIndex: 0
idleIndex: 0
obj_Add: {fileID: 0}
obj_Down: {fileID: 0}
JGQiuStartPrefab: {fileID: 5231972868284677812, guid: 725cdf85f0036814887eb994c5b86e45,
type: 3}
JGStartFXPrefab: {fileID: 1914373571847512854, guid: 08bdd22ff5f3c8a41a2d107d8945ebfb,
type: 3}
JGHitFXPrefab: {fileID: 6679671021820812065, guid: 805452aaf9c3b1c48a124faee3035613,
type: 3}
laserFXDelay: 0
selfOffsetJGStart: {x: 13, y: 203}
buttomOffsetZSRotateInit: {x: 0, y: 0, z: 0}
topOffsetZSRotateInit: {x: -125, y: 0, z: 0}
@@ -2659,8 +2659,8 @@ MonoBehaviour:
tmp_DJS: {fileID: 1760768290810762287}
btn_QueRen: {fileID: 8480788286452652466}
btn_QuXiao: {fileID: 4864175864556557908}
idleWarnSeconds: 10
idleExitCountdownSeconds: 60
idleExitTotalSeconds: 70
idleExitPanelShowSeconds: 10
sceneName: FLZY
gameType: 1
propConfigData: {fileID: 11400000, guid: 2d8fe2d5eb5e28e4daa6dda98ef29515, type: 2}
@@ -5176,7 +5176,7 @@ PrefabInstance:
- target: {fileID: 3429558903206714841, guid: 6c8512965de208f498306fbdfeb8eb5b,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3783151213167614958, guid: 6c8512965de208f498306fbdfeb8eb5b,
type: 3}
@@ -5186,7 +5186,7 @@ PrefabInstance:
- target: {fileID: 3783151213167614958, guid: 6c8512965de208f498306fbdfeb8eb5b,
type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5494969937974881520, guid: 6c8512965de208f498306fbdfeb8eb5b,
type: 3}
@@ -762,7 +762,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
#region 无操作自动退出(60秒静默 → 最后10秒倒计时面板 → 70秒自动回大厅)
/// <summary>
/// ⭐ 每帧记录玩家操作(触摸/鼠标/键盘,含 UI 点击),超时自动走离房流程回大厅。
/// ⭐ 每帧记录玩家操作,超时自动走离房流程回大厅。
/// 操作判定 = 屏幕输入(触摸/鼠标/键盘,含 UI 点击)**或** 自动游玩状态
/// (锁定中自动锁定/开火、自动攻击中——不能只看屏幕点击,详见 IsLocalPlayerAutoPlaying)。
/// 机器人/其他玩家的同步数据不算操作;退出确认面板开着时超时同样生效。
/// 只在资源加载完成后计时(加载慢不会被踢);离房流程进行中不重复触发。
/// 流程:前 idleExitTotalSeconds - idleExitPanelShowSeconds(默认60秒)全程无提示
@@ -778,8 +780,9 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
return;
}
// 任何触摸/鼠标/键盘输入(含点在 UI 上)都算一次操作
if (IsAnyOperationThisFrame())
// ⭐ 操作判定①:任何触摸/鼠标/键盘输入(含点在 UI 上)
// 操作判定②:锁定/自动攻击中(炮台自动打鱼,玩家不碰屏幕也算在玩)
if (IsAnyOperationThisFrame() || IsLocalPlayerAutoPlaying())
{
_lastOperationTime = Time.realtimeSinceStartup;
// 有操作 → 立即隐藏倒计时面板
@@ -868,6 +871,26 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
return keyboard != null && keyboard.anyKey.isPressed;
}
/// <summary>
/// ⭐ 本地玩家是否处于"自动游玩"状态(与 HandleAutoFire 的 needAutoFire 同判定):
/// - 锁定模式:锁定开关开着且有锁定目标(炮台自动锁定/旋转/开火)
/// - 自动攻击模式:toggle_AutoAttack 开着
/// 这些模式下玩家不碰屏幕也在正常游戏,不算无操作。
/// 只判断本地玩家 currSitData,其他玩家/机器人的状态不算。
/// </summary>
private bool IsLocalPlayerAutoPlaying()
{
if (currSitData == null) return false;
// 锁定模式:开关开着 && 有锁定目标(lockFX 激活)
if (toggle_Lock != null && toggle_Lock.isOn
&& currSitData.isLock
&& currSitData.lockFX != null && currSitData.lockFX.gameObject.activeSelf)
return true;
// 自动攻击模式
if (currSitData.IsAutoAttackOn) return true;
return false;
}
/// <summary>开始无操作计时(LoadResources 完成后调用,计时从当前时刻重新起算)</summary>
private void ArmIdleAutoExit()
{
@@ -4380,7 +4403,7 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
var playerInfo = GameManager.Instance.gameData?.currRoomData?.players?
.Find(p => p.userId == sit.user);
sit.SetUserInfo(sit.user, playerInfo?.userName, playerInfo?.avatar, playerInfo?.vipLevel ?? 0,
playerInfo?.userNumber, playerInfo?.level ?? 0, playerInfo?.exp ?? 0f);
playerInfo?.userNumber, playerInfo?.level ?? 0, playerInfo?.exp ?? 0, playerInfo?.maxExp ?? 0);
// ⭐ 记录金币流水:已加钱(进房设置初始金币,本地已执行)
GameManager.LogGoldFlowAppliedGain("JoinGame", $"座位={sitNum} 初始金币={goldNum} 钻石={diamondNum} 炮台消耗={consumeGold} 房间={GameManager.Instance.gameData?.currRoomData?.roomId}");
+5
View File
@@ -33,6 +33,11 @@ PrefabInstance:
propertyPath: m_SortingLayer
value: 0
objectReference: {fileID: 0}
- target: {fileID: 583385851353875695, guid: 509192cd5f627cf409a54e9be694a24d,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 700620470412138326, guid: 509192cd5f627cf409a54e9be694a24d,
type: 3}
propertyPath: m_SortingLayer
+11 -1
View File
@@ -263,6 +263,11 @@ PrefabInstance:
propertyPath: m_SortingLayer
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2501852592714539457, guid: c9c177e60fd350e49844955f7e8a5874,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2529296075173687928, guid: c9c177e60fd350e49844955f7e8a5874,
type: 3}
propertyPath: m_Enabled
@@ -821,7 +826,7 @@ PrefabInstance:
- target: {fileID: 7174415798860459626, guid: c9c177e60fd350e49844955f7e8a5874,
type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7197570934880071131, guid: c9c177e60fd350e49844955f7e8a5874,
type: 3}
@@ -983,6 +988,11 @@ PrefabInstance:
propertyPath: m_Name
value: "\u5DE6\u4E0A"
objectReference: {fileID: 0}
- target: {fileID: 8778181611502174189, guid: c9c177e60fd350e49844955f7e8a5874,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8785138367634859364, guid: c9c177e60fd350e49844955f7e8a5874,
type: 3}
propertyPath: m_LocalScale.y
+6 -6
View File
@@ -185,8 +185,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 131.37505, y: -4.424999}
m_SizeDelta: {x: 60, y: 12}
m_AnchoredPosition: {x: 125.45132, y: -4.424999}
m_SizeDelta: {x: 59.0021, y: 12}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2701583448577859658
MonoBehaviour:
@@ -3381,7 +3381,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 216.8, y: -2.3}
m_AnchoredPosition: {x: 207.2, y: -2.3}
m_SizeDelta: {x: 87, y: 13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2271467992873135901
@@ -3412,7 +3412,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: ID:1234567
m_text: ID:12345678
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2}
m_sharedMaterial: {fileID: 3593458263369068374, guid: 5d4a713fdd931db4c9ce49f068b54e0a,
@@ -5062,7 +5062,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 53.000183, y: 69.6}
m_AnchoredPosition: {x: 44.1, y: 69.6}
m_SizeDelta: {x: 88, y: 88}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6645034468252132292
@@ -5818,7 +5818,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 69.9, y: -2.3000078}
m_AnchoredPosition: {x: 64.59997, y: -2.3000078}
m_SizeDelta: {x: 38, y: 13.149}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4580168597633069950