1
This commit is contained in:
@@ -1,5 +1,53 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1101 &-7087220483249332510
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1091054516175329715}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.39999998
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-1091054516175329715
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: UI_baojiang_idle
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 5469d2a672cc5fd4287aebb88e24b5f4, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -8,7 +56,25 @@ AnimatorController:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: UI_baojiang
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorParameters:
|
||||
- m_Name: Appear
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Loop
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: Close
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@@ -32,7 +98,8 @@ AnimatorState:
|
||||
m_Name: UI_baojiang
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_Transitions:
|
||||
- {fileID: -7087220483249332510}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@@ -48,6 +115,79 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &3012551385725208710
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: UI_baojiang_leave
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 38734011404d5b84bb7dad182224992a, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &3151175118646390328
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 188125840054780768}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5080916787463449845
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Loop
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1091054516175329715}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1107 &6641203575115228107
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
@@ -59,14 +199,48 @@ AnimatorStateMachine:
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 188125840054780768}
|
||||
m_Position: {x: 0, y: 370, z: 0}
|
||||
m_Position: {x: 330, y: 130, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -1091054516175329715}
|
||||
m_Position: {x: 260, y: 320, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 3012551385725208710}
|
||||
m_Position: {x: 170, y: 520, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 5080916787463449845}
|
||||
- {fileID: 7114718272761430631}
|
||||
- {fileID: 3151175118646390328}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_EntryPosition: {x: -40, y: 150, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 188125840054780768}
|
||||
--- !u!1101 &7114718272761430631
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: Close
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 3012551385725208710}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
|
||||
@@ -18,63 +18,63 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.23333333
|
||||
time: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 57.272724}
|
||||
outSlope: {x: 0, y: 0, z: 114.54545}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.6
|
||||
time: 0.18333334
|
||||
value: {x: 0, y: 0, z: 21}
|
||||
inSlope: {x: 0, y: 0, z: 57.272724}
|
||||
inSlope: {x: 0, y: 0, z: 114.54545}
|
||||
outSlope: {x: 0, y: 0, z: -57.272724}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1.3333334
|
||||
time: 0.9166667
|
||||
value: {x: 0, y: 0, z: -21}
|
||||
inSlope: {x: -0, y: -0, z: -57.272724}
|
||||
outSlope: {x: 0, y: 0, z: 60.000015}
|
||||
inSlope: {x: 0, y: 0, z: -57.272724}
|
||||
outSlope: {x: 0, y: 0, z: 60.000008}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1.6833333
|
||||
time: 1.2666667
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 60.000015}
|
||||
inSlope: {x: 0, y: 0, z: 60.000008}
|
||||
outSlope: {x: 0, y: 0, z: 84}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 1.9333333
|
||||
time: 1.5166667
|
||||
value: {x: 0, y: 0, z: 21}
|
||||
inSlope: {x: 0, y: 0, z: 84}
|
||||
outSlope: {x: 0, y: 0, z: -81.290306}
|
||||
outSlope: {x: 0, y: 0, z: -81.29032}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 2.45
|
||||
time: 2.0333333
|
||||
value: {x: 0, y: 0, z: -21}
|
||||
inSlope: {x: -0, y: -0, z: -81.290306}
|
||||
outSlope: {x: 0, y: 0, z: 57.272743}
|
||||
inSlope: {x: -0, y: -0, z: -81.29032}
|
||||
outSlope: {x: 0, y: 0, z: 66.3158}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 2.8166666
|
||||
time: 2.35
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 57.272743}
|
||||
inSlope: {x: 0, y: 0, z: 66.3158}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
@@ -91,15 +91,6 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.41666666
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
@@ -108,7 +99,7 @@ AnimationClip:
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 2.6333334
|
||||
time: 2.35
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
@@ -116,15 +107,6 @@ AnimationClip:
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 3
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
@@ -162,7 +144,7 @@ AnimationClip:
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 3
|
||||
m_StopTime: 2.35
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
@@ -183,16 +165,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.23333333
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1.3333334
|
||||
time: 0.9166667
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
@@ -201,7 +174,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.45
|
||||
time: 2.0333333
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
@@ -222,16 +195,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.23333333
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1.3333334
|
||||
time: 0.9166667
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
@@ -240,7 +204,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.45
|
||||
time: 2.0333333
|
||||
value: 0
|
||||
inSlope: -0
|
||||
outSlope: 0
|
||||
@@ -261,63 +225,63 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.23333333
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 57.272724
|
||||
outSlope: 114.54545
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.6
|
||||
time: 0.18333334
|
||||
value: 21
|
||||
inSlope: 57.272724
|
||||
inSlope: 114.54545
|
||||
outSlope: -57.272724
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1.3333334
|
||||
time: 0.9166667
|
||||
value: -21
|
||||
inSlope: -57.272724
|
||||
outSlope: 60.000015
|
||||
outSlope: 60.000008
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1.6833333
|
||||
time: 1.2666667
|
||||
value: 0
|
||||
inSlope: 60.000015
|
||||
inSlope: 60.000008
|
||||
outSlope: 84
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1.9333333
|
||||
time: 1.5166667
|
||||
value: 21
|
||||
inSlope: 84
|
||||
outSlope: -81.290306
|
||||
outSlope: -81.29032
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.45
|
||||
time: 2.0333333
|
||||
value: -21
|
||||
inSlope: -81.290306
|
||||
outSlope: 57.272743
|
||||
inSlope: -81.29032
|
||||
outSlope: 66.3158
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.8166666
|
||||
time: 2.35
|
||||
value: 0
|
||||
inSlope: 57.272743
|
||||
inSlope: 66.3158
|
||||
outSlope: 0
|
||||
tangentMode: 69
|
||||
weightedMode: 0
|
||||
@@ -337,37 +301,19 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.41666666
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
tangentMode: 65
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.6333334
|
||||
time: 2.35
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 3
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
tangentMode: 65
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
@@ -385,37 +331,19 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.41666666
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
tangentMode: 65
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.6333334
|
||||
time: 2.35
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 3
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
tangentMode: 65
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
@@ -433,37 +361,19 @@ AnimationClip:
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.41666666
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
tangentMode: 65
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 2.6333334
|
||||
time: 2.35
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 3
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 136
|
||||
tangentMode: 65
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
|
||||
@@ -18,7 +18,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.16666667
|
||||
time: 0.25
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 57.272743}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
@@ -36,7 +36,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
time: 0.083333336
|
||||
value: {x: 1, y: 1, z: 1}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
@@ -45,7 +45,7 @@ AnimationClip:
|
||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||
- serializedVersion: 3
|
||||
time: 0.35
|
||||
time: 0.43333334
|
||||
value: {x: 0, y: 0, z: 0}
|
||||
inSlope: {x: 0, y: 0, z: 0}
|
||||
outSlope: {x: 0, y: 0, z: 0}
|
||||
@@ -90,7 +90,7 @@ AnimationClip:
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.35
|
||||
m_StopTime: 0.43333334
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
@@ -111,7 +111,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0.16666667
|
||||
time: 0.25
|
||||
value: 0
|
||||
inSlope: 57.272743
|
||||
outSlope: 0
|
||||
@@ -132,7 +132,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
time: 0.083333336
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@@ -141,7 +141,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.35
|
||||
time: 0.43333334
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@@ -162,7 +162,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
time: 0.083333336
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@@ -171,7 +171,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.35
|
||||
time: 0.43333334
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@@ -192,7 +192,7 @@ AnimationClip:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
time: 0.083333336
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
@@ -201,7 +201,7 @@ AnimationClip:
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 0.35
|
||||
time: 0.43333334
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 7.1 KiB |
@@ -0,0 +1,153 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 33d407ecd9f681c41a44162e3ad963e1
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 0
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: WebGL
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -13,6 +13,8 @@ public class ConstEventString
|
||||
public const string SyncGameData_ChangeWing = "SyncGameData_ChangeWing";
|
||||
public const string SyncGameData_BotFireAngle = "SyncGameData_BotFireAngle";
|
||||
// SyncGameData_RequestSyncFish 已废弃:鱼同步改由服务端 OnFishSpawn(type=sync) 下发
|
||||
/// <summary>爆奖结束帧同步(baoJiangEnd):某玩家爆奖流程完成,其他客户端显示最终 BJEndUI 并加分</summary>
|
||||
public const string BaoJiangEnd = "BaoJiangEnd";
|
||||
|
||||
// ================================================================
|
||||
// 服务端 → 客户端事件 (新协议)
|
||||
|
||||
@@ -908,7 +908,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22400762, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -0.000015258789
|
||||
value: -0.0000038146973
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 22426080, guid: 67117722a812a2e46ab8cb8eafbf5f5e, type: 3}
|
||||
propertyPath: m_AnchorMax.x
|
||||
@@ -6006,6 +6006,7 @@ MonoBehaviour:
|
||||
showWaitingAfterExit: 1
|
||||
useRemoteBotConfig: 0
|
||||
enableLogFile: 1
|
||||
useNotSelfBaoJiangMode: 1
|
||||
gameConfig:
|
||||
id:
|
||||
isDelete: 0
|
||||
|
||||
@@ -308,6 +308,11 @@ public class MonsterControl_BossBase : MonsterContral
|
||||
{
|
||||
yield return new WaitForSeconds(dieTime);
|
||||
|
||||
// not-self 爆奖模式下未实例化分数面板和 effect_DieAward,跳过飞分逻辑
|
||||
// (加分由 BaoJiangNotSelfHandler.OnBaoJiangEnd 处理)
|
||||
if (tMP_CurrBossScore == null || tMP_CurrBossScore.transform.parent == null)
|
||||
yield break;
|
||||
|
||||
tMP_CurrBossScore.transform.parent
|
||||
.DOMove(v3, 0.5f)
|
||||
.OnComplete(() =>
|
||||
|
||||
@@ -1563,6 +1563,28 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
// Boss 鱼:显示浮动分数文本
|
||||
var bossCtrl = (MonsterControl_BossBase)monster;
|
||||
|
||||
// ⭐ not-self 分流:非自己击杀(含机器人)且开启新模式 → 走 not-self 流程
|
||||
// 不克隆 effect_DieAward,在 killer 座位显示 img_BaoJiangZhong,
|
||||
// 等待帧同步 baoJiangEnd(机器人由房主延迟 5~10 秒代发)后显示最终 BJEndUI + 加分
|
||||
bool isSelfKill_Boss = sitData.user == GameManager.Instance.user.id;
|
||||
if (GameManager.Instance.useNotSelfBaoJiangMode
|
||||
&& !isSelfKill_Boss
|
||||
&& monster.effect_DieAward != null
|
||||
&& BaoJiangNotSelfHandler.ShowInProgress(
|
||||
sitData,
|
||||
monster.effect_DieAward,
|
||||
killFish.fishId,
|
||||
killFish.userId,
|
||||
killFish.beishu,
|
||||
gold: killFish.gold,
|
||||
onScoreAdd: onScoreAdd))
|
||||
{
|
||||
// Boss 死亡仍走 DieFish(处理死亡音效/震屏等),但不播爆奖特效
|
||||
monster.DieFish(killFish);
|
||||
dieFishCalled = true;
|
||||
break;
|
||||
}
|
||||
|
||||
bossCtrl.v3 = sitData.transform.position;
|
||||
bossCtrl.JiaFen = onScoreAdd; // 先设置 JiaFen,DieFish 的 lambda 才能捕获到
|
||||
bossCtrl.isLocalCoin = sitData.user == GameManager.Instance.user.id; // ⭐ 金/银区分
|
||||
@@ -1621,6 +1643,40 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
break;
|
||||
case FishTypeEnum.特殊鱼:
|
||||
{
|
||||
// ⭐ not-self + Boss爆奖模式分流:不克隆 effect_DieAward,只读取预制体上的 BJEndUI
|
||||
// 在 killer 座位 obj_BaoJiangZhongPanelPosition 显示 img_BaoJiangZhong(关 tMP_beishu)
|
||||
// 等待帧同步 baoJiangEnd 后再走最终 BJEndUI 效果 + 加分
|
||||
// 开关:GameManager.useNotSelfBaoJiangMode(false=旧模式,所有玩家走相同流程)
|
||||
// ⚠️ 排除重写了 SetCoinCount 的子类(如炸弹蟹 HHWK_ZDX_DieEvent):
|
||||
// 这些鱼有特殊爆炸/范围杀鱼玩法,必须走原流程,不能跳过 SetCoinCount
|
||||
bool isSelfKill_TSY = sitData.user == GameManager.Instance.user.id;
|
||||
if (GameManager.Instance.useNotSelfBaoJiangMode
|
||||
&& !isSelfKill_TSY
|
||||
&& monster.effect_DieAward != null)
|
||||
{
|
||||
var tsyPrefab = monster.effect_DieAward.GetComponent<DieEffect_TSY>();
|
||||
if (tsyPrefab != null && tsyPrefab.baoJiangMode == TSYBaoJiangMode.Boss爆奖)
|
||||
{
|
||||
// 检查子类是否重写了 SetCoinCount(炸弹蟹等有特殊爆炸玩法的鱼不走 not-self 分流)
|
||||
var setCoinMethod = tsyPrefab.GetType().GetMethod("SetCoinCount");
|
||||
bool hasCustomSetCoinCount = setCoinMethod != null
|
||||
&& setCoinMethod.DeclaringType != typeof(DieEffect_TSY);
|
||||
|
||||
if (!hasCustomSetCoinCount
|
||||
&& BaoJiangNotSelfHandler.ShowInProgress(
|
||||
sitData,
|
||||
monster.effect_DieAward,
|
||||
killFish.fishId,
|
||||
killFish.userId,
|
||||
killFish.beishu,
|
||||
gold: killFish.gold,
|
||||
onScoreAdd: onScoreAdd))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 普通鱼:金币飞向炮台
|
||||
var award = Instantiate(
|
||||
monster.effect_DieAward != null ? monster.effect_DieAward : dieFXPrefabAward);
|
||||
@@ -1660,6 +1716,9 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
tsy.isLocalCoin = sitData.user == GameManager.Instance.user.id;
|
||||
tsy.monster = monster;
|
||||
tsy.coinCount = killFish.gold;
|
||||
// 统一注入击杀者座位信息(posID/paoBei 供 GetSeatPosition/范围杀鱼金币计算使用)
|
||||
tsy.posID = sitData.posID;
|
||||
tsy.paoBei = (int)sitData.consumeGoldNum;
|
||||
|
||||
if (tsy.baoJiangMode == TSYBaoJiangMode.Boss爆奖)
|
||||
{
|
||||
@@ -1700,6 +1759,26 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
// Boss 鱼:显示浮动分数文本
|
||||
var bossCtrl = (MonsterControl_BossBase)monster;
|
||||
|
||||
// ⭐ not-self 分流:非自己击杀(含机器人)且开启新模式 → 走 not-self 流程
|
||||
bool isSelfKill_TBoss = sitData.user == GameManager.Instance.user.id;
|
||||
if (GameManager.Instance.useNotSelfBaoJiangMode
|
||||
&& !isSelfKill_TBoss
|
||||
&& monster.effect_DieAward != null
|
||||
&& BaoJiangNotSelfHandler.ShowInProgress(
|
||||
sitData,
|
||||
monster.effect_DieAward,
|
||||
killFish.fishId,
|
||||
killFish.userId,
|
||||
killFish.beishu,
|
||||
gold: killFish.gold,
|
||||
onScoreAdd: onScoreAdd))
|
||||
{
|
||||
// Boss 死亡仍走 DieFish(处理死亡音效/震屏等),但不播爆奖特效
|
||||
monster.DieFish(killFish);
|
||||
dieFishCalled = true;
|
||||
break;
|
||||
}
|
||||
|
||||
bossCtrl.v3 = sitData.transform.position;
|
||||
bossCtrl.JiaFen = onScoreAdd; // 先设置 JiaFen
|
||||
bossCtrl.isLocalCoin = sitData.user == GameManager.Instance.user.id; // ⭐ 金/银区分
|
||||
|
||||
@@ -27,6 +27,10 @@ public class GameManager : MonoSingleton<GameManager>
|
||||
[Tooltip("运行时开关:是否实际生成日志文件。需要同时启用 ENABLE_LOG_FILE 预编译指令才生效。\ntrue=生成日志文件;false=不生成(运行时关闭)")]
|
||||
public bool enableLogFile = true;
|
||||
|
||||
[Header("爆奖模式")]
|
||||
[Tooltip("其他玩家爆奖处理方式。\ntrue=新模式(not-self 分流:座位显示 img_BaoJiangZhong,等待帧同步 baoJiangEnd 后再显示最终 BJEndUI 加分);\nfalse=旧模式(所有玩家走相同流程,直接克隆 effect_DieAward 播完整特效)")]
|
||||
public bool useNotSelfBaoJiangMode = false;
|
||||
|
||||
public GameConfig gameConfig;
|
||||
public ActivityConfig activityConfig;
|
||||
public Dictionary<string, FishTypeConfig> dic_fishTypeConfigs = new Dictionary<string, FishTypeConfig>();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -53,6 +53,8 @@ namespace Assets.MyGame.Scripts.Net.WebResponses
|
||||
changeCannonMultiple=9,
|
||||
changeWing=10,
|
||||
// requestSyncFish=11 已废弃:鱼同步改由服务端 OnFishSpawn(type=sync) 事件下发
|
||||
/// <summary>爆奖结束:某玩家爆奖流程完成,广播给其他客户端显示最终 BJEndUI 并加分</summary>
|
||||
baoJiangEnd=12,
|
||||
}
|
||||
[Serializable]
|
||||
public class FireCannonSendData
|
||||
@@ -145,6 +147,25 @@ namespace Assets.MyGame.Scripts.Net.WebResponses
|
||||
public int cannonMultiple;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 爆奖结束帧数据(frameType=baoJiangEnd)。
|
||||
/// 服务端在玩家爆奖流程完成时广播,其他客户端据此显示最终 BJEndUI 并加分。
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class FrameData_BaoJiangEnd : FrameData
|
||||
{
|
||||
/// <summary>爆奖玩家 ID</summary>
|
||||
public string userId;
|
||||
/// <summary>击杀者座位 ID</summary>
|
||||
public int posID;
|
||||
/// <summary>死亡的鱼 ID(用于匹配 pending 的 not-self 爆奖)</summary>
|
||||
public string fishId;
|
||||
/// <summary>最终倍数</summary>
|
||||
public int beishu;
|
||||
/// <summary>最终得分(金币)</summary>
|
||||
public int score;
|
||||
}
|
||||
|
||||
// ================================================================
|
||||
// OnFishSpawn 事件数据结构 (服务端出鱼,破坏性替代 createFish 帧同步)
|
||||
// ================================================================
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -302,6 +302,9 @@ namespace Assets.MyGame.Scripts.Net
|
||||
EventCenter.Instance.EventTrigger<SyncGameData>(ConstEventString.SyncGameData_ChangeWing, syncGameData);
|
||||
break;
|
||||
// requestSyncFish=11 已废弃:鱼同步改由服务端 OnFishSpawn(type=sync) 下发
|
||||
case FrameDataType.baoJiangEnd:
|
||||
EventCenter.Instance.EventTrigger<SyncGameData>(ConstEventString.BaoJiangEnd, syncGameData);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public enum TurretControlMode
|
||||
public class SitPosData : MonoBehaviour
|
||||
{
|
||||
public bool IsBaoJiangingActive;
|
||||
public GameObject obj_BaoJiangZhongPanel;
|
||||
public Transform obj_BaoJiangZhongPanelPosition;
|
||||
|
||||
/// <summary>本地玩家的座位引用(由游戏面板初始化时设置)</summary>
|
||||
public static SitPosData localPlayerSit;
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class BJEndUI : MonoBehaviour
|
||||
{
|
||||
@@ -10,12 +11,57 @@ public class BJEndUI : MonoBehaviour
|
||||
public TextMeshProUGUI tMP_score;
|
||||
public TMP_SpriteAsset goldSprite;
|
||||
public TMP_SpriteAsset SilverSprite;
|
||||
public Image img_BaoJiangZhong;
|
||||
|
||||
public bool useScoreAnim = false; // 是否启用分数递增动画
|
||||
|
||||
/// <summary>默认自动销毁延时(秒);not-self 在途状态会取消此计时,等 Finalize 后才重启</summary>
|
||||
public float autoDestroyDelay = 5f;
|
||||
|
||||
[Header("Animator 状态机触发参数(not-self 流程)")]
|
||||
[Tooltip("出现动画的 Trigger 参数名(ShowInProgress 入口触发)")]
|
||||
public string animTrigger_Appear = "Appear";
|
||||
[Tooltip("持续动画的 Trigger 参数名(ShowInProgress 出现动画完成后触发)")]
|
||||
public string animTrigger_Loop = "Loop";
|
||||
[Tooltip("关闭动画的 Trigger 参数名(Finalize 时触发,播完后销毁)")]
|
||||
public string animTrigger_Close = "Close";
|
||||
|
||||
private Coroutine _destroyCo;
|
||||
|
||||
/// <summary>预制体自带的 Animator(出现/持续/关闭 三态由状态机控制)</summary>
|
||||
private Animator _animator;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Destroy(gameObject, 5);
|
||||
_animator = GetComponent<Animator>();
|
||||
if (autoDestroyDelay > 0)
|
||||
_destroyCo = StartCoroutine(DestroyAfter(autoDestroyDelay));
|
||||
}
|
||||
|
||||
private IEnumerator DestroyAfter(float delay)
|
||||
{
|
||||
yield return new WaitForSeconds(delay);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
/// <summary>取消当前自动销毁计时(用于 not-self 流程切换状态前)</summary>
|
||||
public void CancelAutoDestroy()
|
||||
{
|
||||
if (_destroyCo != null)
|
||||
{
|
||||
StopCoroutine(_destroyCo);
|
||||
_destroyCo = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重置销毁计时并启动新的延时销毁。
|
||||
/// </summary>
|
||||
public void RestartAutoDestroy(float delay)
|
||||
{
|
||||
CancelAutoDestroy();
|
||||
if (delay > 0)
|
||||
_destroyCo = StartCoroutine(DestroyAfter(delay));
|
||||
}
|
||||
|
||||
public void Init(int beishu, int score, bool isMine = false)
|
||||
@@ -32,6 +78,105 @@ public class BJEndUI : MonoBehaviour
|
||||
tMP_score.text = score.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// not-self 爆奖进入"爆奖中"状态:
|
||||
/// 关闭 tMP_beishu,激活 img_BaoJiangZhong,取消自动销毁(一直保持,直到收到 baoJiangEnd)。
|
||||
/// 由 BaoJiangNotSelfHandler.ShowInProgress 调用。
|
||||
/// 注意:此状态下 BJEndUI 不会自动消失,必须等 Finalize 才会显示倍率并启动销毁计时。
|
||||
/// </summary>
|
||||
public void ShowInProgress(bool isMine)
|
||||
{
|
||||
// 取消自动销毁:在途状态一直保持,直到收到 baoJiangEnd 帧同步走 Finalize
|
||||
CancelAutoDestroy();
|
||||
|
||||
if (tMP_beishu != null) tMP_beishu.gameObject.SetActive(false);
|
||||
if (tMP_score != null) tMP_score.gameObject.SetActive(false);
|
||||
if (img_BaoJiangZhong != null) img_BaoJiangZhong.gameObject.SetActive(true);
|
||||
|
||||
// 预先应用金/银 spriteAsset,Finalize 时不用再切换
|
||||
if (tMP_beishu != null) tMP_beishu.spriteAsset = isMine ? goldSprite : SilverSprite;
|
||||
if (tMP_score != null) tMP_score.spriteAsset = isMine ? goldSprite : SilverSprite;
|
||||
|
||||
// ⭐ 触发 Animator 状态机:Appear(出现)→ Loop(持续,直到 Finalize)
|
||||
// Animator 从 Appear 状态自然过渡到 Loop,由状态机配置控制时机
|
||||
if (_animator != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(animTrigger_Loop))
|
||||
_animator.SetTrigger(animTrigger_Loop);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// not-self 收到帧同步 baoJiangEnd 后调用:
|
||||
/// 1. 激活 tMP_beishu,关闭 img_BaoJiangZhong(必须)
|
||||
/// 2. 触发 Close 动画状态机,播放分数递增1秒
|
||||
/// 3. 等 Close 动画播完后销毁(缩小由 Animator 控制,不由代码 DOScale)
|
||||
/// </summary>
|
||||
public void Finalize(int beishu, int score, bool isMine)
|
||||
{
|
||||
CancelAutoDestroy();
|
||||
|
||||
// 步骤1:切换显示(必须)
|
||||
if (tMP_beishu != null) tMP_beishu.gameObject.SetActive(true);
|
||||
if (tMP_score != null) tMP_score.gameObject.SetActive(true);
|
||||
if (img_BaoJiangZhong != null) img_BaoJiangZhong.gameObject.SetActive(false);
|
||||
|
||||
// 写入倍数 + 金银精灵
|
||||
if (tMP_beishu != null)
|
||||
{
|
||||
tMP_beishu.spriteAsset = isMine ? goldSprite : SilverSprite;
|
||||
tMP_beishu.text = "<sprite=6>" + beishu.ToString();
|
||||
}
|
||||
if (tMP_score != null)
|
||||
{
|
||||
tMP_score.spriteAsset = isMine ? goldSprite : SilverSprite;
|
||||
}
|
||||
|
||||
// 步骤2+3:ScoreAnim 1秒递增 → 触发 Close 动画 → 等动画播完销毁
|
||||
_destroyCo = StartCoroutine(FinalizeSequence(score));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// not-self 收尾序列:
|
||||
/// 1. ScoreAnim 1秒递增(或等待1秒)
|
||||
/// 2. 触发 Close 动画状态机(缩小由 Animator 控制)
|
||||
/// 3. 等待动画播完后销毁(Animator 关闭动画结束时机由 Exit Time 或 AnimationEvent 决定,
|
||||
/// 此处用动画长度作为兜底等待)
|
||||
/// </summary>
|
||||
private IEnumerator FinalizeSequence(int score)
|
||||
{
|
||||
// 等1秒(无论 useScoreAnim 是否开启,都要等1秒再触发 Close)
|
||||
if (useScoreAnim && tMP_score != null)
|
||||
{
|
||||
yield return StartCoroutine(ScoreAnim(score));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tMP_score != null) tMP_score.text = score.ToString();
|
||||
yield return new WaitForSeconds(1f);
|
||||
}
|
||||
|
||||
// 触发 Close 动画状态机(缩小/淡出由 Animator 控制)
|
||||
if (_animator != null && !string.IsNullOrEmpty(animTrigger_Close))
|
||||
{
|
||||
_animator.SetTrigger(animTrigger_Close);
|
||||
|
||||
// 等 Close 动画播完:优先用 AnimatorStateInfo.length,回退固定 0.5 秒
|
||||
// 注意:Trigger 触发后需要等一帧让 Animator 切换状态,再读取 length
|
||||
yield return null;
|
||||
var stateInfo = _animator.GetCurrentAnimatorStateInfo(0);
|
||||
float waitTime = stateInfo.length > 0 ? stateInfo.length : 0.5f;
|
||||
yield return new WaitForSeconds(waitTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 无 Animator:回退到 DOScale 缩小
|
||||
yield return transform.DOScale(Vector3.zero, 0.3f).SetEase(Ease.InBack).WaitForCompletion();
|
||||
}
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
private IEnumerator ScoreAnim(int target)
|
||||
{
|
||||
float duration = 1f;
|
||||
|
||||
@@ -0,0 +1,253 @@
|
||||
using Assets.MyGame.Scripts.Net.WebResponses;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
/// <summary>
|
||||
/// 其他玩家爆奖(not-self)流程管理器。
|
||||
///
|
||||
/// 流程:
|
||||
/// 1. 服务端下发 RoomKillNotice(鱼死亡),客户端在 Ws_DieFish 判断 killFish.userId != 本地 user
|
||||
/// 且 effect_DieAward 上挂的是 DieEffect_TSY(Boss爆奖模式)→ 调用 <see cref="ShowInProgress"/>:
|
||||
/// a. 不克隆 effect_DieAward,只读取预制体上的 BJEndUI(<see cref="BJEventBase.bjEndUI"/>);
|
||||
/// b. 把 BJEndUI 实例化到 killer 座位的 <see cref="SitPosData.obj_BaoJiangZhongPanelPosition"/>;
|
||||
/// c. <see cref="BJEndUI.ShowInProgress"/> 关闭 tMP_beishu / 激活 img_BaoJiangZhong;
|
||||
/// d. 标记 <see cref="SitPosData.IsBaoJiangingActive"/> = true。
|
||||
/// 2. 等待服务端帧同步 <see cref="FrameDataType.baoJiangEnd"/>(爆奖玩家爆完奖励):
|
||||
/// 在 <see cref="OnBaoJiangEnd"/> 中取出对应 pending,调用 <see cref="BJEndUI.Finalize"/> 显示最终 BJEndUI,
|
||||
/// 执行 onScoreAdd 加分,清除 IsBaoJiangingActive。
|
||||
///
|
||||
/// 机器人杀 Boss 特殊处理:
|
||||
/// 机器人不会主动发 baoJiangEnd(机器人客户端无人触发)。
|
||||
/// 由房主客户端在进入 not-self 在途状态后,延迟 5~10 秒代发 baoJiangEnd 帧同步给服务端,
|
||||
/// 服务端广播给所有玩家 → 各客户端走 OnBaoJiangEnd 完成最终加分。
|
||||
///
|
||||
/// 帧同步数据由 <see cref="FrameData_BaoJiangEnd"/> 携带(userId/fishId/beishu/score)。
|
||||
/// pending 用 "userId|fishId" 做 key,同一玩家同帧杀多条特殊鱼也能区分。
|
||||
/// </summary>
|
||||
public static class BaoJiangNotSelfHandler
|
||||
{
|
||||
private class PendingEntry
|
||||
{
|
||||
public BJEndUI endUI;
|
||||
public SitPosData killerSit;
|
||||
public Action<int> onScoreAdd;
|
||||
public int gold;
|
||||
public int beishu;
|
||||
public string userId;
|
||||
public string fishId;
|
||||
public bool isBot;
|
||||
}
|
||||
|
||||
// key: userId|fishId
|
||||
private static readonly Dictionary<string, PendingEntry> _pending = new Dictionary<string, PendingEntry>();
|
||||
|
||||
/// <summary>机器人爆奖模拟延迟下限(秒)</summary>
|
||||
public const float BotSendDelayMin = 5f;
|
||||
/// <summary>机器人爆奖模拟延迟上限(秒)</summary>
|
||||
public const float BotSendDelayMax = 10f;
|
||||
|
||||
/// <summary>
|
||||
/// 其他玩家爆奖进入"爆奖中"状态。
|
||||
/// 不克隆 effect_DieAward 预制体,只读取其上的 BJEndUI 引用并实例化到座位。
|
||||
/// </summary>
|
||||
/// <param name="killerSit">击杀者座位(用于显示位置 + IsBaoJiangingActive 标记)</param>
|
||||
/// <param name="effect_DieAwardPrefab">鱼身上配置的 effect_DieAward 预制体(不克隆,仅读取 BJEndUI)</param>
|
||||
/// <param name="fishId">被击杀的鱼 ID(用于帧同步匹配)</param>
|
||||
/// <param name="killerUserId">击杀者 userId</param>
|
||||
/// <param name="beishu">倍数(用于 Finalize 显示)</param>
|
||||
/// <param name="gold">金币数(用于 Finalize 时加分)</param>
|
||||
/// <param name="onScoreAdd">加分回调(来自 Ws_DieFish 的 onScoreAdd)</param>
|
||||
public static bool ShowInProgress(
|
||||
SitPosData killerSit,
|
||||
GameObject effect_DieAwardPrefab,
|
||||
string fishId,
|
||||
string killerUserId,
|
||||
int beishu,
|
||||
int gold,
|
||||
Action<int> onScoreAdd)
|
||||
{
|
||||
if (killerSit == null)
|
||||
{
|
||||
Debug.LogWarning("[BaoJiangNotSelfHandler] killerSit 为空,跳过 not-self 爆奖");
|
||||
return false;
|
||||
}
|
||||
|
||||
// effect_DieAward 不克隆,只读取预制体上的 BJEventBase.bjEndUI
|
||||
BJEndUI bjEndUIPrefab = ResolveBJEndUIPrefab(effect_DieAwardPrefab);
|
||||
if (bjEndUIPrefab == null)
|
||||
{
|
||||
Debug.LogWarning("[BaoJiangNotSelfHandler] effect_DieAward 预制体上未找到 BJEndUI,跳过 not-self 爆奖");
|
||||
return false;
|
||||
}
|
||||
|
||||
// 实例化 BJEndUI 到座位 obj_BaoJiangZhongPanelPosition
|
||||
Transform parent = killerSit.obj_BaoJiangZhongPanelPosition != null
|
||||
? killerSit.obj_BaoJiangZhongPanelPosition
|
||||
: killerSit.transform;
|
||||
|
||||
var endUI = UnityEngine.Object.Instantiate(bjEndUIPrefab, parent);
|
||||
endUI.transform.localPosition = Vector3.zero;
|
||||
endUI.transform.localRotation = Quaternion.identity;
|
||||
endUI.transform.localScale = Vector3.one;
|
||||
|
||||
// 进入"爆奖中"状态:关 tMP_beishu / 开 img_BaoJiangZhong
|
||||
endUI.ShowInProgress(isMine: false);
|
||||
|
||||
// 标记座位正在爆奖
|
||||
killerSit.IsBaoJiangingActive = true;
|
||||
|
||||
// 机器人识别:优先用 SitPosData.isBot(服务端 RoomPlayerInfo 下发),回退 userId.StartsWith("bot_")
|
||||
bool isBot = killerSit.isBot
|
||||
|| (!string.IsNullOrEmpty(killerUserId) && killerUserId.StartsWith("bot_"));
|
||||
|
||||
string key = MakeKey(killerUserId, fishId);
|
||||
_pending[key] = new PendingEntry
|
||||
{
|
||||
endUI = endUI,
|
||||
killerSit = killerSit,
|
||||
onScoreAdd = onScoreAdd,
|
||||
gold = gold,
|
||||
beishu = beishu,
|
||||
userId = killerUserId,
|
||||
fishId = fishId,
|
||||
isBot = isBot,
|
||||
};
|
||||
|
||||
Debug.Log($"[BaoJiangNotSelfHandler] not-self 爆奖进入在途状态:key={key} gold={gold} beishu={beishu} isBot={isBot}");
|
||||
|
||||
// 机器人杀 Boss 特殊处理:机器人不会主动发 baoJiangEnd,由房主客户端延迟 5~10 秒代发帧同步
|
||||
// 服务端广播给所有玩家 → 各客户端走 OnBaoJiangEnd 完成最终加分(保证多人游戏一致性)
|
||||
if (isBot && IsLocalRoomOwner())
|
||||
{
|
||||
GameManager.Instance.StartCoroutine(DelayedSendBaoJiangEndForBot(killerUserId, fishId, beishu, gold));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 收到帧同步 baoJiangEnd 时调用:
|
||||
/// 显示最终 BJEndUI(开 tMP_beishu / 关 img_BaoJiangZhong)→ 加分 → 清除 IsBaoJiangingActive。
|
||||
/// </summary>
|
||||
public static void OnBaoJiangEnd(string userId, string fishId, int beishu, int score)
|
||||
{
|
||||
string key = MakeKey(userId, fishId);
|
||||
if (!_pending.TryGetValue(key, out var entry))
|
||||
{
|
||||
Debug.LogWarning($"[BaoJiangNotSelfHandler] 未找到 pending not-self 爆奖:key={key}(可能已被安全超时清理或重复触发)");
|
||||
return;
|
||||
}
|
||||
|
||||
_pending.Remove(key);
|
||||
|
||||
if (entry.endUI != null)
|
||||
{
|
||||
entry.endUI.Finalize(beishu, score, isMine: false);
|
||||
}
|
||||
|
||||
// 加分(与 self 流程一致,在最终效果展示后回加金币)
|
||||
try
|
||||
{
|
||||
entry.onScoreAdd?.Invoke(0);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError($"[BaoJiangNotSelfHandler] onScoreAdd 异常:{e}");
|
||||
}
|
||||
|
||||
if (entry.killerSit != null)
|
||||
{
|
||||
entry.killerSit.IsBaoJiangingActive = false;
|
||||
}
|
||||
|
||||
Debug.Log($"[BaoJiangNotSelfHandler] not-self 爆奖完成:key={key} beishu={beishu} score={score}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 机器人杀 Boss 时由房主客户端延迟 5~10 秒后代发 baoJiangEnd 帧同步给服务端,
|
||||
/// 服务端广播给所有玩家(含房主自己)→ 各客户端走 OnBaoJiangEnd 完成最终加分。
|
||||
/// 这样可保证所有客户端同一时刻切换到最终 BJEndUI 效果(多人游戏一致性)。
|
||||
/// </summary>
|
||||
private static IEnumerator DelayedSendBaoJiangEndForBot(string userId, string fishId, int beishu, int score)
|
||||
{
|
||||
float delay = Random.Range(BotSendDelayMin, BotSendDelayMax);
|
||||
Debug.Log($"[BaoJiangNotSelfHandler] 房主代发机器人爆奖结束帧同步:延迟 {delay:F2}s key={MakeKey(userId, fishId)}");
|
||||
yield return new WaitForSeconds(delay);
|
||||
|
||||
// 防御:发送时 pending 可能已被 ClearAll 清掉(如玩家中途退房),跳过发送
|
||||
string key = MakeKey(userId, fishId);
|
||||
if (!_pending.ContainsKey(key))
|
||||
{
|
||||
Debug.LogWarning($"[BaoJiangNotSelfHandler] 延迟到点但 pending 已不存在,放弃代发:key={key}");
|
||||
yield break;
|
||||
}
|
||||
|
||||
SyncGameData sgd = new SyncGameData
|
||||
{
|
||||
sitPos = 0,
|
||||
frameType = FrameDataType.baoJiangEnd,
|
||||
time = BeijingTimeManager.Instance.CurrentTimestampMs,
|
||||
frameData = new FrameData_BaoJiangEnd
|
||||
{
|
||||
userId = userId,
|
||||
posID = 0,
|
||||
fishId = fishId,
|
||||
beishu = beishu,
|
||||
score = score,
|
||||
}
|
||||
};
|
||||
WebSocketSendList.SyncGameData(sgd);
|
||||
|
||||
Debug.Log($"[BaoJiangNotSelfHandler] 房主已代发 baoJiangEnd 帧同步:key={key} beishu={beishu} score={score}");
|
||||
}
|
||||
|
||||
/// <summary>判断当前本地客户端是否为房主(用于决定是否代发机器人帧同步)</summary>
|
||||
private static bool IsLocalRoomOwner()
|
||||
{
|
||||
return SitPosData.roomOwnerSit != null
|
||||
&& GameManager.Instance != null
|
||||
&& GameManager.Instance.user != null
|
||||
&& SitPosData.roomOwnerSit.user == GameManager.Instance.user.id;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从 effect_DieAward 预制体上读取 BJEndUI(不克隆 effect_DieAward)。
|
||||
/// 优先走 BJEventBase.bjEndUI 字段,回退 GetComponentInChildren<BJEndUI>。
|
||||
/// </summary>
|
||||
private static BJEndUI ResolveBJEndUIPrefab(GameObject effect_DieAwardPrefab)
|
||||
{
|
||||
if (effect_DieAwardPrefab == null) return null;
|
||||
|
||||
// 优先:BJEventBase(DieEffect_TSY 继承自它)的 bjEndUI 字段
|
||||
var bjEventBase = effect_DieAwardPrefab.GetComponent<BJEventBase>();
|
||||
if (bjEventBase != null && bjEventBase.bjEndUI != null)
|
||||
return bjEventBase.bjEndUI;
|
||||
|
||||
// 回退:effect_DieAward 自身或子节点上的 BJEndUI 组件
|
||||
var onSelf = effect_DieAwardPrefab.GetComponent<BJEndUI>();
|
||||
if (onSelf != null) return onSelf;
|
||||
|
||||
return effect_DieAwardPrefab.GetComponentInChildren<BJEndUI>(true);
|
||||
}
|
||||
|
||||
/// <summary>清空所有 pending(场景切换/退出房间时调用,避免悬空引用)</summary>
|
||||
public static void ClearAll()
|
||||
{
|
||||
foreach (var kv in _pending)
|
||||
{
|
||||
if (kv.Value?.killerSit != null)
|
||||
kv.Value.killerSit.IsBaoJiangingActive = false;
|
||||
if (kv.Value?.endUI != null)
|
||||
{
|
||||
try { UnityEngine.Object.Destroy(kv.Value.endUI.gameObject); }
|
||||
catch { /* 忽略 */ }
|
||||
}
|
||||
}
|
||||
_pending.Clear();
|
||||
}
|
||||
|
||||
private static string MakeKey(string userId, string fishId) => $"{userId}|{fishId}";
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4124e0a2fce52fb4099a40bfb1aff861
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -47,6 +47,7 @@ public class FLZY_DLY_BOSS : MonsterControl_BossBase
|
||||
{
|
||||
|
||||
//GetComponent<Animator>().enabled = false;
|
||||
currEffect_DieAward.SetActive(true);
|
||||
if (currEffect_DieAward != null)
|
||||
currEffect_DieAward.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class FLZY_LLBT_BOSS : MonsterControl_BossBase
|
||||
{
|
||||
|
||||
//GetComponent<Animator>().enabled = false;
|
||||
currEffect_DieAward.SetActive(true);
|
||||
if (currEffect_DieAward != null)
|
||||
currEffect_DieAward.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class FLZY_PTS_BOSS : MonsterControl_BossBase
|
||||
{
|
||||
|
||||
//GetComponent<Animator>().enabled = false;
|
||||
currEffect_DieAward.SetActive(true);
|
||||
if (currEffect_DieAward != null)
|
||||
currEffect_DieAward.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132365,7 +132365,8 @@ MonoBehaviour:
|
||||
bjEndUI: {fileID: 1790254316978060978, guid: 24c31eadc42c2a84782806970ca46b14, type: 3}
|
||||
useScorePanel: 1
|
||||
tMP_Score: {fileID: 6528776512666913368}
|
||||
scorePanelPrefab: {fileID: 0}
|
||||
scorePanelPrefab: {fileID: 2322849427427554443, guid: 76fbf7ef2bf607648b6fa328e86774da,
|
||||
type: 3}
|
||||
currScore: 0
|
||||
maxScore: 0
|
||||
scoreCount: 0
|
||||
@@ -132394,6 +132395,9 @@ MonoBehaviour:
|
||||
tMP_longzhu3: {fileID: 2498335782564118400}
|
||||
longzhu1: 0
|
||||
longzhu2: 0
|
||||
tmp_CoinNum: {fileID: 0}
|
||||
tmp_goldSprite: {fileID: 0}
|
||||
tmp_SilverSprite: {fileID: 0}
|
||||
--- !u!1 &1709867586078768
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -11,7 +11,7 @@ PrefabInstance:
|
||||
- target: {fileID: 236781439713602893, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: UI_baojiang Variant
|
||||
value: UI_baojiang Variant 7
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 685976588209175045, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
@@ -113,6 +113,42 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2278261232015200288, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_Sprite
|
||||
value:
|
||||
objectReference: {fileID: -2085821068, guid: 68e4fec764425b4438eb6a06c7b99c16,
|
||||
type: 3}
|
||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 385
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 326
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 2.1550467
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 2.1550467
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 2.1550467
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4213903445032130685, guid: a96966a1d55149a4f83724f224013303,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 141
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
|
||||
@@ -47,6 +47,7 @@ public class FLZY_SLZP_BOSS : MonsterControl_BossBase
|
||||
{
|
||||
|
||||
//GetComponent<Animator>().enabled = false;
|
||||
currEffect_DieAward.SetActive(true);
|
||||
if (currEffect_DieAward != null)
|
||||
currEffect_DieAward.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ public class FLZY_TSK_BOSS : MonsterControl_BossBase
|
||||
{
|
||||
|
||||
//GetComponent<Animator>().enabled = false;
|
||||
currEffect_DieAward.SetActive(true);
|
||||
if (currEffect_DieAward != null)
|
||||
currEffect_DieAward.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class FLZY_YGSM_BOSS : MonsterControl_BossBase
|
||||
{
|
||||
|
||||
//GetComponent<Animator>().enabled = false;
|
||||
currEffect_DieAward.SetActive(true);
|
||||
if (currEffect_DieAward != null)
|
||||
currEffect_DieAward.SetActive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,11 +22,11 @@ public class HHWK_ZDX_DieEvent : DieEffect_TSY
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
paoBei = (int)CreateFishManager.Instance.currGameType.currSitData.consumeGoldNum;
|
||||
// paoBei 由 CreateFishManager 杀鱼流程按击杀者座位传入(避免误用本地 currSitData)
|
||||
if (fishLayer == 0) fishLayer = LayerMask.GetMask("Fish");
|
||||
}
|
||||
|
||||
public void SetCoinCount()
|
||||
public override void SetCoinCount()
|
||||
{
|
||||
StartCoroutine(BombRoutine());
|
||||
}
|
||||
@@ -113,7 +113,8 @@ public class HHWK_ZDX_DieEvent : DieEffect_TSY
|
||||
if (control == null) continue;
|
||||
if (control.fishenum != FishTypeEnum.普通鱼) continue;
|
||||
|
||||
var sitPos = CreateFishManager.Instance.currGameType?.currSitData?.transform.position ?? Vector3.zero;
|
||||
// 金币飞向击杀者座位(GetSeatPosition 按 posID 查找,避免误用本地 currSitData)
|
||||
var sitPos = GetSeatPosition();
|
||||
CreateFishManager.Instance.Id_DieFish_FX(control.guid,
|
||||
new RedPacketRecord { Amount = paoBei * control.monsterData.fishTypeConfig.fishScore },
|
||||
sitPos,
|
||||
|
||||
@@ -1,5 +1,80 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &5598207015042782747
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4661670236367478549}
|
||||
- component: {fileID: 7626499617345871505}
|
||||
- component: {fileID: 5482184688706782502}
|
||||
m_Layer: 5
|
||||
m_Name: Text_beilv (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &4661670236367478549
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5598207015042782747}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 2.5648463, y: 2.5648463, z: 2.5648463}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5627438144398829183}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 23.282, y: -219}
|
||||
m_SizeDelta: {x: 192, y: 55}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7626499617345871505
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5598207015042782747}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5482184688706782502
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5598207015042782747}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 21300000, guid: 33d407ecd9f681c41a44162e3ad963e1, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1001 &2200719792388851550
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -236,6 +311,11 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 60
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5997907733971708680, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
type: 3}
|
||||
propertyPath: m_Enabled
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6769213647795418602, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
@@ -296,7 +376,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 5805751044334051617, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 4661670236367478549}
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 2144753057044015635, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
type: 3}
|
||||
@@ -325,7 +409,12 @@ MonoBehaviour:
|
||||
tMP_score: {fileID: 8500458599698691596}
|
||||
goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2}
|
||||
SilverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2}
|
||||
img_BaoJiangZhong: {fileID: 5482184688706782502}
|
||||
useScoreAnim: 0
|
||||
autoDestroyDelay: 5
|
||||
animTrigger_Appear: Appear
|
||||
animTrigger_Loop: Loop
|
||||
animTrigger_Close: Close
|
||||
--- !u!114 &4340237964197962142 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 2499807387639965376, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
@@ -338,6 +427,12 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!224 &5627438144398829183 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 5805751044334051617, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
type: 3}
|
||||
m_PrefabInstance: {fileID: 2200719792388851550}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &8500458599698691596 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7745405151849361746, guid: 016cca90246ec334390dabcc5bdb6207,
|
||||
|
||||
@@ -460,6 +460,8 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
||||
// SyncGameData_FreezeFish 已废弃:冰冻改由服务端 FishFrozen 事件统一触发
|
||||
EventCenter.Instance.AddEventListener(ConstEventString.FishFrozen, OnFishFrozen);
|
||||
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.SyncGameData_BotFireAngle, SyncGameData_BotFireAngle);
|
||||
// ⭐ 爆奖结束帧同步(baoJiangEnd):其他玩家爆奖完成,显示最终 BJEndUI 并加分
|
||||
EventCenter.Instance.AddEventListener<SyncGameData>(ConstEventString.BaoJiangEnd, OnBaoJiangEnd);
|
||||
btn_TuJian.onClick.AddListener(() =>
|
||||
{
|
||||
subUIManager.ShowAsync(UIPanel.GameTuJian);
|
||||
@@ -540,10 +542,13 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
||||
// SyncGameData_FreezeFish 已废弃:冰冻改由服务端 FishFrozen 事件统一触发
|
||||
EventCenter.Instance.RemoveEventListener(ConstEventString.FishFrozen, OnFishFrozen);
|
||||
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.SyncGameData_BotFireAngle, SyncGameData_BotFireAngle);
|
||||
EventCenter.Instance.RemoveEventListener<SyncGameData>(ConstEventString.BaoJiangEnd, OnBaoJiangEnd);
|
||||
|
||||
// ⭐ 离场清理:子弹池 + 特效池彻底清空,防止内存泄漏
|
||||
BulletPool.Instance.ClearAll();
|
||||
EffectPool.Instance.ClearAll();
|
||||
// ⭐ 清理未完成的 not-self 爆奖 pending(避免悬空引用)
|
||||
BaoJiangNotSelfHandler.ClearAll();
|
||||
|
||||
}
|
||||
public virtual void Start()
|
||||
@@ -2328,6 +2333,27 @@ public class GameMainPanel_FishBase : GameMainPanel_Base
|
||||
sit.tMP_TurretConsumeNum.text = data.cannonMultiple.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 爆奖结束帧同步(baoJiangEnd):
|
||||
/// 其他玩家爆奖流程完成,从 pending 取出对应 not-self 爆奖,
|
||||
/// 显示最终 BJEndUI(开 tMP_beishu / 关 img_BaoJiangZhong)并加分。
|
||||
/// 自己触发的爆奖不在这里处理(self 流程在 BJEventBase 内部已自行结束)。
|
||||
/// </summary>
|
||||
public void OnBaoJiangEnd(SyncGameData sync)
|
||||
{
|
||||
var data = FrameDataParser.Parse<FrameData_BaoJiangEnd>(sync.frameData);
|
||||
if (data == null)
|
||||
{
|
||||
Debug.LogWarning("[GameMainPanel_FishBase] OnBaoJiangEnd: frameData 解析失败");
|
||||
return;
|
||||
}
|
||||
|
||||
// 自己触发的爆奖不在这里处理(self 流程已自行走完)
|
||||
if (data.userId == GameManager.Instance.user.id) return;
|
||||
|
||||
BaoJiangNotSelfHandler.OnBaoJiangEnd(data.userId, data.fishId, data.beishu, data.score);
|
||||
}
|
||||
|
||||
public void SyncCannonMultiple(int consumeGold)
|
||||
{
|
||||
if (currSitData == null) return;
|
||||
|
||||
@@ -353,6 +353,16 @@ PrefabInstance:
|
||||
propertyPath: m_SortingLayer
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8127545208163857053, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: -70
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8127545208163857053, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 157
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8456731491629334137, guid: 509192cd5f627cf409a54e9be694a24d,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
|
||||
@@ -38,6 +38,11 @@ PrefabInstance:
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: -68
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6515038176716052403, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||
type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: -80
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6916578527196273495, guid: c9c177e60fd350e49844955f7e8a5874,
|
||||
type: 3}
|
||||
propertyPath: m_Pivot.x
|
||||
|
||||
@@ -1361,6 +1361,7 @@ RectTransform:
|
||||
- {fileID: 8688572226311385210}
|
||||
- {fileID: 5982321734877658021}
|
||||
- {fileID: 2913924626316377592}
|
||||
- {fileID: 6515038176716052403}
|
||||
m_Father: {fileID: 6916578527196273495}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -1553,6 +1554,157 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: -3.5020447, y: 36.505585}
|
||||
m_SizeDelta: {x: 170, y: 75}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &7786583167098886127
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5524080749604356889}
|
||||
- component: {fileID: 1631232687274162216}
|
||||
- component: {fileID: 73195319764559091}
|
||||
m_Layer: 5
|
||||
m_Name: Image
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5524080749604356889
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7786583167098886127}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6515038176716052403}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -11}
|
||||
m_SizeDelta: {x: 99, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1631232687274162216
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7786583167098886127}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &73195319764559091
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7786583167098886127}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 21300000, guid: 966302477530b50448107e982ba24b24, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8211773067005770755
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6515038176716052403}
|
||||
- component: {fileID: 6688785355602917098}
|
||||
- component: {fileID: 1292175335872007774}
|
||||
m_Layer: 5
|
||||
m_Name: witPlay (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6515038176716052403
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8211773067005770755}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5524080749604356889}
|
||||
m_Father: {fileID: 3177929166328559778}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
m_AnchoredPosition: {x: 57.1, y: 116}
|
||||
m_SizeDelta: {x: 151, y: 69}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6688785355602917098
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8211773067005770755}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &1292175335872007774
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8211773067005770755}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Sprite: {fileID: 21300000, guid: 754604517d492bd4a9ac914a9f9e08ce, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &8529218940359093989
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1821,6 +1973,8 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 16cfaab69e1fa404dbb8432276bd7537, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
IsBaoJiangingActive: 0
|
||||
obj_BaoJiangZhongPanelPosition: {fileID: 6515038176716052403}
|
||||
user:
|
||||
posID: 0
|
||||
isBot: 0
|
||||
|
||||
Reference in New Issue
Block a user