This commit is contained in:
2026-09-30 16:14:09 +08:00
parent c978257ae8
commit 01c1698446
13 changed files with 2923 additions and 66 deletions
@@ -2256,7 +2256,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1033896045048338}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -4679,7 +4679,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1193662895144517}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -7023,7 +7023,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1208873996053801}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -9367,7 +9367,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1219660934025711}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -11871,7 +11871,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1284696167191686}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -14215,7 +14215,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1313594301824660}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -16541,7 +16541,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1398106422457306}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -19027,7 +19027,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1447908286327266}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -21521,7 +21521,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1551809529683281}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -21612,7 +21612,7 @@ RectTransform:
m_GameObject: {fileID: 1582536994056409}
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_LocalScale: {x: 0.120085694, y: 0.120085694, z: 0.120085694}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4985964694148754}
@@ -23914,7 +23914,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1612003737513846}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -26638,7 +26638,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1792566668142974}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -28982,7 +28982,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1805335620387912}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -31421,7 +31421,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1930270172587962}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -31516,6 +31516,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 224138756495510157}
- {fileID: 1392908317524849511}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: -0, z: -0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -33783,7 +33784,7 @@ ParticleSystemRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1989899695133455}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
@@ -33849,3 +33850,97 @@ ParticleSystemRenderer:
m_MeshWeighting2: 1
m_MeshWeighting3: 1
m_MaskInteraction: 0
--- !u!1 &59512094121498558
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1392908317524849511}
- component: {fileID: 425266106083172384}
- component: {fileID: 229434428170968108}
m_Layer: 0
m_Name: UIParticle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1392908317524849511
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59512094121498558}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 224755774330983784}
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: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &425266106083172384
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59512094121498558}
m_CullTransparentMesh: 1
--- !u!114 &229434428170968108
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 59512094121498558}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 16f0b0b6d0b7542bfbd20a3e05b04ff1, 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_IsTrail: 0
m_IgnoreCanvasScaler: 0
m_AbsoluteMode: 0
m_Scale3D: {x: 10, y: 10, z: 10}
m_AnimatableProperties: []
m_Particles:
- {fileID: 198703387020033951}
- {fileID: 198884891926902032}
- {fileID: 198965919480127910}
- {fileID: 198576936010342944}
- {fileID: 198775450955238606}
- {fileID: 198849845414497534}
- {fileID: 198984242547142408}
- {fileID: 198394234608150490}
- {fileID: 198671052729123458}
- {fileID: 198192053330689469}
- {fileID: 198733783233396522}
- {fileID: 198358688848647194}
- {fileID: 198589246787407308}
- {fileID: 198453188044473444}
m_MeshSharing: 0
m_GroupId: 0
m_GroupMaxId: 0
m_PositionMode: 0
m_AutoScaling: 0
m_AutoScalingMode: 2
m_UseCustomView: 0
m_CustomViewSize: 10
m_TimeScaleMultiplier: 1
@@ -1058,5 +1058,21 @@
{
"AudioID": 69008,
"AudioResourcesPath": "tanchuang01"
},
{
"AudioID": 69009,
"AudioResourcesPath": "PW_FlameStrike_Explosion"
},
{
"AudioID": 69010,
"AudioResourcesPath": "PW_FlameStrike_Die"
},
{
"AudioID": 69011,
"AudioResourcesPath": "PW_FlameStrike_WheelExplosion"
},
{
"AudioID": 69012,
"AudioResourcesPath": "PW_FlameStrike_WheelFly"
}
]
]
@@ -0,0 +1,876 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5657820397927686606
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 611658169676542513}
- component: {fileID: 4434546523272561919}
- component: {fileID: 3700004729437272658}
m_Layer: 0
m_Name: UIParticle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &611658169676542513
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5657820397927686606}
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: 5099493065246439022}
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: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4434546523272561919
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5657820397927686606}
m_CullTransparentMesh: 1
--- !u!114 &3700004729437272658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5657820397927686606}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 16f0b0b6d0b7542bfbd20a3e05b04ff1, 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_IsTrail: 0
m_IgnoreCanvasScaler: 0
m_AbsoluteMode: 0
m_Scale3D: {x: 10, y: 10, z: 10}
m_AnimatableProperties: []
m_Particles:
- {fileID: 5123837299890729997}
- {fileID: 5123019440638929386}
- {fileID: 5144965514322434552}
- {fileID: 5123733660775547868}
- {fileID: 5123338851026555760}
- {fileID: 5144982072462428375}
- {fileID: 5123245225754838010}
- {fileID: 5123837029914408136}
- {fileID: 5123934487604989336}
- {fileID: 5123809921788317046}
- {fileID: 5145054862867627670}
- {fileID: 5123879740156429778}
- {fileID: 5123015654866844595}
- {fileID: 5144985319994878380}
m_MeshSharing: 0
m_GroupId: 0
m_GroupMaxId: 0
m_PositionMode: 0
m_AutoScaling: 0
m_AutoScalingMode: 2
m_UseCustomView: 0
m_CustomViewSize: 10
m_TimeScaleMultiplier: 1
--- !u!1 &8632077725579729901
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2862763110737950438}
- component: {fileID: 2171263381267751440}
- component: {fileID: 7607018625541608304}
m_Layer: 0
m_Name: Node (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2862763110737950438
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8632077725579729901}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5099240865363895279}
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: 8}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2171263381267751440
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8632077725579729901}
m_CullTransparentMesh: 1
--- !u!114 &7607018625541608304
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8632077725579729901}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 225
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: fdd40eef2e75f6d46b51c289c46fe60b, type: 2}
m_sharedMaterial: {fileID: 581533097809427942, guid: fdd40eef2e75f6d46b51c289c46fe60b,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1001 &5033165436743711796
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1839558620166237, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_Name
value: PW_Effect_Settle_FlameStrike_Other_LieYanFengBao
objectReference: {fileID: 0}
- target: {fileID: 4114335629661065, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4114335629661065, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4114335629661065, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4114335629661065, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4174650232980343, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4174650232980343, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4174650232980343, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4174650232980343, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4277086544765665, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4277086544765665, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4277086544765665, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4277086544765665, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4383690998090584, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4383690998090584, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4383690998090584, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4383690998090584, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4546907641096599, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4546907641096599, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4546907641096599, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4546907641096599, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4558991799917626, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4558991799917626, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4558991799917626, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4558991799917626, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4604818369250695, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4604818369250695, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4604818369250695, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4604818369250695, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4614813364943907, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4614813364943907, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4614813364943907, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4614813364943907, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4643828024468598, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4643828024468598, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4643828024468598, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4643828024468598, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4938463267618825, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4938463267618825, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4938463267618825, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4938463267618825, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4944901072564153, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4944901072564153, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4944901072564153, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4944901072564153, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4963715383831928, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4963715383831928, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4963715383831928, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4963715383831928, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199190725371744520, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199223597186064780, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199223597186064780, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199240824827508592, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199240824827508592, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199359342496699630, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199359342496699630, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199405595978576181, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199405595978576181, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199431425606894863, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199431425606894863, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199466781073224134, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199624308978622081, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199624308978622081, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199662544672368292, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199662544672368292, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199746080170048026, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199746080170048026, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199887702332329712, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199887702332329712, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199901022197198627, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199901022197198627, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199937180297813460, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199937180297813460, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199988697685153311, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199988697685153311, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224075893202919788, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalScale.x
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224075893202919788, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalScale.y
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224075893202919788, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalScale.z
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224075893202919788, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SizeDelta.x
value: 100
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_SizeDelta.y
value: 100
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 224766280695842176, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalScale.x
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224766280695842176, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalScale.y
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224766280695842176, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_LocalScale.z
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224766280695842176, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 541843273291347727, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 11400000, guid: fdd40eef2e75f6d46b51c289c46fe60b,
type: 2}
- target: {fileID: 541843273291347727, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_spriteAsset
value:
objectReference: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732,
type: 2}
- target: {fileID: 541843273291347727, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
propertyPath: m_sharedMaterial
value:
objectReference: {fileID: 581533097809427942, guid: fdd40eef2e75f6d46b51c289c46fe60b,
type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
insertIndex: -1
addedObject: {fileID: 611658169676542513}
- targetCorrespondingSourceObject: {fileID: 224407851824209883, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
insertIndex: -1
addedObject: {fileID: 2862763110737950438}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 1839558620166237, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
insertIndex: -1
addedObject: {fileID: 3538871229891057888}
m_SourcePrefab: {fileID: 100100000, guid: cdd56f285b128de43a0f9a43eb0fbbd4, type: 3}
--- !u!114 &4781809992268696379 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 541843273291347727, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &5035002796340462697 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1839558620166237, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!114 &3538871229891057888
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5035002796340462697}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f0df2f946ba608449970c84418dade5, type: 3}
m_Name:
m_EditorClassIdentifier:
tMP_beishu: {fileID: 7607018625541608304}
tMP_score: {fileID: 4781809992268696379}
goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2}
SilverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2}
img_BaoJiangZhong: {fileID: 0}
useScoreAnim: 0
autoDestroyDelay: 5
animTrigger_Appear: Appear
animTrigger_Loop: Loop
animTrigger_Close: Close
--- !u!224 &5099240865363895279 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 224407851824209883, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!224 &5099493065246439022 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 224173519946451546, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123015654866844595 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198720045604112263, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123019440638929386 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198715035262244318, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123245225754838010 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198168484339040206, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123338851026555760 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198339554309353284, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123733660775547868 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198806899621953512, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123809921788317046 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198730912613101890, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123837029914408136 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198971944495450364, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123837299890729997 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198971664686630969, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123879740156429778 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198941466322123238, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5123934487604989336 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198925879411241388, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5144965514322434552 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198144828791530956, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5144982072462428375 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198088718228239587, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5144985319994878380 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198103063956100504, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
--- !u!198 &5145054862867627670 stripped
ParticleSystem:
m_CorrespondingSourceObject: {fileID: 198032416978174626, guid: cdd56f285b128de43a0f9a43eb0fbbd4,
type: 3}
m_PrefabInstance: {fileID: 5033165436743711796}
m_PrefabAsset: {fileID: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8bb40263fe3965e42a7284638c608669
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,618 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &493654234268629606
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1845403943972918876}
- component: {fileID: 6625486925322978707}
- component: {fileID: 3401284955205814185}
m_Layer: 0
m_Name: Node (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1845403943972918876
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 493654234268629606}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2802097736035665982}
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: 8}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6625486925322978707
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 493654234268629606}
m_CullTransparentMesh: 1
--- !u!114 &3401284955205814185
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 493654234268629606}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 225
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: fdd40eef2e75f6d46b51c289c46fe60b, type: 2}
m_sharedMaterial: {fileID: 581533097809427942, guid: fdd40eef2e75f6d46b51c289c46fe60b,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1001 &2737512664669609682
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1975283980593623, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_Name
value: PW_Effect_Settle_FlameStrike_Self_LieYanFengBao
objectReference: {fileID: 0}
- target: {fileID: 4073778140408078, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4073778140408078, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4073778140408078, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4073778140408078, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4086971925463187, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4086971925463187, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4086971925463187, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4086971925463187, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173788942324584, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173788942324584, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173788942324584, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173788942324584, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4173942156620401, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173942156620401, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173942156620401, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4173942156620401, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4290124674638631, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4290124674638631, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4290124674638631, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4290124674638631, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4430978228451694, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4430978228451694, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4430978228451694, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4430978228451694, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4505582310213942, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4505582310213942, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4505582310213942, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4505582310213942, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4573875059679711, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4573875059679711, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4573875059679711, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4573875059679711, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4586202993141782, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4586202993141782, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4586202993141782, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4586202993141782, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4839781832761327, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4839781832761327, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4839781832761327, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4839781832761327, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4951995500193371, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4951995500193371, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4951995500193371, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4951995500193371, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4985964694148754, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4985964694148754, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.y
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4985964694148754, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_LocalScale.z
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4985964694148754, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 199036109829276432, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199229855179324422, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199255332696486556, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199276217452534426, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199314441200958286, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199328421590548816, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199479123363344580, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199551733142680401, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199592904246403916, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199710495840264799, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199860373076587039, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 199869581556947414, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SortingLayerID
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224093281909371169, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalScale.x
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224093281909371169, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalScale.y
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224093281909371169, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalScale.z
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224093281909371169, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 224534425791233575, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalScale.x
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224534425791233575, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalScale.y
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224534425791233575, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalScale.z
value: 0.16666667
objectReference: {fileID: 0}
- target: {fileID: 224534425791233575, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_ConstrainProportionsScale
value: 1
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SizeDelta.x
value: 100
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_SizeDelta.y
value: 100
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 224755774330983784, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4504863438522023915, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 11400000, guid: fdd40eef2e75f6d46b51c289c46fe60b,
type: 2}
- target: {fileID: 4504863438522023915, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_spriteAsset
value:
objectReference: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732,
type: 2}
- target: {fileID: 4504863438522023915, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
propertyPath: m_sharedMaterial
value:
objectReference: {fileID: 581533097809427942, guid: fdd40eef2e75f6d46b51c289c46fe60b,
type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 224780071856428780, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
insertIndex: -1
addedObject: {fileID: 1845403943972918876}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 1975283980593623, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
insertIndex: -1
addedObject: {fileID: 6851813161629516764}
m_SourcePrefab: {fileID: 100100000, guid: b6111b6dc5409de48a4717d022a57a7a, type: 3}
--- !u!114 &1979864398759207225 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4504863438522023915, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
m_PrefabInstance: {fileID: 2737512664669609682}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &2736673176275498757 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1975283980593623, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
m_PrefabInstance: {fileID: 2737512664669609682}
m_PrefabAsset: {fileID: 0}
--- !u!114 &6851813161629516764
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2736673176275498757}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f0df2f946ba608449970c84418dade5, type: 3}
m_Name:
m_EditorClassIdentifier:
tMP_beishu: {fileID: 3401284955205814185}
tMP_score: {fileID: 1979864398759207225}
goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2}
SilverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2}
img_BaoJiangZhong: {fileID: 0}
useScoreAnim: 0
autoDestroyDelay: 5
animTrigger_Appear: Appear
animTrigger_Loop: Loop
animTrigger_Close: Close
--- !u!224 &2802097736035665982 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 224780071856428780, guid: b6111b6dc5409de48a4717d022a57a7a,
type: 3}
m_PrefabInstance: {fileID: 2737512664669609682}
m_PrefabAsset: {fileID: 0}
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fc048878daf2b9f47a16820422c7ac8f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,156 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &1144595297326735670
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1470654012191911, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6, type: 3}
propertyPath: m_Name
value: PW_Effect_AwardFrame_FlameStrike_LieYanFengBao
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_SizeDelta.x
value: 100
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_SizeDelta.y
value: 100
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 224423153069060806, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: -0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 1470654012191911, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
insertIndex: -1
addedObject: {fileID: 4761239114563781348}
m_SourcePrefab: {fileID: 100100000, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6, type: 3}
--- !u!1 &1145975711904159121 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1470654012191911, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
m_PrefabInstance: {fileID: 1144595297326735670}
m_PrefabAsset: {fileID: 0}
--- !u!114 &4761239114563781348
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1145975711904159121}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7af97c1c3c67315429108cfd527e33c1, type: 3}
m_Name:
m_EditorClassIdentifier:
tmp_CoinNum: {fileID: 4754898769304251878}
goldSprite: {fileID: 11400000, guid: b5a3b539bfcb41e46ad594b9b14d7732, type: 2}
silverSprite: {fileID: 11400000, guid: e034cf5e78470b44f8a1c4d42d5039d6, type: 2}
--- !u!114 &4754898769304251878 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 5629112949507116240, guid: 3ef3e32635421fd4c9d4cd0cf822e0b6,
type: 3}
m_PrefabInstance: {fileID: 1144595297326735670}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d17cf24f0ea9d6c448a7a91eecb855a5
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8f4619b3f0dc58a478c88af80c61de9e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,694 @@
#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Coffee.UIExtensions;
using TMPro;
using UnityEditor;
using UnityEngine;
/// <summary>
/// 烈焰风暴「结算面板(Settle)」/「奖励框(AwardFrame)」的 UI 化变体生成器。
///
/// 背景:XJMH 的爆奖面板都是「Art 源预制体 → MyGame 变体」两层。Art 源是给 3D 场景用的,
/// 直接当 UI 用会有三个问题:粒子不在 Canvas 里渲染、卡面数字没接、没有 BJEndUI 写分数。
/// 同门 Boss(铁拳 / 伽马风暴 / 破坏球 / 幸运轮 …)都在
/// <c>Assets/MyGame/aa/Game/XJMH/Boss/BJ/BJEnd</c> 下留了做好的变体,本脚本就是照抄它们的做法。
///
/// 从已有变体(PW_Effect_Settle_IronFist_Self_XingJiXunHang)反解出来的加工步骤:
/// 1. 所有 ParticleSystemRenderer:m_Enabled = 0(改由 UIParticle 渲染)
/// 2. 所有 ParticleSystemRenderer:m_SortingLayer = 0(对齐 Default 层)
/// 3. 根下新增 <c>UIParticle</c> 子节点:UIParticle 组件 + m_Particles 收全所有粒子
/// + m_Scale3D = (10,10,10)
/// ⚠ 这个节点自己的 localScale 在运行时会被 UIParticle 覆盖掉
/// (AutoScalingMode.Transform → UpdateTransformScale() 把它设成 1/parentLossyScale),
/// 所以模板里写 0 也只是"随便写";真正决定大小的是「各粒子节点 localScale × m_Scale3D」。
/// 3b. 各粒子节点 localScale 归一化:模板把源里的 30 / 46.176 / 48.395 统一改成 5
/// (配 m_Scale3D=10,等效放大 ≈1.67×,是同门统一口径)
/// 4. 根 RectTransform:anchor/pivot = 0.5,sizeDelta = 100×100,位置归零
/// 5. 分数文本(<c>Node/Textparent/Node</c>):字体换 SourceHanSans、spriteAsset 换金币图
/// 6. <c>Textparent</c> 下新增 <c>Node (1)</c> 文本(倍数用),scale 0.7 / 位置 (0,8) / 字号 36
/// 7. 根上挂 BJEndUI:tMP_score = 源里的分数文本,tMP_beishu = 新增的 Node (1)
///
/// 奖励框(AwardFrame)另走一条:不碰粒子,只在根上挂 BJImage(tmp_CoinNum = <c>Num</c> 文本)。
///
/// ⚠️ 本脚本不会去改 Art 源预制体(除非你点「就地补齐选中预制体」)。生成的是变体,
/// 这样以后美术更新 Art 源,MyGame 变体还能跟着走。
/// </summary>
public class FlameStrikeVariantBuilder : EditorWindow
{
// ---------------------------------------------------------------- 路径常量
private const string ArtEffectDir = "Assets/Art/XJMH/pw/pw_prefab/game/effect";
private const string BJEndDir = "Assets/MyGame/aa/Game/XJMH/Boss/BJ/BJEnd";
private const string BJScoreDir = "Assets/MyGame/aa/Game/XJMH/Boss/BJ/BJScore";
/// <summary>变体文件名后缀(与同门 _XingJiXunHang / _XieZi 一致)</summary>
private const string Suffix = "_LieYanFengBao";
// ---------------------------------------------------------------- 资源 guid(与同门变体完全一致)
private const string GoldSpriteGuid = "b5a3b539bfcb41e46ad594b9b14d7732";
private const string SilverSpriteGuid = "e034cf5e78470b44f8a1c4d42d5039d6";
private const string FontGuid = "fdd40eef2e75f6d46b51c289c46fe60b";
// ---------------------------------------------------------------- 模板参考值(从 BJEnd 已有变体抄的)
private const float TemplateParticleNodeScale = 5f; // 粒子节点 localScale(源里是 30 / 46.176 / 48.395)
private const float TemplateBeishuScale = 0.7f; // 倍数文本 localScale
private static readonly Vector2 TemplateBeishuPos = new Vector2(0f, 8f);
private static readonly Vector2 TemplateBeishuSize = new Vector2(200f, 50f);
private const float TemplateBeishuFontSize = 36f;
private static readonly Vector3 TemplateUiParticleScale3D = new Vector3(10f, 10f, 10f);
// ---------------------------------------------------------------- 选项
private bool _addUiParticle = true;
private bool _disableParticleRenderers = true;
private bool _resetSortingLayer = true;
private bool _scaleParticleNodes = true; // 模板口径:粒子节点归一化到 5
private bool _proportionalScale = true; // 按比例归一化(保留节点之间的相对大小)
private float _particleNodeScale = TemplateParticleNodeScale;
private bool _fixRootRect = true;
private bool _applyTextStyle = true;
private bool _addBjEndUI = true;
private bool _createBeishuNode = true;
private bool _addBjImage = true;
private bool _overwrite;
private Vector2 _scroll;
[MenuItem("Tools/烈焰风暴/结算面板 & 奖励框 变体生成器")]
private static void Open()
{
var w = GetWindow<FlameStrikeVariantBuilder>(false, "烈焰风暴变体", true);
w.minSize = new Vector2(460f, 520f);
w.Show();
}
private void OnGUI()
{
_scroll = EditorGUILayout.BeginScrollView(_scroll);
EditorGUILayout.LabelField("数据源(Art 源预制体)", EditorStyles.boldLabel);
EditorGUILayout.HelpBox(
"源都在 Assets/Art/XJMH/pw/pw_prefab/game/effect 下:\n" +
" · PW_Effect_Settle_FlameStrike_Self → " + BJEndDir + "\n" +
" · PW_Effect_Settle_FlameStrike_Other → " + BJEndDir + "\n" +
" · PW_Effect_AwardFrame_FlameStrike → " + BJScoreDir + "\n" +
"生成的变体名会带后缀 " + Suffix, MessageType.None);
EditorGUILayout.Space();
EditorGUILayout.LabelField("加工步骤(对齐 BJEnd 里已有变体)", EditorStyles.boldLabel);
_disableParticleRenderers = EditorGUILayout.ToggleLeft(
"关闭所有 ParticleSystemRenderer(改由 UIParticle 渲染)", _disableParticleRenderers);
_resetSortingLayer = EditorGUILayout.ToggleLeft(
"所有粒子 Renderer 的 SortingLayer 归零(Default)", _resetSortingLayer);
_addUiParticle = EditorGUILayout.ToggleLeft(
"添加 / 复用 UIParticle 节点,并自动收全所有粒子(Scale3D = 10,10,10)", _addUiParticle);
_fixRootRect = EditorGUILayout.ToggleLeft(
"修正根 RectTransform(anchor/pivot 0.5、sizeDelta 100×100、位置归零)", _fixRootRect);
_applyTextStyle = EditorGUILayout.ToggleLeft(
"分数文本套用模板样式(SourceHanSans + 金币 spriteAsset)", _applyTextStyle);
using (new EditorGUI.IndentLevelScope())
{
_scaleParticleNodes = EditorGUILayout.ToggleLeft(
$"把各粒子节点的 localScale 归一化到 {TemplateParticleNodeScale}(模板口径)", _scaleParticleNodes);
using (new EditorGUI.DisabledScope(!_scaleParticleNodes))
{
_proportionalScale = EditorGUILayout.ToggleLeft(
"按比例归一化(保留节点之间的相对大小,推荐)", _proportionalScale);
_particleNodeScale = EditorGUILayout.FloatField(
_proportionalScale ? "主缩放归一化到" : "所有节点统一改成", _particleNodeScale);
}
EditorGUILayout.HelpBox(
"源里各粒子节点的 localScale 是 30(12 个)+ 1(2 个)。模板把 30 归一化成 5," +
"再配 m_Scale3D = 10 → 等效 50,与其它 Boss 面板同一口径。\n" +
"「按比例」= 30→5、1→0.1667(推荐,不会把原本小的节点放大 5 倍);\n" +
"关掉则所有节点都写 " + _particleNodeScale + "。\n" +
"⚠ UIParticle 节点自己的 scale 运行时会被强制改成 1/parentLossyScale(AutoScalingMode.Transform)," +
"在预制体里调它是没用的,别白费功夫。", MessageType.Info);
}
EditorGUILayout.Space();
EditorGUILayout.LabelField("挂脚本", EditorStyles.boldLabel);
_addBjEndUI = EditorGUILayout.ToggleLeft(
"BJEndUI(结算面板:写倍数 + 最终分数)", _addBjEndUI);
using (new EditorGUI.IndentLevelScope())
{
_createBeishuNode = EditorGUILayout.ToggleLeft(
"在 Textparent 下新建 Node (1) 作为倍数文本", _createBeishuNode);
}
_addBjImage = EditorGUILayout.ToggleLeft(
"BJImage(奖励框:写金币数)", _addBjImage);
EditorGUILayout.Space();
_overwrite = EditorGUILayout.ToggleLeft("允许覆盖已存在的变体文件", _overwrite);
EditorGUILayout.Space();
if (GUILayout.Button("生成:结算面板 Self + Other", GUILayout.Height(30f)))
{
BuildSettlePanel(true);
BuildSettlePanel(false);
}
if (GUILayout.Button("生成:结算面板 Self", GUILayout.Height(24f))) BuildSettlePanel(true);
if (GUILayout.Button("生成:结算面板 Other", GUILayout.Height(24f))) BuildSettlePanel(false);
EditorGUILayout.Space();
if (GUILayout.Button("生成:奖励框 AwardFrame", GUILayout.Height(24f))) BuildAwardFrame();
EditorGUILayout.Space();
EditorGUILayout.LabelField("备用", EditorStyles.boldLabel);
if (GUILayout.Button("就地补齐选中的预制体(不生成变体,直接改它自己)", GUILayout.Height(24f)))
{
PatchSelectedInPlace();
}
EditorGUILayout.Space();
if (GUILayout.Button("检查资源到位情况", GUILayout.Height(24f))) ReportAssets();
EditorGUILayout.EndScrollView();
}
// ================================================================ 生成入口
private void BuildSettlePanel(bool isSelf)
{
string srcName = isSelf ? "PW_Effect_Settle_FlameStrike_Self" : "PW_Effect_Settle_FlameStrike_Other";
string srcPath = ArtEffectDir + "/" + srcName + ".prefab";
string dstPath = BJEndDir + "/" + srcName + Suffix + ".prefab";
CreateVariant(srcPath, dstPath, root => ModifySettlePanel(root, isSelf));
}
private void BuildAwardFrame()
{
const string srcName = "PW_Effect_AwardFrame_FlameStrike";
string srcPath = ArtEffectDir + "/" + srcName + ".prefab";
string dstPath = BJScoreDir + "/" + srcName + Suffix + ".prefab";
CreateVariant(srcPath, dstPath, ModifyAwardFrame);
}
// ================================================================ 变体创建
/// <summary>把 Art 源实例化成变体并保存到目标路径(SaveAsPrefabAsset 作用在预制体实例上 → 生成变体)。</summary>
private void CreateVariant(string srcPath, string dstPath, Action<GameObject> modify)
{
var src = AssetDatabase.LoadAssetAtPath<GameObject>(srcPath);
if (src == null)
{
Debug.LogError($"[烈焰风暴变体] 找不到源预制体:{srcPath}");
return;
}
EnsureFolder(Path.GetDirectoryName(dstPath).Replace('\\', '/'));
if (File.Exists(dstPath) && !_overwrite)
{
Debug.LogError($"[烈焰风暴变体] {dstPath} 已存在。要覆盖请先勾选「允许覆盖已存在的变体文件」," +
"或直接在 Project 里改名后再生成。");
return;
}
var inst = PrefabUtility.InstantiatePrefab(src) as GameObject;
if (inst == null)
{
Debug.LogError($"[烈焰风暴变体] 实例化失败:{srcPath}");
return;
}
try
{
inst.name = Path.GetFileNameWithoutExtension(dstPath);
modify?.Invoke(inst);
PrefabUtility.SaveAsPrefabAsset(inst, dstPath, out bool success);
if (!success)
{
Debug.LogError($"[烈焰风暴变体] 保存失败:{dstPath}");
return;
}
AssetDatabase.SaveAssets();
var saved = AssetDatabase.LoadAssetAtPath<GameObject>(dstPath);
var type = PrefabUtility.GetPrefabAssetType(saved);
if (type == PrefabAssetType.Variant)
Debug.Log($"[烈焰风暴变体] ✔ 已生成变体:{dstPath}");
else
Debug.LogWarning($"[烈焰风暴变体] {dstPath} 已生成,但类型是 {type} 而不是 Variant " +
"(说明它没继承 Art 源,请检查)");
if (saved != null) EditorGUIUtility.PingObject(saved);
}
finally
{
DestroyImmediate(inst);
}
}
// ================================================================ 结算面板加工
/// <summary>结算面板(Settle_FlameStrike_Self / _Other)的 UI 化 + BJEndUI。</summary>
private void ModifySettlePanel(GameObject root, bool isSelf)
{
var sb = new StringBuilder();
sb.AppendLine($"[烈焰风暴变体] 处理 {(isSelf ? "Self" : "Other")} 结算面板:{root.name}");
// ---- 1/2. 粒子 Renderer:关掉自带渲染 + 层归零
var psList = root.GetComponentsInChildren<ParticleSystem>(true);
int rendererCount = 0;
foreach (var ps in psList)
{
var psr = ps.GetComponent<ParticleSystemRenderer>();
if (psr == null) continue;
if (_disableParticleRenderers) psr.enabled = false;
if (_resetSortingLayer) psr.sortingLayerID = 0;
rendererCount++;
}
sb.AppendLine($" 粒子系统 {psList.Length} 个,Renderer 处理 {rendererCount} 个" +
$"(enabled={!_disableParticleRenderers}、sortingLayer 归零={_resetSortingLayer})");
// ---- 3. UIParticle 节点
if (_addUiParticle)
{
bool created = EnsureUiParticle(root, psList, out int particleCount);
sb.AppendLine(created
? $" 新建 UIParticle 节点,收粒子 {particleCount} 个,Scale3D={TemplateUiParticleScale3D}"
: $" 复用已有 UIParticle 节点,刷新粒子列表 {particleCount} 个,Scale3D={TemplateUiParticleScale3D}");
// 粒子节点缩放归一化:模板把源里的 30 / 46.176 / 48.395 统一改成 5,配 m_Scale3D=10 用。
// ⚠ 这一步与 UIParticle 是新建还是复用无关 —— 真正决定大小的是「粒子节点 scale × m_Scale3D」,
// UIParticle 节点自己的 scale 运行时会被 AutoScalingMode.Transform 覆盖,两种情况都要归一化。
if (_scaleParticleNodes)
sb.AppendLine(NormalizeParticleNodeScales(psList));
else
sb.AppendLine(" 粒子节点缩放:保持源里的原值(未归一化 —— 与其它 Boss 面板口径不一致,请预览确认)");
}
// ---- 4. 根 RectTransform
if (_fixRootRect)
{
var rt = root.GetComponent<RectTransform>();
if (rt != null)
{
rt.anchorMin = new Vector2(0.5f, 0.5f);
rt.anchorMax = new Vector2(0.5f, 0.5f);
rt.pivot = new Vector2(0.5f, 0.5f);
rt.sizeDelta = new Vector2(100f, 100f);
rt.anchoredPosition = Vector2.zero;
rt.localPosition = Vector3.zero;
rt.localRotation = Quaternion.identity;
sb.AppendLine(" 根 RectTransform:anchor/pivot 0.5、sizeDelta 100×100、位置归零");
}
}
// ---- 5. 分数文本样式
var scoreTmp = FindScoreTmp(root);
if (scoreTmp == null)
{
Debug.LogError($"[烈焰风暴变体] {root.name} 里找不到分数文本(预期路径 Node/Textparent/Node),BJEndUI 未挂");
}
else if (_applyTextStyle)
{
var font = LoadAsset<TMP_FontAsset>(FontGuid);
var gold = LoadAsset<TMP_SpriteAsset>(GoldSpriteGuid);
if (font != null) scoreTmp.font = font;
if (gold != null) scoreTmp.spriteAsset = gold;
sb.AppendLine($" 分数文本 {GetPath(scoreTmp.transform)}:字体=" +
$"{(font != null ? font.name : "未改")}、spriteAsset={(gold != null ? gold.name : "未改")}");
}
// ---- 6/7. 倍数文本 + BJEndUI
if (_addBjEndUI)
{
if (scoreTmp == null)
{
sb.AppendLine(" 跳过 BJEndUI(没有分数文本可接)");
}
else
{
TextMeshProUGUI beishuTmp = null;
if (_createBeishuNode)
{
beishuTmp = EnsureBeishuNode(scoreTmp);
sb.AppendLine($" 倍数文本:{GetPath(beishuTmp.transform)}(scale {TemplateBeishuScale}," +
$"pos {TemplateBeishuPos},字号 {TemplateBeishuFontSize})");
}
var endUI = root.GetComponent<BJEndUI>();
if (endUI == null) endUI = root.AddComponent<BJEndUI>();
endUI.tMP_score = scoreTmp;
endUI.tMP_beishu = beishuTmp;
endUI.goldSprite = LoadAsset<TMP_SpriteAsset>(GoldSpriteGuid);
endUI.SilverSprite = LoadAsset<TMP_SpriteAsset>(SilverSpriteGuid);
endUI.img_BaoJiangZhong = null;
endUI.useScoreAnim = false;
endUI.autoDestroyDelay = 5f;
sb.AppendLine($" 已挂 BJEndUI(tMP_score={scoreTmp.name}、" +
$"tMP_beishu={(beishuTmp != null ? beishuTmp.name : "空")}," +
$"gold/SilverSprite 已接,autoDestroyDelay=5)");
}
}
Debug.Log(sb.ToString());
}
// ================================================================ 奖励框加工
/// <summary>奖励框(AwardFrame_FlameStrike):不碰粒子,只挂 BJImage(写金币数)。</summary>
private void ModifyAwardFrame(GameObject root)
{
var sb = new StringBuilder();
sb.AppendLine($"[烈焰风暴变体] 处理奖励框:{root.name}");
if (_fixRootRect)
{
var rt = root.GetComponent<RectTransform>();
if (rt != null)
{
rt.anchorMin = new Vector2(0.5f, 0.5f);
rt.anchorMax = new Vector2(0.5f, 0.5f);
rt.pivot = new Vector2(0.5f, 0.5f);
rt.sizeDelta = new Vector2(100f, 100f);
rt.anchoredPosition = Vector2.zero;
rt.localPosition = Vector3.zero;
rt.localRotation = Quaternion.identity;
sb.AppendLine(" 根 RectTransform:anchor/pivot 0.5、sizeDelta 100×100、位置归零");
}
}
if (_addBjImage)
{
var coinTmp = FindCoinNumTmp(root);
if (coinTmp == null)
{
Debug.LogError($"[烈焰风暴变体] {root.name} 里找不到金币数字文本(预期在 Num 节点下),BJImage 未挂");
}
else
{
var bjImage = root.GetComponent<BJImage>();
if (bjImage == null) bjImage = root.AddComponent<BJImage>();
bjImage.tmp_CoinNum = coinTmp;
bjImage.goldSprite = LoadAsset<TMP_SpriteAsset>(GoldSpriteGuid);
bjImage.silverSprite = LoadAsset<TMP_SpriteAsset>(SilverSpriteGuid);
sb.AppendLine($" 已挂 BJImage(tmp_CoinNum={GetPath(coinTmp.transform)},gold/silverSprite 已接)");
}
}
Debug.Log(sb.ToString());
}
// ================================================================ 就地补齐(改选中预制体本身)
private void PatchSelectedInPlace()
{
var path = AssetDatabase.GetAssetPath(Selection.activeObject);
if (string.IsNullOrEmpty(path) || !path.EndsWith(".prefab", StringComparison.OrdinalIgnoreCase))
{
Debug.LogError("[烈焰风暴变体] 请先在 Project 窗口里选中一个 .prefab 再点这个按钮");
return;
}
if (PrefabUtility.GetPrefabAssetType(Selection.activeObject) == PrefabAssetType.Variant)
{
Debug.LogError($"[烈焰风暴变体] {path} 是变体,请直接在变体上改;就地补齐只支持普通预制体");
return;
}
var contents = PrefabUtility.LoadPrefabContents(path);
if (contents == null) return;
try
{
bool isAwardFrame = contents.name.IndexOf("AwardFrame", StringComparison.OrdinalIgnoreCase) >= 0;
if (isAwardFrame) ModifyAwardFrame(contents);
else ModifySettlePanel(contents, contents.name.IndexOf("Self", StringComparison.OrdinalIgnoreCase) >= 0);
PrefabUtility.SaveAsPrefabAsset(contents, path, out bool ok);
if (ok) Debug.Log($"[烈焰风暴变体] ✔ 已就地补齐:{path}");
else Debug.LogError($"[烈焰风暴变体] 就地保存失败:{path}");
}
finally
{
PrefabUtility.UnloadPrefabContents(contents);
}
AssetDatabase.SaveAssets();
}
// ================================================================ 资源检查
private void ReportAssets()
{
var sb = new StringBuilder("[烈焰风暴] 资源到位检查\n");
CheckPrefab(sb, ArtEffectDir + "/PW_Effect_Settle_FlameStrike_Self.prefab");
CheckPrefab(sb, ArtEffectDir + "/PW_Effect_Settle_FlameStrike_Other.prefab");
CheckPrefab(sb, ArtEffectDir + "/PW_Effect_AwardFrame_FlameStrike.prefab");
CheckPrefab(sb, ArtEffectDir + "/PW_Effect_Wheel.prefab");
CheckPrefab(sb, BJEndDir + "/PW_Effect_Wheel_LieYanFengBao.prefab");
CheckPrefab(sb, BJEndDir + "/PW_Effect_Settle_FlameStrike_Self" + Suffix + ".prefab");
CheckPrefab(sb, BJEndDir + "/PW_Effect_Settle_FlameStrike_Other" + Suffix + ".prefab");
CheckPrefab(sb, BJScoreDir + "/PW_Effect_AwardFrame_FlameStrike" + Suffix + ".prefab");
CheckPrefab(sb, "Assets/MyGame/aa/Game/XJMH/Boss/LieYanFengBao/PW_Enemy_115.prefab");
CheckPrefab(sb, "Assets/MyGame/aa/Game/XJMH/Prefabs/Bullit/PW_Bullet_FlameRound.prefab");
CheckPrefab(sb, "Assets/Art/XJMH/pw/pw_spine/pw_spine_plane/pw_spine_plane_lyfb/PW_Spine_Plane_LYFB_SkeletonData.asset");
sb.AppendLine();
sb.AppendLine("音效(tbaudio.json 里应为 69009-69012):");
foreach (var n in new[] { "PW_FlameStrike_Explosion", "PW_FlameStrike_Die",
"PW_FlameStrike_WheelExplosion", "PW_FlameStrike_WheelFly" })
{
var p = "Assets/Audios/XJMH/" + n + ".ogg";
sb.AppendLine(" " + (File.Exists(p) ? "✔" : "✘") + " " + p);
}
sb.AppendLine();
sb.AppendLine("挂脚本可用性:");
sb.AppendLine(" " + (LoadAsset<TMP_SpriteAsset>(GoldSpriteGuid) != null ? "✔" : "✘") + " 金币 spriteAsset");
sb.AppendLine(" " + (LoadAsset<TMP_SpriteAsset>(SilverSpriteGuid) != null ? "✔" : "✘") + " 银币 spriteAsset");
sb.AppendLine(" " + (LoadAsset<TMP_FontAsset>(FontGuid) != null ? "✔" : "✘") + " SourceHanSans 字体");
Debug.Log(sb.ToString());
}
private static void CheckPrefab(StringBuilder sb, string path)
{
bool exists = File.Exists(path);
sb.AppendLine((exists ? "✔ " : "✘ ") + path + (exists ? "" : " ← 缺失"));
}
// ================================================================ 工具方法
/// <summary>确保根下有一个 UIParticle 节点,并把所有粒子收进 m_Particles。</summary>
private static bool EnsureUiParticle(GameObject root, ParticleSystem[] psList, out int particleCount)
{
var ui = root.GetComponentInChildren<UIParticle>(true);
bool created = false;
if (ui == null)
{
var go = new GameObject("UIParticle", typeof(RectTransform), typeof(CanvasRenderer), typeof(UIParticle));
var rt = (RectTransform)go.transform;
rt.SetParent(root.transform, false);
rt.anchorMin = new Vector2(0.5f, 0.5f);
rt.anchorMax = new Vector2(0.5f, 0.5f);
rt.pivot = new Vector2(0.5f, 0.5f);
rt.anchoredPosition = Vector2.zero;
rt.sizeDelta = Vector2.zero;
rt.localScale = Vector3.one; // 运行时会被 UIParticle 覆盖成 1/parentLossyScale,这里给 1 只是编辑器里好看
ui = go.GetComponent<UIParticle>();
created = true;
}
// UIParticle 的序列化字段都是 private → 用 SerializedObject 写
var so = new SerializedObject(ui);
var arr = so.FindProperty("m_Particles");
if (arr != null)
{
arr.arraySize = psList.Length;
for (int i = 0; i < psList.Length; i++)
arr.GetArrayElementAtIndex(i).objectReferenceValue = psList[i];
}
var scale3D = so.FindProperty("m_Scale3D");
if (scale3D != null) scale3D.vector3Value = TemplateUiParticleScale3D;
so.ApplyModifiedPropertiesWithoutUndo();
particleCount = psList.Length;
if (arr == null)
Debug.LogWarning("[烈焰风暴变体] 没找到 UIParticle.m_Particles 字段(插件版本可能不同),请手动拖粒子列表");
return created;
}
/// <summary>
/// 把各粒子节点的 localScale 归一化到模板口径(源里的 30 → 5,配 m_Scale3D=10 使用)。
///
/// 按比例模式:取出现次数最多的缩放当「主缩放」,factor = 目标 / 主缩放,所有节点乘同一倍率
/// → 30→5、1→0.1667,不会把原本就小的节点放大 5 倍(烈焰风暴源里正好是 12 个 30 + 2 个 1)。
/// 非按比例:所有节点直接写死目标值(模板做法的字面复刻)。
/// </summary>
private string NormalizeParticleNodeScales(ParticleSystem[] psList)
{
if (psList == null || psList.Length == 0) return " 粒子节点缩放:没有粒子系统,跳过";
var counts = new Dictionary<float, int>();
foreach (var ps in psList)
{
float v = ps.transform.localScale.x;
counts.TryGetValue(v, out int c);
counts[v] = c + 1;
}
float dominant = 1f;
int best = -1;
foreach (var kv in counts)
{
if (kv.Value > best) { best = kv.Value; dominant = kv.Key; }
}
if (Mathf.Approximately(dominant, 0f)) dominant = 1f;
float factor = _proportionalScale ? _particleNodeScale / dominant : 0f;
var sb = new StringBuilder();
sb.Append(_proportionalScale
? $" 粒子节点归一化:主缩放 {dominant}({best}/{psList.Length} 个)→ {_particleNodeScale},倍率 {factor:0.####}"
: $" 粒子节点归一化:全部统一写成 {_particleNodeScale}");
int shown = 0;
foreach (var ps in psList)
{
var old = ps.transform.localScale;
var nv = _proportionalScale ? old * factor : Vector3.one * _particleNodeScale;
ps.transform.localScale = nv;
SetConstrainProportionsScale(ps.transform, true);
if (shown++ < 16)
sb.Append($"\n {GetPath(ps.transform)}: {old.x:0.####} → {nv.x:0.####}");
}
return sb.ToString();
}
/// <summary>在 Textparent 下确保存在倍数文本节点(模板里叫 Node (1))。</summary>
private static TextMeshProUGUI EnsureBeishuNode(TextMeshProUGUI scoreTmp)
{
var parent = scoreTmp.transform.parent;
if (parent == null)
{
Debug.LogWarning("[烈焰风暴变体] 分数文本没有父节点,倍数文本挂在它自己下面");
parent = scoreTmp.transform;
}
var exist = parent.Find("Node (1)");
if (exist != null)
{
var t = exist.GetComponent<TextMeshProUGUI>();
if (t != null) return t;
}
var go = new GameObject("Node (1)", typeof(RectTransform));
var rt = (RectTransform)go.transform;
rt.SetParent(parent, false);
rt.anchorMin = new Vector2(0.5f, 0.5f);
rt.anchorMax = new Vector2(0.5f, 0.5f);
rt.pivot = new Vector2(0.5f, 0.5f);
rt.anchoredPosition = TemplateBeishuPos;
rt.sizeDelta = TemplateBeishuSize;
rt.localScale = Vector3.one * TemplateBeishuScale;
var tmp = go.AddComponent<TextMeshProUGUI>();
tmp.font = scoreTmp.font; // 运行时 AddComponent 的文本必须显式给字体,否则不显示
tmp.spriteAsset = scoreTmp.spriteAsset;
tmp.fontSize = TemplateBeishuFontSize;
tmp.alignment = TextAlignmentOptions.Center;
tmp.color = Color.white;
tmp.raycastTarget = false;
tmp.text = "225"; // 占位,运行时由 BJEndUI.Init 覆写
return tmp;
}
/// <summary>分数文本:优先 Node/Textparent/Node,再退到 Textparent 下的第一个 TMP。</summary>
private static TextMeshProUGUI FindScoreTmp(GameObject root)
{
var t = root.transform.Find("Node/Textparent/Node") ?? root.transform.Find("Textparent/Node");
if (t != null)
{
var tmp = t.GetComponent<TextMeshProUGUI>();
if (tmp != null) return tmp;
}
var tp = FindDeep(root.transform, "Textparent");
if (tp != null)
{
var tmp = tp.GetComponentInChildren<TextMeshProUGUI>(true);
if (tmp != null) return tmp;
}
Debug.LogWarning($"[烈焰风暴变体] {root.name}:没找到 Textparent,退用整棵树里第一个 TMP");
return root.GetComponentInChildren<TextMeshProUGUI>(true);
}
/// <summary>奖励框的金币数字文本(Num 节点下的 TMP)。</summary>
private static TextMeshProUGUI FindCoinNumTmp(GameObject root)
{
var num = FindDeep(root.transform, "Num");
if (num != null)
{
var tmp = num.GetComponentInChildren<TextMeshProUGUI>(true);
if (tmp != null) return tmp;
}
return root.GetComponentInChildren<TextMeshProUGUI>(true);
}
private static Transform FindDeep(Transform root, string name)
{
if (root == null) return null;
if (string.Equals(root.name, name, StringComparison.OrdinalIgnoreCase)) return root;
for (int i = 0; i < root.childCount; i++)
{
var r = FindDeep(root.GetChild(i), name);
if (r != null) return r;
}
return null;
}
private static string GetPath(Transform t)
{
if (t == null) return "?";
var s = t.name;
var p = t.parent;
while (p != null) { s = p.name + "/" + s; p = p.parent; }
return s;
}
private static void SetConstrainProportionsScale(Transform t, bool value)
{
var so = new SerializedObject(t);
var p = so.FindProperty("m_ConstrainProportionsScale");
if (p != null)
{
p.boolValue = value;
so.ApplyModifiedPropertiesWithoutUndo();
}
}
private static T LoadAsset<T>(string guid) where T : UnityEngine.Object
{
var path = AssetDatabase.GUIDToAssetPath(guid);
if (string.IsNullOrEmpty(path))
{
Debug.LogWarning($"[烈焰风暴变体] guid 解析不到资源:{guid}");
return null;
}
return AssetDatabase.LoadAssetAtPath<T>(path);
}
private static void EnsureFolder(string folder)
{
if (AssetDatabase.IsValidFolder(folder)) return;
var parts = folder.Split('/');
var cur = parts[0];
for (int i = 1; i < parts.Length; i++)
{
var next = cur + "/" + parts[i];
if (!AssetDatabase.IsValidFolder(next)) AssetDatabase.CreateFolder(cur, parts[i]);
cur = next;
}
}
}
#endif
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 78f5c1faa544d2744847c98f0a61cc94
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,14 +1,34 @@
using Assets.MyGame.Scripts.Net.WebResponses;
using Newtonsoft.Json.Linq;
using Spine.Unity;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 烈焰风暴 Boss(精简版:只根据服务端 param 判定死亡/未死亡)。
/// 烈焰风暴 Boss(对齐 lua:pw_enemy/PW_FlameStrike.txt + pw_bullet/PW_BulletFlameStrike.txt)。
///
/// 本体结构(Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_115.prefab):
/// root(PW_Enemy_115, isSpine=1) → Body → Bone → { Stand(待机特效) / Die(死亡特效) / Explosion(爆炸特效) }
/// Wheel(轮盘,4 个子节点 = 火球弹发射点)
/// Spine 动画名:stand01(待机) / stand02(受击死亡) —— 与 lua SetAnimation(1)/(2) 一致。
///
/// 表现流程(lua):
/// OnCreate → ActiveCollider(true) + SetAnimation(1)(stand01 + 待机特效)
/// 被击中(未死亡) → isSelf 播 PW_FlameStrike_Explosion;ShowEffect(Explosion) → 0.3s 播爆奖
/// → 0.8s 关掉全部特效(回到待机特效)→ 恢复游动
/// 被打死 → SetAnimation(2)(stand02 + 死亡特效);isSelf 播 Explosion/Die 两个音效
/// · Free 子弹:ShowEffect(Explosion) → 0.3s 爆奖 → 0.8s 销毁本体
/// · 普通子弹:等 1.8s(Timer)→ 从 Wheel 的 4 个子节点朝外生成火球弹
/// (BulletType.FlameRound)→ 销毁本体
/// 黑洞吸收 → 原版显式免疫(本项目黑洞只吸“普通鱼”,Boss 天然不受影响,无需处理)
///
/// param: { "isKill": bool, "beishu": int, "fishId": "...", "animId": int }
/// animId==1 / isKill=false → 未死亡:炸一下 + bjEndUI,Boss 不消失,爆奖结束恢复游动
/// animId>=2 / isKill=true → 死亡:炸一下 + bjEndUI,Boss 消失
///
/// 无死鱼、无红包、无中间过程。
/// animId==1 / isKill=false → 未死亡(Boss 保留,爆奖结束恢复游动)
/// animId>=2 / isKill=true → 死亡(Boss 消失)
/// (可选)param.flameInfo = { originUID, ratio, sourceUIDList:[...] }:火球弹来源列表
/// param.bulletType = 1(Free) 时走"免费子弹"分支
/// </summary>
public class LieYanFengBao_BOSS : MonsterControl_BossBase
{
@@ -16,22 +36,49 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
[Tooltip("是否从 param 解析 isKill/animId(关闭则每次死亡都按死亡处理)")]
public bool useServerParam = true;
/// <summary>爆奖事件引用</summary>
[Header("火球弹(lua BulletType.FlameRound,从 Wheel 子节点发射)")]
[Tooltip("火球弹预制体(Assets/MyGame/aa/Game/XJMH/Prefabs/Bullit/PW_Bullet_FlameRound.prefab)")]
public GameObject flameRoundBulletPrefab;
[Tooltip("火球弹飞行速度(lua speed=30,按本项目世界比例可调)")]
public float flameRoundSpeed = 30f;
[Tooltip("火球弹存活时长(秒,兜底回收,防飞出屏外不回收)")]
public float flameRoundLifeTime = 4f;
[Tooltip("param 里没有 flameInfo 时的默认发射数量(最多 = Wheel 子节点数)")]
public int flameRoundFallbackCount = 4;
[Header("时序(对齐 lua 硬编码值)")]
[Tooltip("爆炸特效 → 播爆奖的延迟(lua 0.3s)")]
public float explosionToRewardDelay = 0.3f;
[Tooltip("未死亡:爆奖 → 关掉全部特效恢复待机的延迟(lua 0.8s)")]
public float rewardToResetDelay = 0.8f;
[Tooltip("死亡:爆炸 → 生成火球弹 + 销毁本体的延迟(lua Timer 1.8s)")]
public float dieToFlameRoundDelay = 1.8f;
/// <summary>爆奖事件引用(死亡时赋值,供外部检查爆奖是否结束)</summary>
[System.NonSerialized]
public LieYanFengBaoEvent currEvent;
/// <summary>当前死亡次数(仅日志用)</summary>
private int _deathCount = 0;
// ---- 与 lua 对齐的常量 ----
private const string AnimNormal = "stand01"; // lua SetAnimation(1)
private const string AnimHit = "stand02"; // lua SetAnimation(2)
private const int EffectStand = 1; // lua effectTab[1]
private const int EffectDie = 2; // lua effectTab[2]
private const int EffectExplosion = 3; // lua effectTab[3]
private const string BonePath = "Body/Bone";
private const string WheelName = "Wheel";
private static readonly string[] EffectNodeNames = { "Stand", "Die", "Explosion" }; // 下标 0/1/2
private const int BulletTypeFree = 1; // lua GC.Config.BulletType.Free
/// <summary>缓存死亡位置(删除 Boss 后 transform 不可靠)</summary>
// ---- 运行时状态 ----
private int _deathCount = 0;
private Vector3 _diePos;
private bool _diePosCached = false;
/// <summary>Boss 是否已从鱼列表回收(防重复回收)</summary>
private bool _removed = false;
/// <summary>爆奖事件是否已 Init(决定特效实例由谁回收)</summary>
private bool _awardInitCalled = false;
private SkeletonAnimation _spine; // 预制体 skeleton 字段为空 → 运行时自动解析
private readonly GameObject[] _effects = new GameObject[3];
private Transform _wheel; // 轮盘(火球弹发射点父节点)
private Coroutine _flowRoutine; // 表现流程协程(死亡/未死亡共用)
public override void OnEnable()
{
@@ -41,8 +88,83 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
_removed = false;
_awardInitCalled = false;
currEvent = null;
_flowRoutine = null;
ResolveNodes();
// lua OnCreate:ActiveCollider(true) + SetAnimation(1)
SetAnimation(EffectStand);
}
public override void OnDisable()
{
StopFlow();
base.OnDisable();
}
// ================================================================
// 节点解析 & 表现(对齐 lua SetAnimation / ShowEffect)
// ================================================================
/// <summary>
/// 解析本体节点:Bone 下三个特效(Stand/Die/Explosion)+ Wheel + SkeletonAnimation。
/// ⭐ 预制体 PW_Enemy_115 的 skeleton 字段为空,这里自动 GetComponentInChildren 兜底。
/// </summary>
private void ResolveNodes()
{
Transform bone = FindByPath(BonePath);
for (int i = 0; i < EffectNodeNames.Length; i++)
{
_effects[i] = FindEffectNode(bone, EffectNodeNames[i]);
}
_wheel = FindChildRecursive(transform, WheelName);
if (_spine == null)
_spine = GetComponentInChildren<SkeletonAnimation>(true);
if (bone == null)
Debug.LogWarning($"[LieYanFengBao] 找不到 {BonePath},待机/死亡/爆炸特效无法切换");
if (_wheel == null)
Debug.LogWarning($"[LieYanFengBao] 找不到 {WheelName},死亡时无法生成火球弹");
}
/// <summary>lua SetAnimation(type):切 Spine 动画(stand01/stand02,循环)+ ShowEffect(type)</summary>
private void SetAnimation(int type)
{
PlaySpineSafe(type == EffectDie ? AnimHit : AnimNormal, true);
ShowEffect(type);
}
/// <summary>lua ShowEffect(type):只激活 effectTab[type],type=0 时全部关闭</summary>
private void ShowEffect(int type)
{
for (int i = 0; i < _effects.Length; i++)
{
if (_effects[i] == null) continue;
bool on = (i + 1) == type; // effectTab[1..3] ↔ _effects[0..2]
if (_effects[i].activeSelf != on)
_effects[i].SetActive(on);
}
}
/// <summary>安全播放 Spine 动画(骨架/动画名缺失时静默跳过)</summary>
private void PlaySpineSafe(string animName, bool loop)
{
if (_spine == null || string.IsNullOrEmpty(animName)) return;
var data = _spine.SkeletonDataAsset != null ? _spine.SkeletonDataAsset.GetSkeletonData(false) : null;
if (data == null || data.FindAnimation(animName) == null)
{
Debug.LogWarning($"[LieYanFengBao] Spine 动画 {animName} 不存在,跳过");
return;
}
_spine.AnimationState.SetAnimation(0, animName, loop);
}
// ================================================================
// 死亡 / 被击(对齐 lua OnExplosion,两种分支)
// ================================================================
public override void DieFish(RoomKillNotice obj = null)
{
_deathCount++;
@@ -50,10 +172,11 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
// ===== 解析服务端 param:animId 优先于 isKill =====
bool isKill;
int beishu;
JToken param = obj?.param;
if (useServerParam && obj?.param != null)
if (useServerParam && param != null)
{
var p = BossKillParamParser.ParseMultiDeath(obj.param);
var p = BossKillParamParser.ParseMultiDeath(param);
if (p != null)
{
isKill = p.isKill;
@@ -64,7 +187,6 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
}
else
{
// param 解析失败:按死亡处理
isKill = true;
beishu = obj.beishu > 0 ? (int)obj.beishu : 1;
Debug.LogWarning($"[LieYanFengBao] param 解析失败,按死亡处理 beishu={beishu}");
@@ -72,37 +194,179 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
}
else
{
// 老消息无 param:按死亡处理
isKill = true;
beishu = obj?.beishu > 0 ? (int)obj.beishu : 1;
Debug.Log($"[LieYanFengBao] DieFish 第{_deathCount}次(无param,按死亡) beishu={beishu}");
}
// 缓存死亡位置(供爆奖特效定位)
// 缓存死亡位置(Boss 删除后 transform 不可靠)
_diePos = transform.position;
_diePosCached = true;
// 炸一下 + bjEndUI(爆奖特效初始化回调,死亡/未死亡都播)
// 爆奖特效初始化回调(CreateFishManager 在死亡位置创建 effect_DieAward 后回调)
action_effect_DieAward = (o) => InitAwardEffect(o, obj, beishu);
bool isSelfKill = obj != null && GameManager.Instance != null && obj.userId == GameManager.Instance.user.id;
if (isKill)
{
// ===== 死亡:Boss 消失 =====
// ===== 死亡:死亡动画 + 死亡特效 + 音效 → 延迟生成火球弹 → 回收本体 =====
isDieFish = true;
if (obj != null)
poolNum = (int)obj.gold;
StartCoroutine(RemoveBossNextFrame());
SetAnimation(EffectDie);
// 音效 + 震屏(lua:只有自己击杀才播 PW_FlameStrike_Explosion/Die + 震屏/震手机)
if (isSelfKill)
{
AudioManager.Instance.PlayerFXByName("PW_FlameStrike_Explosion");
AudioManager.Instance.PlayerFXByName("PW_FlameStrike_Die");
// ⭐ 震屏对齐 lua explosionShakeScreen(CameraShaker,参数与其它 Boss 死亡一致)
if (GameManager.Instance != null && GameManager.Instance.cameraShake != null)
GameManager.Instance.cameraShake.ShakePresets.Explosion2D(3f, 4f, 1f);
}
else
{
AudioManager.Instance.PlayerFXByName("PW_FlameStrike_Explosion");
}
bool isFreeBullet = ReadBulletType(param) == BulletTypeFree;
StopFlow();
_flowRoutine = StartCoroutine(DeadFlow(isFreeBullet, param));
}
else
{
// ===== 未死亡:爆炸特效一下 + 播爆奖 → 关全部特效 → 恢复游动 =====
// ⭐ 不再调 base.DieFish():原版未死亡时不震屏、不标 isDieFish(否则每次命中都会震屏)
if (isSelfKill)
AudioManager.Instance.PlayerFXByName("PW_FlameStrike_Explosion");
StopFlow();
_flowRoutine = StartCoroutine(NotDeadFlow());
}
}
/// <summary>未死亡流程(lua OnExplosion 的 else 分支):爆炸特效 → 0.3s 爆奖 → 0.8s 关特效 → 恢复游动</summary>
private IEnumerator NotDeadFlow()
{
ShowEffect(EffectExplosion);
Debug.Log($"[LieYanFengBao] 未死亡:播放爆奖({explosionToRewardDelay}s 后)");
yield return new WaitForSeconds(explosionToRewardDelay);
// 爆奖特效由 CreateFishManager 生成的 effect_DieAward(LieYanFengBaoEvent)负责
yield return new WaitForSeconds(rewardToResetDelay);
// 回到待机:关掉全部特效(lua ShowEffect(0))
ShowEffect(0);
_flowRoutine = null;
OnAwardFinished(); // 恢复游动(lua:Boss 继续走)
}
/// <summary>死亡流程(lua OnExplosion 的 isDead 分支):爆炸特效 → 爆奖 → 1.8s 火球弹 → 回收</summary>
private IEnumerator DeadFlow(bool isFreeBullet, JToken param)
{
ShowEffect(EffectExplosion);
yield return new WaitForSeconds(explosionToRewardDelay);
// 爆奖特效(effect_DieAward + 事件)由 CreateFishManager 负责
if (isFreeBullet)
{
// lua:Free 子弹打死 → 0.8s 后直接销毁本体(不生成火球弹)
yield return new WaitForSeconds(rewardToResetDelay);
}
else
{
// lua:Timer 1.8s → 生成火球弹 + 销毁本体
yield return new WaitForSeconds(dieToFlameRoundDelay - explosionToRewardDelay > 0f
? dieToFlameRoundDelay - explosionToRewardDelay
: 0f);
SpawnFlameRounds(param);
}
_flowRoutine = null;
RemoveBoss();
}
/// <summary>
/// 生成火球弹(lua:从 Wheel 的第 i 个子节点朝外发射 BulletType.FlameRound)。
/// sourceUIDList 来自 param.flameInfo;缺失时按 flameRoundFallbackCount 逐个 Wheel 子节点发射。
/// </summary>
private void SpawnFlameRounds(JToken param)
{
if (flameRoundBulletPrefab == null)
{
Debug.LogWarning("[LieYanFengBao] flameRoundBulletPrefab 未赋值,跳过火球弹生成");
return;
}
if (_wheel == null)
{
Debug.LogWarning("[LieYanFengBao] Wheel 节点缺失,跳过火球弹生成");
return;
}
if (CreateFishManager.Instance == null || CreateFishManager.Instance.currGameType == null)
return;
// 发射数量:优先用服务端 sourceUIDList;缺失则回退配置数量
var uidList = ReadSourceUIDList(param);
int count = uidList != null && uidList.Count > 0 ? uidList.Count : Mathf.Max(0, flameRoundFallbackCount);
count = Mathf.Min(count, _wheel.childCount);
if (count <= 0)
{
Debug.LogWarning($"[LieYanFengBao] 火球弹数量为 0(Wheel 子节点={_wheel.childCount}),跳过");
return;
}
Transform bulletParent = CreateFishManager.Instance.bjEffectRoot != null
? CreateFishManager.Instance.bjEffectRoot
: null;
for (int i = 0; i < count; i++)
{
Transform point = _wheel.GetChild(i);
if (point == null) continue;
Vector3 spawnPos = point.position;
// ⭐ 方向 = Wheel 子节点相对本体的方向(lua:dir = point - self.pos,再取角度)
Vector3 dir = spawnPos - transform.position;
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
// BullitMove 的飞行方向是 transform.up → 角度要 -90° 才是 Z 旋转
var bulletGo = BulletPool.Instance.Get(flameRoundBulletPrefab, spawnPos,
Quaternion.Euler(0f, 0f, angle - 90f), bulletParent);
if (bulletGo == null) continue;
bulletGo.name = $"FlameRound_{guid}_{i}";
var bullet = bulletGo.GetComponent<BullitMove>();
if (bullet != null)
{
bullet.Init(); // ⭐ 池化复用必须重新对齐起点
bullet.moveSpeed = flameRoundSpeed;
bullet.desTime = flameRoundLifeTime;
bullet.userid = null;
bullet.playerID = null;
bullet.bulletID = bulletGo.name;
Debug.Log($"[LieYanFengBao] 火球弹[{i}] 发射 从{spawnPos} 角度={angle:0.0}(sourceUID={(uidList != null && i < uidList.Count ? uidList[i].ToString() : "-")})");
}
else
{
Debug.LogWarning($"[LieYanFengBao] 火球弹预制体上没有 BullitMove,无法控制飞行");
}
}
// 未死亡:不删除,等爆奖结束 OnAwardFinished 恢复游动
}
/// <summary>初始化爆奖事件(炸一下 + bjEndUI)</summary>
private void InitAwardEffect(GameObject o, RoomKillNotice obj, int beishu)
{
Vector3 diePos = _diePosCached ? _diePos : transform.position;
if (obj == null) return;
Vector3 diePos = _diePosCached ? _diePos : transform.position;
foreach (var item in CreateFishManager.Instance.currGameType.list_Sits)
{
if (item.user == obj.userId)
@@ -117,6 +381,10 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
evt.bossCtrl = this;
currEvent = evt;
}
else
{
Debug.LogError("[LieYanFengBao] 爆奖预制体上没有 LieYanFengBaoEvent!只走基类流程");
}
v.Init(
obj.gold,
@@ -132,30 +400,6 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
}
}
/// <summary>
/// 下一帧删除 Boss:Ws_DieFish 在 DieFish 返回后同帧会实例化爆奖特效并触发回调。
/// 等到下一帧:Boss 被删除;爆奖事件没初始化(座位没找到)则把特效实例回池。
/// </summary>
private System.Collections.IEnumerator RemoveBossNextFrame()
{
yield return null;
if (!_removed)
{
_removed = true;
if (!_awardInitCalled && currEffect_DieAward != null)
{
var effect = currEffect_DieAward;
currEffect_DieAward = null;
EffectPool.Instance.Return(effect);
}
CreateFishManager.Instance.Id_DieFish_NotFX(guid);
Debug.Log($"[LieYanFengBao] Boss 已删除 guid={guid}");
}
}
/// <summary>爆奖流程结束回调(Event 调用):未死亡时恢复游动</summary>
public void OnAwardFinished()
{
@@ -163,16 +407,126 @@ public class LieYanFengBao_BOSS : MonsterControl_BossBase
{
ChangeState(CharacterStateType.move);
isMove = true;
// ⭐ 复位死亡标记(同 XingJiXunHang):非最终死亡 Boss 不回池,
// isDead 卡 true 会让锁定子弹被 BullitMove 判 target.isDead 立即 NotLock
// ⭐ 复位死亡标记:非最终死亡 Boss 不回池,isDead 卡 true 会让锁定子弹立即 NotLock
isDead = false;
Debug.Log("[LieYanFengBao] 未死亡爆奖结束,恢复游动");
}
currEvent = null;
}
/// <summary>回收本体(等火球弹生成后再删,保证发射点位置正确)</summary>
private void RemoveBoss()
{
if (_removed) return;
_removed = true;
// 兜底:爆奖事件没初始化(击杀者不在座位列表)→ 把爆奖特效实例回池
if (!_awardInitCalled && currEffect_DieAward != null)
{
var effect = currEffect_DieAward;
currEffect_DieAward = null;
EffectPool.Instance.Return(effect);
}
if (CreateFishManager.Instance != null)
CreateFishManager.Instance.Id_DieFish_NotFX(guid);
Debug.Log($"[LieYanFengBao] Boss 已回收 guid={guid}");
}
private void StopFlow()
{
if (_flowRoutine != null)
{
StopCoroutine(_flowRoutine);
_flowRoutine = null;
}
}
// ================================================================
// param 辅助解析(原版数据在 data.flameInfo / data.bulletType 上)
// ================================================================
/// <summary>读 param.bulletType(原版 data.bulletType,1=Free)</summary>
private static int ReadBulletType(JToken param)
{
if (param is JObject o && o["bulletType"] != null)
{
try { return o["bulletType"].Value<int>(); } catch { }
}
return 0;
}
/// <summary>读 param.flameInfo.sourceUIDList(火球弹来源列表)</summary>
private static List<JToken> ReadSourceUIDList(JToken param)
{
try
{
if (param is JObject o)
{
var info = o["flameInfo"] as JObject;
if (info != null && info["sourceUIDList"] is JArray arr)
return new List<JToken>(arr);
}
}
catch (Exception e)
{
Debug.LogWarning($"[LieYanFengBao] 解析 flameInfo 失败: {e.Message}");
}
return null;
}
// ================================================================
// 查找工具
// ================================================================
/// <summary>按 "Body/Bone" 这类路径逐级查找(忽略大小写)</summary>
private Transform FindByPath(string path)
{
if (string.IsNullOrEmpty(path)) return null;
Transform cur = transform;
foreach (var part in path.Split('/'))
{
Transform next = null;
for (int i = 0; i < cur.childCount; i++)
{
if (string.Equals(cur.GetChild(i).name, part, StringComparison.OrdinalIgnoreCase))
{
next = cur.GetChild(i);
break;
}
}
if (next == null) return null;
cur = next;
}
return cur;
}
/// <summary>在 Bone 下找特效节点,找不到再全树递归兜底</summary>
private GameObject FindEffectNode(Transform bone, string name)
{
Transform t = bone != null ? bone.Find(name) : null;
if (t == null) t = FindChildRecursive(transform, name);
if (t == null) Debug.LogWarning($"[LieYanFengBao] 找不到特效节点 {name}");
return t != null ? t.gameObject : null;
}
/// <summary>递归查找子物体(忽略大小写)</summary>
private static Transform FindChildRecursive(Transform root, string name)
{
if (root == null) return null;
for (int i = 0; i < root.childCount; i++)
{
Transform c = root.GetChild(i);
if (string.Equals(c.name, name, StringComparison.OrdinalIgnoreCase)) return c;
Transform r = FindChildRecursive(c, name);
if (r != null) return r;
}
return null;
}
private void OnDestroy()
{
StopAllCoroutines();
_flowRoutine = null;
}
}
@@ -174,3 +174,11 @@ MonoBehaviour:
isLocalCoin: 0
killerSitPos: -1
useServerParam: 1
flameRoundBulletPrefab: {fileID: 2628375401523424628, guid: 9ed49cd2acc114b4d839b06e3766ccaf,
type: 3}
flameRoundSpeed: 30
flameRoundLifeTime: 4
flameRoundFallbackCount: 4
explosionToRewardDelay: 0.3
rewardToResetDelay: 0.8
dieToFlameRoundDelay: 1.8