diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab index a93fb7b1a..f5dcc70aa 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab @@ -235,17 +235,30 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5e5dca86a57fe2144a34f1f2ddb93962, type: 3} m_Name: m_EditorClassIdentifier: + beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12004 @@ -256,9 +269,19 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: + colliderList: [] + lockPoint: {fileID: 0} + bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} + rotationPY: 60 + baseMmove: 0 isRotate: 1 + isNot1: 0 + ischild0: 0 + depthOffset: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1000.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1000.prefab index a0d02dbd6..f2569adcb 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1000.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1000.prefab @@ -94476,16 +94476,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12026 @@ -94504,8 +94516,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -94520,6 +94535,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1342219384832420 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab index 13f2996e5..6404b0e7b 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab @@ -5157,16 +5157,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12011 @@ -5177,15 +5189,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab index 430526c3a..bc3010470 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab @@ -2577,16 +2577,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12025 @@ -2597,15 +2609,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab index c39b4381b..1a830b961 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12014 @@ -67,15 +79,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab index 3a207b719..53b0c5faa 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab @@ -171,16 +171,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12016 @@ -191,15 +203,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab index 0429f4b88..9905eb9e1 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab @@ -275,16 +275,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12015 @@ -295,15 +307,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab index e7991a542..f1003cb7e 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab @@ -236,16 +236,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12012 @@ -256,15 +268,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab index ef881917b..b7998b7cd 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12013 @@ -67,15 +79,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab index 52382439e..790ce7e4b 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12010 @@ -67,15 +79,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab index cadff16f2..f554cbd9a 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab @@ -81,16 +81,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12017 @@ -101,15 +113,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab index 809011ef3..733a7fc3e 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab @@ -4820,16 +4820,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12018 @@ -4840,15 +4852,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab index fe5956a90..3d6a6af9e 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab @@ -2508,16 +2508,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12019 @@ -2528,15 +2540,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_112.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_112.prefab index dc26df4cd..490562c9c 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_112.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_112.prefab @@ -9924,16 +9924,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12024 @@ -9952,8 +9964,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -9968,6 +9983,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1686538788857643 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_113.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_113.prefab index 75f57059c..9f57ef693 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_113.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_113.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12023 @@ -75,8 +87,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -91,6 +106,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1510349609859810 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_114.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_114.prefab index d3a52406b..471e12312 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_114.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_114.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12022 @@ -75,8 +87,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -91,6 +106,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1420488802914014 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_115.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_115.prefab index c7b70a210..0491b86a1 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_115.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_115.prefab @@ -4757,16 +4757,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12034 @@ -4785,8 +4797,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -4801,6 +4816,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1051144311364905 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab index 13b7a3b35..63370bad9 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab @@ -152,16 +152,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12001 @@ -172,15 +184,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2000.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2000.prefab index 06a7edb09..559627ed9 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2000.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2000.prefab @@ -257,16 +257,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 0 @@ -285,8 +297,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -301,6 +316,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1906073984553799 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab index acd53a86c..b8eaa33d8 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12006 @@ -67,15 +79,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3000.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3000.prefab index ae96bc9a0..fdd6247e6 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3000.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3000.prefab @@ -381,16 +381,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 0 @@ -409,8 +421,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -425,6 +440,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1966902332286633 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab index 74cd417fe..f22693307 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab @@ -4990,16 +4990,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12021 @@ -5010,15 +5022,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab index 49e98d6e9..6df04f236 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab @@ -2405,16 +2405,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12020 @@ -2425,15 +2437,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab index 316efb3ae..72485f368 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab @@ -152,16 +152,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12003 @@ -172,15 +184,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4000.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4000.prefab index 13d089f28..f845814ba 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4000.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4000.prefab @@ -111026,16 +111026,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12029 @@ -111054,8 +111066,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -111070,6 +111085,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1674767965698531 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab index 51d1bc23b..3829f3c06 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab @@ -152,16 +152,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12009 @@ -172,15 +184,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5000.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5000.prefab index 442d4d789..438ba7602 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5000.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5000.prefab @@ -54262,16 +54262,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 0 @@ -54290,8 +54302,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -54306,6 +54321,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1140020597219083 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab index a03f9e074..3ac1956db 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab @@ -132,16 +132,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12005 @@ -152,15 +164,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6000.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6000.prefab index b12211393..9e6388bf7 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6000.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6000.prefab @@ -173932,16 +173932,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12031 @@ -173960,8 +173972,11 @@ MonoBehaviour: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 - isRotate: 1 + baseMmove: 0 + isRotate: 0 isNot1: 0 ischild0: 0 depthOffset: 0 @@ -173976,6 +173991,8 @@ MonoBehaviour: isDieFish: 0 dieTime: 3 v3: {x: 0, y: 0, z: 0} + isLocalCoin: 0 + killerSitPos: -1 --- !u!1 &1859942215565796 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab index 65bbfbbab..d6a2eff13 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab @@ -47,16 +47,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12007 @@ -67,15 +79,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab index b415ce0bb..bb85d7083 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab @@ -237,16 +237,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12008 @@ -257,15 +269,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab index b723b50c7..15d9a98a9 100644 --- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab +++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab @@ -2550,16 +2550,28 @@ MonoBehaviour: m_EditorClassIdentifier: beilv: 0 guid: + lastMoveLineId: monsterData: die_Score: 0 isDie: 0 fishTypeConfig: fishNumber: fishName: + fishBrief: fishType: 0 fishScore: 0 killWeight: 0 pathList: + fishImage: + fishMultipleDesc: + moveLine: + bezierCurveData: + name: + start: {x: 0, y: 0} + controlPoints: [] + end: {x: 0, y: 0} + moveTime: 0 + moveSpeed: 0 skeleton: {fileID: 0} isSpine: 1 fishTypeID: 12002 @@ -2570,15 +2582,18 @@ MonoBehaviour: currEffect_DieAward: {fileID: 0} isMove: 1 is3D: 0 - forwordXYZ: + forwordXYZ: -Y fishenum: 1 moveTime: 0 - isyz: 0 + isyz: 1 yzID: colliderList: [] lockPoint: {fileID: 0} bingDongEffect: {fileID: 0} + needLockEvent: 0 + createVideoClip: {fileID: 0} rotationPY: 60 + baseMmove: 0 isRotate: 1 isNot1: 0 ischild0: 0 diff --git a/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs b/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs index 34920852b..29579d61b 100644 --- a/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs +++ b/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs @@ -47,6 +47,13 @@ public class MonsterContral : MonoBehaviour /// 本鱼唯一标识(服务器下发的 GUID) public string guid; + /// + /// ⭐ 是否已完成 Init(路线/guid/moveTime 已赋值)。 + /// false=池回收后未初始化,OnEnable 不应执行 OnMoveUpdata,避免旧 moveTime/moveLine 误触发销毁 + /// true=Init 已调用,可以正常 Update + /// + protected bool isInitialized = false; + /// 当前鱼使用的路线 ID(Init 时保存,用于房主把活鱼广播给新加入玩家) public string lastMoveLineId; @@ -241,7 +248,14 @@ public class MonsterContral : MonoBehaviour _createVideoDuration = 0f; _isPlayingCreateVideo = false; InitAnimList(); - ChangeState(CharacterStateType.move); + + // ⭐ 池回收的鱼(isInitialized=false)不立即 ChangeState(move), + // 避免 OnMoveUpdata 用旧 moveTime/moveLine 误触发 Id_DieFish_NotFX + // Init 调用后会设置 isInitialized=true 并 ChangeState(move) + if (isInitialized) + { + ChangeState(CharacterStateType.move); + } // ⭐ 同步冰冻特效状态:池回收的鱼 bingDongEffect 可能残留激活状态, // 重新生成时会显示白色冰冻蒙皮。根据当前是否冰冻中决定显隐 @@ -267,7 +281,8 @@ public class MonsterContral : MonoBehaviour { if (CreateFishManager.Instance == null) return; - + // ⭐ 重置初始化标志:鱼被回收后需要重新 Init 才能正常 Update + isInitialized = false; } // ================================================================ @@ -329,6 +344,10 @@ public class MonsterContral : MonoBehaviour // - 普通鱼走父类 Init,但普通鱼一般不配 createVideo // OnMoveUpdata 会检测 createVideo.isPlaying,视频播放期间不移动 + // ⭐ 标记已初始化,并启动 move 状态(OnEnable 里 isInitialized=false 时不会 ChangeState) + isInitialized = true; + ChangeState(CharacterStateType.move); + // 路径结束后自动销毁 //StartCoroutine(yanchi(gameObject, time, isyuzhen)); } @@ -363,6 +382,10 @@ public class MonsterContral : MonoBehaviour public void OnUpdate(CharacterStateType stateType) { if (!isMove) return; + // ⭐ 池回收的鱼(isInitialized=false)不执行移动逻辑, + // 避免 currState 残留为 move 时用旧 guid/moveLine 误触发 Id_DieFish_NotFX + // Init 调用后会设置 isInitialized=true + if (!isInitialized) return; switch (stateType) { @@ -416,6 +439,10 @@ public class MonsterContral : MonoBehaviour } if (moveTime>=monsterData.moveLine.moveTime) { + // ⭐ 路径走完后立即停止移动,防止 Id_DieFish_NotFX 每帧重复触发 + // (野鱼 guid 已被覆盖时,Id_DieFish_NotFX 会 NOT_FOUND,但 moveTime 一直 >= moveTime, + // 不停止的话每帧都会调用,产生海量 NOT_FOUND 日志) + isMove = false; CreateFishManager.Instance.Id_DieFish_NotFX(guid); } } diff --git a/Assets/MyGame/Scripts/Manager/CreateFishManager.cs b/Assets/MyGame/Scripts/Manager/CreateFishManager.cs index 7d2f6f1b6..74adf063e 100644 --- a/Assets/MyGame/Scripts/Manager/CreateFishManager.cs +++ b/Assets/MyGame/Scripts/Manager/CreateFishManager.cs @@ -205,6 +205,13 @@ public class CreateFishManager : MonoSingleton // fangzhu 字段已删除:鱼创建改由服务端 OnFishSpawn 统一下发,客户端无需房主出鱼 public bool isResources = false; + + /// + /// 鱼阵实例全局计数器,每次 SpawnFishArray 递增。 + /// 用于生成全局唯一 guid,防止 pathList 重复 pathId 或同 fishId 多次推送导致 guid 冲突。 + /// guid 格式: baseGuid_arraySeq_i (如 16501_3_1),arraySeq 每次鱼阵递增,确保唯一。 + /// + private int _fishArraySeq = 0; // ================================================================ // 懒加载属性 // ================================================================ @@ -657,9 +664,13 @@ public class CreateFishManager : MonoSingleton string guid = item.fishId.ToString(); // guid 去重:已有此 guid 的鱼跳过 + // ⭐ 鱼阵鱼的 guid 是 baseGuid_pathId_i 格式,字典里没有 baseGuid 本身, + // 所以要额外检查是否有以 baseGuid+"_" 开头的 key,防止 sync 模式重复出鱼 + // 导致 guid 冲突覆盖(旧鱼变野鱼无法销毁) if (!string.IsNullOrEmpty(guid) && fishDatas_hashCodekey != null && - fishDatas_hashCodekey.ContainsKey(guid)) + (fishDatas_hashCodekey.ContainsKey(guid) || + fishDatas_hashCodekey.Keys.Any(k => k.StartsWith(guid + "_")))) continue; // 构造 FrameData_CreateFish 复用 SpawnFishMainThread @@ -871,8 +882,27 @@ public class CreateFishManager : MonoSingleton /// 将鱼实例注册到全局字典及对应分类字典。 private void RegisterFishInstance(MonsterContral mc, int fishTypeId) { + // ⭐ 检测 guid 冲突:如果 guid 已存在,说明有重复出鱼(可能是 sync 模式重发), + // 旧鱼会被覆盖变成野鱼(无法通过 Id_DieFish_NotFX 销毁) + if (fishDatas_hashCodekey.TryGetValue(mc.guid, out var existing) && existing != null && existing != mc) + { + Debug.LogWarning($"[CreateFishManager] guid 冲突! guid={mc.guid}, 旧鱼={existing.gameObject.name} 被新鱼={mc.gameObject.name} 覆盖"); + GameManager.LogFishFlow("COLLISION", mc.guid, + $"旧鱼={existing.gameObject.name}(instId={existing.GetInstanceID()}) 被新鱼={mc.gameObject.name}(instId={mc.GetInstanceID()}) 覆盖,旧鱼强制回收", + mc.GetInstanceID()); + + // ⭐ 旧鱼强制回收:被覆盖的旧鱼 GameObject 还活着但字典里已找不到, + // 会变成野鱼永远停在屏幕上。这里主动回收旧鱼,避免泄漏 + existing.isMove = false; // 停止移动,防止 OnMoveUpdata 继续跑 + Pool.Instance.Return(existing.gameObject); + } fishDatas_hashCodekey[mc.guid] = mc; + // ⭐ 记录创建日志:包含 fishNumber/isyz/yzID/instId/dictCount,用于排查鱼阵鱼无法销毁 + GameManager.LogFishFlow("CREATE", mc.guid, + $"fishNumber={mc.monsterData?.fishTypeConfig?.fishNumber} type={fishTypeId} isyz={mc.isyz} yzID={mc.yzID} dictCount={fishDatas_hashCodekey.Count}", + mc.GetInstanceID()); + switch (fishTypeId) { case 1: // 普通鱼 @@ -937,6 +967,14 @@ public class CreateFishManager : MonoSingleton return; } + // ⭐ 日志:记录鱼阵入口,排查 pathList 重复导致 guid 冲突 + GameManager.LogFishFlow("ARRAY_ENTER", createFishData.guid, + $"arrayNumber={yz.arrayNumber} fishNumber={yz.fishNumber} fishCount={yz.fishCount} pathList=[{string.Join(",", pathList)}] dictCount={fishDatas_hashCodekey.Count}"); + + // ⭐ 递增鱼阵实例计数器,用于生成全局唯一 guid + // 防止 pathList 中 pathId 重复,或同 fishId 多次推送导致 guid 冲突 + int arraySeq = ++_fishArraySeq; + var prefab = FishResourcesData.GetFishPrefab(int.Parse(fishType.fishNumber)); var pos = new Vector3(9999, 9999, 0); @@ -949,12 +987,12 @@ public class CreateFishManager : MonoSingleton switch (prefix) { case "700": // 扇形阵:逐条延迟生成 - StartCoroutine(IeShanXing(createFishData, yz, pos, prefab, pathList, time, yz.fishCount)); + StartCoroutine(IeShanXing(createFishData, yz, pos, prefab, pathList, time, yz.fishCount, arraySeq)); break; case "701": // 环形阵:同帧同路径全部生成 foreach (int pathId in pathList) - Quan(createFishData, yz, pos, prefab, pathId, yz.fishCount, time); + Quan(createFishData, yz, pos, prefab, pathId, yz.fishCount, time, arraySeq); break; case "702": @@ -985,7 +1023,7 @@ public class CreateFishManager : MonoSingleton /// 扇形阵:按路线列表逐条延迟 0.8s 生成一扇。 private IEnumerator IeShanXing(FrameData_CreateFish createFishData, FishArrayConfig yz, - Vector3 pos, GameObject prefab, List pathList, long time, int count) + Vector3 pos, GameObject prefab, List pathList, long time, int count, int arraySeq) { foreach (int pathId in pathList) { @@ -993,16 +1031,13 @@ public class CreateFishManager : MonoSingleton { yield break; } - ShanXing(createFishData, yz, pos, prefab, pathId, count, time); + ShanXing(createFishData, yz, pos, prefab, pathId, count, time, arraySeq); yield return new WaitForSeconds(0.8f); } } - /// - /// 扇形阵单扇:生成 16 条鱼,每条旋转角度递增(±5°交替),模拟扇形展开。 - /// private void ShanXing(FrameData_CreateFish createFishData, FishArrayConfig yz, - Vector3 pos, GameObject prefab, int pathId, int count, long time) + Vector3 pos, GameObject prefab, int pathId, int count, long time, int arraySeq) { var cfg = spawnDic[createFishData.fishNumber]; @@ -1019,7 +1054,9 @@ public class CreateFishManager : MonoSingleton var mc = fish.GetComponent(); mc.monsterData.fishTypeConfig = FishDatas[yz.fishNumber]; - mc.guid = createFishData.guid + i; + // ⭐ guid 用 arraySeq 替代 pathId:arraySeq 每次鱼阵递增,全局唯一, + // 防止 pathList 重复 pathId 或同 fishId 多次推送导致 guid 冲突 + mc.guid = createFishData.guid + "_" + arraySeq + "_" + i; RegisterFishInstance(mc, FishDatas[yz.fishNumber].fishType); mc.moveTime = (BeijingTimeManager.Instance.CurrentTimestampMs - time) / 1000f; @@ -1032,7 +1069,7 @@ public class CreateFishManager : MonoSingleton /// 环形阵:在同一路径上生成 count 条鱼,角度均匀分布(360/count)。 /// private void Quan(FrameData_CreateFish createFishData, FishArrayConfig yz, - Vector3 pos, GameObject prefab, int pathId, int count, long time) + Vector3 pos, GameObject prefab, int pathId, int count, long time, int arraySeq) { if (count <= 0) return; var cfg = spawnDic[createFishData.fishNumber]; @@ -1048,7 +1085,9 @@ public class CreateFishManager : MonoSingleton var mc = fish.GetComponent(); mc.monsterData.fishTypeConfig = FishDatas[yz.fishNumber]; - mc.guid = createFishData.guid + i; + // ⭐ guid 用 arraySeq 替代 pathId:arraySeq 每次鱼阵递增,全局唯一, + // 防止 pathList 重复 pathId 或同 fishId 多次推送导致 guid 冲突 + mc.guid = createFishData.guid + "_" + arraySeq + "_" + i; RegisterFishInstance(mc, FishDatas[yz.fishNumber].fishType); mc.moveTime = (BeijingTimeManager.Instance.CurrentTimestampMs - time) / 1000f; @@ -1318,7 +1357,17 @@ public class CreateFishManager : MonoSingleton /// public void Id_DieFish_NotFX(string fishId) { - if (!fishDatas_hashCodekey.TryGetValue(fishId, out var monster)) return; + if (!fishDatas_hashCodekey.TryGetValue(fishId, out var monster)) + { + Debug.LogWarning($"[CreateFishManager] Id_DieFish_NotFX 找不到鱼: fishId={fishId}, 字典数量={fishDatas_hashCodekey.Count}"); + // ⭐ 记录找不到鱼日志:这是bug的核心症状。附带 baseGuid 前缀匹配,看是否存在 guid 格式不一致 + string baseGuid = fishId.Contains("_") ? fishId.Split('_')[0] : fishId; + var similarKeys = fishDatas_hashCodekey.Keys.Where(k => k.StartsWith(baseGuid)).Take(10).ToList(); + string similarStr = similarKeys.Count > 0 ? string.Join(",", similarKeys) : "(无)"; + GameManager.LogFishFlow("NOT_FOUND", fishId, + $"dictCount={fishDatas_hashCodekey.Count} baseGuid={baseGuid} 相似key={similarStr}"); + return; + } Pool.Instance.Return(monster.gameObject); switch (monster.fishenum) { @@ -1346,6 +1395,11 @@ public class CreateFishManager : MonoSingleton } fishDatas_hashCodekey.Remove(fishId); + // ⭐ 记录成功回收日志 + GameManager.LogFishFlow("REMOVE", fishId, + $"fishNumber={monster.monsterData?.fishTypeConfig?.fishNumber} isyz={monster.isyz} yzID={monster.yzID} dictCount={fishDatas_hashCodekey.Count}", + monster.GetInstanceID()); + #if UNITY_EDITOR // ⭐ 同步移除调试 List fishList_All.Remove(monster); @@ -1364,7 +1418,17 @@ public class CreateFishManager : MonoSingleton /// public void Id_DieFish_FX(string fishId, RedPacketRecord coinNum, Vector3 v3Point, bool isLocal = false) { - if (!fishDatas_hashCodekey.TryGetValue(fishId, out var monster)) return; + if (!fishDatas_hashCodekey.TryGetValue(fishId, out var monster)) + { + // ⭐ 记录找不到鱼日志(带特效击杀路径) + GameManager.LogFishFlow("NOT_FOUND", fishId, $"路径=Id_DieFish_FX dictCount={fishDatas_hashCodekey.Count}"); + return; + } + // ⭐ 记录带特效击杀日志 + GameManager.LogFishFlow("KILL_FX", fishId, + $"fishNumber={monster.monsterData?.fishTypeConfig?.fishNumber} isyz={monster.isyz} yzID={monster.yzID} dictCount={fishDatas_hashCodekey.Count}", + monster.GetInstanceID()); + if (false) { AudioManager.Instance.PlayerFX(60004); @@ -1444,7 +1508,7 @@ public class CreateFishManager : MonoSingleton /// /// 不依赖鱼,只在屏幕内随机一个位置生成金币特效,然后飞回指定点。 /// - private void SpawnRandomCoinFX(RedPacketRecord coinNum, Vector3 targetWorldPos, bool isLocal = false) + public void SpawnRandomCoinFX(RedPacketRecord coinNum, Vector3 targetWorldPos, bool isLocal = false) { // 1. 随机一个屏幕坐标 Vector2 screenPos = new Vector2( diff --git a/Assets/MyGame/Scripts/Manager/GameManager.cs b/Assets/MyGame/Scripts/Manager/GameManager.cs index 9365b0101..a7454473c 100644 --- a/Assets/MyGame/Scripts/Manager/GameManager.cs +++ b/Assets/MyGame/Scripts/Manager/GameManager.cs @@ -264,6 +264,7 @@ public class GameManager : MonoSingleton private StreamWriter _logFileWriter; private StreamWriter _goldFlowWriter; + private StreamWriter _fishFlowWriter; private void InitLogFileWriter() { @@ -277,6 +278,7 @@ public class GameManager : MonoSingleton Debug.Log($"[GameManager] 日志文件已创建: {logPath}"); InitGoldFlowWriter(logDir); + InitFishFlowWriter(logDir); } catch (Exception e) { @@ -284,6 +286,28 @@ public class GameManager : MonoSingleton } } + private void InitFishFlowWriter(string logDir) + { + try + { + string fishLogPath = Path.Combine(logDir, "鱼生命周期_" + DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".log"); + _fishFlowWriter = new StreamWriter(fishLogPath, true) { AutoFlush = true }; + + _fishFlowWriter.WriteLine($"# 鱼生命周期日志 - 启动于 {DateTime.Now:yyyy-MM-dd HH:mm:ss}"); + _fishFlowWriter.WriteLine($"# 当前玩家: {user?.BaseInfo?.userName ?? "未登录"}({user?.id ?? "未登录"})"); + _fishFlowWriter.WriteLine($"# 说明: 记录鱼的创建/注册、回收/销毁、guid冲突、找不到鱼等事件,用于排查鱼阵鱼无法销毁的问题"); + _fishFlowWriter.WriteLine($"# 分类: CREATE=创建注册 | REMOVE=成功回收 | NOT_FOUND=找不到鱼(异常) | KILL_FX=带特效击杀 | COLLISION=guid冲突 | POOL_GET=从池复用 | POOL_NEW=新建实例 | POOL_RETURN=回收到池"); + _fishFlowWriter.WriteLine($"# 格式: 时间|service=client|INFO|FishFlow|[分类] guid=xxx instId=xxx 描述 dictCount=xxx"); + _fishFlowWriter.WriteLine(new string('-', 80)); + + Debug.Log($"[GameManager] 鱼生命周期日志文件已创建: {fishLogPath}"); + } + catch (Exception e) + { + Debug.LogError($"[GameManager] 初始化鱼生命周期日志失败: {e.Message}"); + } + } + private void InitGoldFlowWriter(string logDir) { try @@ -345,6 +369,11 @@ public class GameManager : MonoSingleton try { _goldFlowWriter.Flush(); _goldFlowWriter.Close(); } catch { } _goldFlowWriter = null; } + if (_fishFlowWriter != null) + { + try { _fishFlowWriter.Flush(); _fishFlowWriter.Close(); } catch { } + _fishFlowWriter = null; + } } #endif @@ -423,6 +452,47 @@ public class GameManager : MonoSingleton } #endif + // ============================ 鱼生命周期日志(排查鱼阵鱼无法销毁问题) ============================ + // 分类: + // CREATE 鱼创建并注册到字典(RegisterFishInstance) + // REMOVE 鱼从字典成功移除(Id_DieFish_NotFX 成功路径) + // NOT_FOUND 找不到鱼(Id_DieFish_NotFX 失败路径 —— 这就是bug) + // KILL_FX 带特效击杀(Id_DieFish_FX) + // COLLISION guid 冲突(新鱼覆盖旧鱼,旧鱼变野鱼) + // POOL_GET 从池复用鱼对象 + // POOL_NEW 新建鱼实例(池中没有) + // POOL_RETURN 回收鱼对象到池 + // + // 控制方式同金币流水: ENABLE_LOG_FILE 编译时 + enableLogFile 运行时 + + /// + /// 记录鱼生命周期事件。instId 传 0 表示不需要实例ID。 + /// + [System.Diagnostics.Conditional("ENABLE_LOG_FILE")] + public static void LogFishFlow(string category, string guid, string description, int instId = 0) + { +#if ENABLE_LOG_FILE + WriteFishFlow(category, guid, description, instId); +#endif + } + +#if ENABLE_LOG_FILE + /// 鱼生命周期核心写入(私有) + private static void WriteFishFlow(string category, string guid, string description, int instId) + { + var inst = Instance; + if (inst == null || !inst.enableLogFile || inst._fishFlowWriter == null) return; + try + { + string timeStr = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + string instStr = instId > 0 ? $" instId={instId}" : ""; + // dictCount 从 CreateFishManager 取,这里只负责写文件 + inst._fishFlowWriter.WriteLine($"{timeStr}|service=client|INFO|FishFlow|[{category}] guid={guid}{instStr} {description}"); + } + catch { } + } +#endif + public async Task InItLoad() { await TurretResourcesData.LoadTurretAssetsData(); diff --git a/Assets/MyGame/Scripts/Net/APIManager.cs b/Assets/MyGame/Scripts/Net/APIManager.cs index 860551195..bb8965b6e 100644 --- a/Assets/MyGame/Scripts/Net/APIManager.cs +++ b/Assets/MyGame/Scripts/Net/APIManager.cs @@ -24,9 +24,9 @@ namespace Assets.MyGame.Scripts.Net public const string baseURL = "http://47.109.132.12"; #else - public const string baseURL = "http://47.109.132.12"; + //public const string baseURL = "http://47.109.132.12"; - //public const string baseURL = "http://47.109.34.50"; + public const string baseURL = "http://47.109.34.50"; #endif diff --git a/Assets/MyGame/Scripts/Net/WebSocketManager.cs b/Assets/MyGame/Scripts/Net/WebSocketManager.cs index 75f16149a..de26b0808 100644 --- a/Assets/MyGame/Scripts/Net/WebSocketManager.cs +++ b/Assets/MyGame/Scripts/Net/WebSocketManager.cs @@ -38,9 +38,9 @@ namespace Assets.MyGame.Scripts.Net private const string baseUrl = "ws://47.109.132.12"; #else - private const string baseUrl = "ws://47.109.132.12"; + //private const string baseUrl = "ws://47.109.132.12"; - //private const string baseUrl = "ws://47.109.34.50"; + private const string baseUrl = "ws://47.109.34.50"; #endif public bool isGame = false; diff --git a/Assets/MyGame/aa/Game/HHWK/MonsterTSY/ZDX/HHWK_ZDX_DieEvent.cs b/Assets/MyGame/aa/Game/HHWK/MonsterTSY/ZDX/HHWK_ZDX_DieEvent.cs index 9d67cf1c0..205df5b11 100644 --- a/Assets/MyGame/aa/Game/HHWK/MonsterTSY/ZDX/HHWK_ZDX_DieEvent.cs +++ b/Assets/MyGame/aa/Game/HHWK/MonsterTSY/ZDX/HHWK_ZDX_DieEvent.cs @@ -94,7 +94,7 @@ public class HHWK_ZDX_DieEvent : DieEffect_TSY return u * u * a + 2f * u * t * b + t * t * c; } - /// 爆炸:创建特效 + 检测并杀死范围内所有普通鱼 + /// 爆炸:创建特效 + 范围内掉金币(不杀鱼,金币飞向击杀者座位) private void Boom(Vector3 worldPos) { // 爆炸特效 @@ -104,8 +104,10 @@ public class HHWK_ZDX_DieEvent : DieEffect_TSY Destroy(fx, 1.5f); } - // 范围检测所有鱼,只杀普通鱼 + // 范围检测所有鱼,只放金币特效(不杀鱼),金币飞向击杀者座位 var hits = Physics2D.OverlapCircleAll(worldPos, explosionRadius, fishLayer); + // 金币飞向击杀者座位(GetSeatPosition 按 posID 查找,人机转发时也显示在人机座位) + Vector3 sitPos = GetSeatPosition(); foreach (var hit in hits) { if (!hit.CompareTag("Fish")) continue; @@ -113,9 +115,8 @@ public class HHWK_ZDX_DieEvent : DieEffect_TSY if (control == null) continue; if (control.fishenum != FishTypeEnum.普通鱼) continue; - // 金币飞向击杀者座位(GetSeatPosition 按 posID 查找,避免误用本地 currSitData) - var sitPos = GetSeatPosition(); - CreateFishManager.Instance.Id_DieFish_FX(control.guid, + // 只放金币飞行特效,不调用 Id_DieFish_FX(不杀鱼) + CreateFishManager.Instance.SpawnRandomCoinFX( new RedPacketRecord { Amount = paoBei * control.monsterData.fishTypeConfig.fishScore }, sitPos, isLocal: isLocalCoin); diff --git a/Assets/MyGame/aa/UI/DefaultPanel/LoadPanel/LoadPanel.prefab b/Assets/MyGame/aa/UI/DefaultPanel/LoadPanel/LoadPanel.prefab index 284a9bbbd..88dbb7f57 100644 --- a/Assets/MyGame/aa/UI/DefaultPanel/LoadPanel/LoadPanel.prefab +++ b/Assets/MyGame/aa/UI/DefaultPanel/LoadPanel/LoadPanel.prefab @@ -10,8 +10,6 @@ GameObject: m_Component: - component: {fileID: 7249386716659303671} - component: {fileID: 8097934881369305810} - - component: {fileID: 116195096479235179} - - component: {fileID: 7881499970494138628} - component: {fileID: -3846603942418201827} - component: {fileID: -8634983503678138505} - component: {fileID: 5057158932964292094} @@ -51,69 +49,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2258378551980177528} m_CullTransparentMesh: 1 ---- !u!114 &116195096479235179 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2258378551980177528} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Texture: {fileID: 2800000, guid: fdde5aa979e477e4590a48ae5b857c62, type: 3} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!328 &7881499970494138628 -VideoPlayer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2258378551980177528} - m_Enabled: 1 - m_VideoClip: {fileID: 32900000, guid: 029dc73b392ceec4fbde610235b81a08, type: 3} - m_TargetCameraAlpha: 1 - m_TargetCamera3DLayout: 0 - m_TargetCamera: {fileID: 0} - m_TargetTexture: {fileID: 8400000, guid: 19aab719d005628448bd0ac1931120bc, type: 2} - m_TimeReference: 0 - m_TargetMaterialRenderer: {fileID: 0} - m_TargetMaterialProperty: - m_RenderMode: 2 - m_AspectRatio: 2 - m_DataSource: 0 - m_TimeUpdateMode: 2 - m_PlaybackSpeed: 1 - m_AudioOutputMode: 2 - m_TargetAudioSources: - - {fileID: 0} - m_DirectAudioVolumes: - - 1 - m_Url: - m_EnabledAudioTracks: 01 - m_DirectAudioMutes: 00 - m_ControlledAudioTrackCount: 1 - m_PlayOnAwake: 1 - m_SkipOnDrop: 1 - m_Looping: 0 - m_WaitForFirstFrame: 1 - m_FrameReadyEventEnabled: 0 - m_VideoShaders: [] --- !u!114 &-3846603942418201827 MonoBehaviour: m_ObjectHideFlags: 0 @@ -256,7 +191,6 @@ GameObject: - component: {fileID: 5054340543038180183} - component: {fileID: 3224967138221357578} - component: {fileID: 8053605273848260111} - - component: {fileID: 252963838684377749} m_Layer: 5 m_Name: LoadPanel (1) m_TagString: Untagged @@ -354,18 +288,3 @@ VideoPlayer: m_WaitForFirstFrame: 1 m_FrameReadyEventEnabled: 0 m_VideoShaders: [] ---- !u!114 &252963838684377749 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5151481646774888968} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e3d181187b8960468a09681396cff23, type: 3} - m_Name: - m_EditorClassIdentifier: - player: {fileID: 0} - image_Bg: {fileID: 0} - fadeTime: 1.3 diff --git a/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab b/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab index 5650db513..aa230368f 100644 --- a/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab +++ b/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab @@ -4030,8 +4030,8 @@ MonoBehaviour: textMeshProUGUI_RoomID: {fileID: 222610915537559086} obj_DJSPanel: {fileID: 5476404289453217958} tmp_DJS: {fileID: 2479921937008509017} - btn_QueRen: {fileID: 2238313060525282867} - btn_QuXiao: {fileID: 4624491302151963912} + btn_QueRen: {fileID: 4624491302151963912} + btn_QuXiao: {fileID: 2238313060525282867} sceneName: XJMH gameType: 4 btn_SettingList: {fileID: 7409283134322969632} @@ -5529,7 +5529,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "\u786E\u8BA4(10)" + m_text: "\u786E\u8BA4" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2} m_sharedMaterial: {fileID: 3593458263369068374, guid: 5d4a713fdd931db4c9ce49f068b54e0a, @@ -8531,6 +8531,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 16cfaab69e1fa404dbb8432276bd7537, type: 3} m_Name: m_EditorClassIdentifier: + IsBaoJiangingActive: 0 + obj_BaoJiangZhongPanelPosition: {fileID: 0} user: posID: 0 isBot: 0 @@ -8727,6 +8729,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 16cfaab69e1fa404dbb8432276bd7537, type: 3} m_Name: m_EditorClassIdentifier: + IsBaoJiangingActive: 0 + obj_BaoJiangZhongPanelPosition: {fileID: 0} user: posID: 1 isBot: 0 diff --git a/Assets/MyGame/aa/UI/Login/LoginPanel.prefab b/Assets/MyGame/aa/UI/Login/LoginPanel.prefab index 1e16063a7..750ee6f57 100644 --- a/Assets/MyGame/aa/UI/Login/LoginPanel.prefab +++ b/Assets/MyGame/aa/UI/Login/LoginPanel.prefab @@ -781,7 +781,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Texture: {fileID: 2800000, guid: 409664c881db3c0409a10312f26f29ee, type: 3} + m_Texture: {fileID: 8400000, guid: ee1088bf4a1dfc54b9b571bf7560e723, type: 2} m_UVRect: serializedVersion: 2 x: 0