修改优化layer

This commit is contained in:
2026-05-21 11:25:39 +08:00
parent d09bc95c3f
commit 94113a9c1b
4 changed files with 226 additions and 748 deletions

View File

@@ -1683,37 +1683,6 @@ MonoBehaviour:
_noiseFrequency: 1
_dedicatedCamera: {fileID: 1927356012}
_dedicatedPriority: 20
--- !u!1 &93002960
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 93002961}
m_Layer: 0
m_Name: SkillHitBox_Slot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &93002961
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 93002960}
serializedVersion: 2
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: 810054649}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &97891550
GameObject:
m_ObjectHideFlags: 0
@@ -9616,37 +9585,6 @@ Transform:
m_Children: []
m_Father: {fileID: 975324245}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &499342000
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 499342001}
m_Layer: 0
m_Name: '[WeaponSocket]'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &499342001
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 499342000}
serializedVersion: 2
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: 810054649}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &501567083
GameObject:
m_ObjectHideFlags: 0
@@ -10021,37 +9959,6 @@ PolygonCollider2D:
- {x: -4.5, y: 2.5}
- {x: -9, y: 2.5}
m_UseDelaunayMesh: 0
--- !u!1 &515876610
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 515876611}
m_Layer: 0
m_Name: CameraFollowTarget
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &515876611
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 515876610}
serializedVersion: 2
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: 810054649}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &522010460
GameObject:
m_ObjectHideFlags: 0
@@ -14554,495 +14461,6 @@ Transform:
- {fileID: 1652340852}
m_Father: {fileID: 325293347}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &810054628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 810054649}
- component: {fileID: 810054648}
- component: {fileID: 810054647}
- component: {fileID: 810054646}
- component: {fileID: 810054645}
- component: {fileID: 810054644}
- component: {fileID: 810054643}
- component: {fileID: 810054642}
- component: {fileID: 810054641}
- component: {fileID: 810054640}
- component: {fileID: 810054639}
- component: {fileID: 810054638}
- component: {fileID: 810054637}
- component: {fileID: 810054636}
- component: {fileID: 810054635}
- component: {fileID: 810054634}
- component: {fileID: 810054633}
- component: {fileID: 810054632}
- component: {fileID: 810054631}
- component: {fileID: 810054630}
- component: {fileID: 810054629}
m_Layer: 9
m_Name: Player
m_TagString: Player
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &810054629
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e20d2200567c4ca4d8fa1a047c7bbd58, type: 3}
m_Name:
m_EditorClassIdentifier:
_movementConfig: {fileID: 11400000, guid: aaeed7ed77ef4834ab211f378120f275, type: 2}
_animConfig: {fileID: 11400000, guid: 01fef0a964bfffd478226e04bbe3aeef, type: 2}
_inputReader: {fileID: 11400000, guid: 88fadef8bc554e04483edd7418d20aa2, type: 2}
_formConfig: {fileID: 11400000, guid: 8f33c49c9bd20ac47a6867f1f19f24a9, type: 2}
_combat: {fileID: 810054641}
_formController: {fileID: 810054640}
_weaponManager: {fileID: 810054639}
_skillManager: {fileID: 810054638}
_springSystem: {fileID: 810054637}
_parrySystem: {fileID: 810054636}
_hurtBox: {fileID: 2035363631}
_shield: {fileID: 810054635}
_wallDetector: {fileID: 810054634}
_onPlayerDied: {fileID: 11400000, guid: 7e1624bde83886d40b32f43e84a65a75, type: 2}
_onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2}
_debugValidateTransitions: 1
_dbg_CurrentState:
_dbg_IsGrounded: 0
_dbg_AirJumpsLeft: 0
_dbg_CanDash: 0
_dbg_IsInvincible: 0
--- !u!114 &810054630
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 323fa3d8339022e4bbd37c12332f151a, type: 3}
m_Name:
m_EditorClassIdentifier:
_jumpBufferDuration: 0.15
_attackBufferDuration: 0.12
_dashBufferDuration: 0.1
_dbg_JumpBuffer: 0
_dbg_AttackBuffer: 0
_dbg_DashBuffer: 0
--- !u!114 &810054631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 708938b7c3d75b244abcbd30ed589461, type: 3}
m_Name:
m_EditorClassIdentifier:
_onStatusEffectApplied: {fileID: 11400000, guid: c997085e0266fa54b9fa0af69e233acf, type: 2}
_onStatusEffectExpired: {fileID: 11400000, guid: 22c7ddc89ed054845951143148cd3671, type: 2}
--- !u!114 &810054632
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fab214bcdee30844bb3399c3b487cffa, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &810054633
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 04d451c14acfa56429344271570fa468, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: f167dd4c0f40ff7499127f917066994a, type: 2}
_charmCatalog: {fileID: 11400000, guid: 62b057558c311d649ba7d5d91633b544, type: 2}
_onCharmEquipped: {fileID: 11400000, guid: ee78daff0aae5d64786323b1924fa103, type: 2}
_onCharmUnequipped: {fileID: 11400000, guid: d0a080ccb93b4cb4e9a4cbe8e96a7007, type: 2}
_onEquipmentChanged: {fileID: 11400000, guid: 29e6d061ce1f5c84d97e7c922de612b5, type: 2}
_onAchievementNotchGranted: {fileID: 11400000, guid: 80a81891f339dce4096ac6ea88b3de84, type: 2}
--- !u!114 &810054634
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 03bafd68d1793e44f9650296d658a4aa, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: aaeed7ed77ef4834ab211f378120f275, type: 2}
_wallLayer:
serializedVersion: 2
m_Bits: 8388608
--- !u!114 &810054635
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f362045054d7c1945841c4ccbcb356e8, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: 3550acd79ad72c743942cbacb3c25c97, type: 2}
_onShieldBrokenChannel: {fileID: 11400000, guid: 7a0c8af06b9f6cd43a91c5bebf16c02e, type: 2}
_onShieldRestoredChannel: {fileID: 11400000, guid: 06d4a7d44ce8bb0499aabf79ba7c556c, type: 2}
--- !u!114 &810054636
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 14872ec0b53eece49a121f13ca519009, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: f65119f9e65b51b4db2b17a0ae3d0fd3, type: 2}
_onParrySuccess: {fileID: 11400000, guid: 076c05f6f5c5cf6459a804ed2e61dc1b, type: 2}
--- !u!114 &810054637
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1f57bdff3327d2d478779d844b114c83, type: 3}
m_Name:
m_EditorClassIdentifier:
_stats: {fileID: 810054643}
_onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2}
--- !u!114 &810054638
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb39b928827b10245aeab5ea41f862a5, type: 3}
m_Name:
m_EditorClassIdentifier:
_stats: {fileID: 810054643}
_animancer: {fileID: 810054645}
_input: {fileID: 11400000, guid: 88fadef8bc554e04483edd7418d20aa2, type: 2}
_formController: {fileID: 810054640}
_modifiers: {fileID: 810054632}
_skillSocket: {fileID: 93002961}
_formSkillSets: []
--- !u!114 &810054639
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6620d87234b5a9b4c811905861cd32fd, type: 3}
m_Name:
m_EditorClassIdentifier:
_formController: {fileID: 810054640}
_startingWeapon: {fileID: 0}
_weaponSocket: {fileID: 499342001}
--- !u!114 &810054640
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cbcc6974256e3fb40879694b4bf2d2dc, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: 8f33c49c9bd20ac47a6867f1f19f24a9, type: 2}
_input: {fileID: 11400000, guid: 88fadef8bc554e04483edd7418d20aa2, type: 2}
_onFormChanged: {fileID: 11400000, guid: 9e1af94c61bb1c04ebc829f3838714f4, type: 2}
_onSkillSetChanged: {fileID: 11400000, guid: 249630b7ebe7a094299413cc67c4f3d1, type: 2}
--- !u!114 &810054641
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9d978725c6a901c4da85041223e2b0ee, type: 3}
m_Name:
m_EditorClassIdentifier:
_weaponManager: {fileID: 810054639}
--- !u!114 &810054642
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 263a07a0eb148924cbcf284def379a3f, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: aaeed7ed77ef4834ab211f378120f275, type: 2}
_groundCheck: {fileID: 1852300736}
_groundCheckSize: {x: 0.8, y: 0.05}
_groundLayer:
serializedVersion: 2
m_Bits: 0
_dbg_Position:
_dbg_VelocityX: 0
_dbg_VelocityY: 0
_dbg_IsGrounded: 0
_dbg_HasCoyoteTime: 0
_dbg_IsWallLeft: 0
_dbg_IsWallRight: 0
_dbg_CancelWindowOpen: 0
_dbg_FacingDirection: 0
--- !u!114 &810054643
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: edd28a350d3cebe46a72e7550ffb1b93, type: 3}
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: eaaee0817c0cc9e449142241ad75827e, type: 2}
_onHPChanged: {fileID: 11400000, guid: b5a2264ba6cf6544ebc53a67b5074d89, type: 2}
_onMaxHPChanged: {fileID: 11400000, guid: 34f14924fad74884aac7b2bd6fbad649, type: 2}
_onSoulPowerChanged: {fileID: 11400000, guid: 3694bb359f4ba5f40a6cba067478578c, type: 2}
_onSpiritPowerChanged: {fileID: 11400000, guid: 0f20a330a4808d24e808e6978151dbc4, type: 2}
_onSpringChargesChanged: {fileID: 11400000, guid: bb26bdee697c4b64682cf30d02579ca4, type: 2}
_onLingZhuChanged: {fileID: 11400000, guid: c83ba0a4579d72c449930ee9c57318df, type: 2}
_onAbilityUnlocked: {fileID: 11400000, guid: a8b3a59db23ed8d48970b73c8c2e3092, type: 2}
_onDifficultyChanged: {fileID: 11400000, guid: 156874a2ffc17694e91e949abbf97fee, type: 2}
_dbg_HP:
_dbg_Soul:
_dbg_Spirit:
_dbg_Spring:
_dbg_IsInvincible: 0
_dbg_InvincibleTimer: 0
_dbg_GodMode: 0
_dbg_Abilities:
--- !u!212 &810054644
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!114 &810054645
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 810054646}
_Transitions: {fileID: 0}
_ActionOnDisable: 0
--- !u!95 &810054646
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!61 &810054647
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1, y: 1}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!50 &810054648
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 2
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Interpolate: 1
m_SleepingMode: 1
m_CollisionDetection: 1
m_Constraints: 4
--- !u!4 &810054649
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 810054628}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -23.547367, y: 3.988164, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2035363633}
- {fileID: 499342001}
- {fileID: 1852300736}
- {fileID: 93002961}
- {fileID: 515876611}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &811095057
GameObject:
m_ObjectHideFlags: 0
@@ -29645,6 +29063,184 @@ MonoBehaviour:
_noiseFrequency: 1
_dedicatedCamera: {fileID: 355374776}
_dedicatedPriority: 20
--- !u!1 &1813702090
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1813702095}
- component: {fileID: 1813702094}
- component: {fileID: 1813702093}
- component: {fileID: 1813702092}
- component: {fileID: 1813702091}
m_Layer: 1
m_Name: GroundPlatform
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!251 &1813702091
PlatformEffector2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813702090}
m_Enabled: 1
m_UseColliderMask: 1
m_ColliderMask:
serializedVersion: 2
m_Bits: 4294967295
m_RotationalOffset: 0
m_UseOneWay: 1
m_UseOneWayGrouping: 0
m_SurfaceArc: 180
m_UseSideFriction: 0
m_UseSideBounce: 0
m_SideArc: 1
--- !u!50 &1813702092
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813702090}
m_BodyType: 2
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!212 &1813702093
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813702090}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!61 &1813702094
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813702090}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1, y: 1}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!4 &1813702095
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1813702090}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -24.714201, y: 3.681, z: 0}
m_LocalScale: {x: 8, y: 0.5, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1823787685
GameObject:
m_ObjectHideFlags: 0
@@ -29875,37 +29471,6 @@ Transform:
m_Children: []
m_Father: {fileID: 2015266179}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1852300735
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1852300736}
m_Layer: 0
m_Name: GroundCheck
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1852300736
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1852300735}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0.75, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 810054649}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1855767594
GameObject:
m_ObjectHideFlags: 0
@@ -33079,98 +32644,6 @@ Transform:
m_CorrespondingSourceObject: {fileID: 7501110767542530711, guid: e9d9216d17e7b684096c94e8c347d46f, type: 3}
m_PrefabInstance: {fileID: 1627895894}
m_PrefabAsset: {fileID: 0}
--- !u!1 &2035363630
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2035363633}
- component: {fileID: 2035363632}
- component: {fileID: 2035363631}
m_Layer: 15
m_Name: HurtBox
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2035363631
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2035363630}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7b7a233d7f70aa4f86b473412b826de, type: 3}
m_Name:
m_EditorClassIdentifier:
_onDamageDealt: {fileID: 0}
_onHitConfirmed: {fileID: 11400000, guid: a67d56f5124e0db4f98f326c74be8091, type: 2}
--- !u!61 &2035363632
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2035363630}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_ForceSendLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ForceReceiveLayers:
serializedVersion: 2
m_Bits: 4294967295
m_ContactCaptureLayers:
serializedVersion: 2
m_Bits: 4294967295
m_CallbackLayers:
serializedVersion: 2
m_Bits: 4294967295
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!4 &2035363633
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2035363630}
serializedVersion: 2
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: 810054649}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2043241451
GameObject:
m_ObjectHideFlags: 0
@@ -34804,4 +34277,4 @@ SceneRoots:
- {fileID: 1865796631}
- {fileID: 1354690328}
- {fileID: 783576435}
- {fileID: 810054649}
- {fileID: 1813702095}

View File

@@ -89,7 +89,7 @@ namespace BaseGames.Editor
_listView.style.flexGrow = 1;
_listView.selectionType = SelectionType.Single;
_listView.showAlternatingRowBackgrounds = AlternatingRowBackground.ContentOnly;
_listView.onSelectionChange += objects =>
_listView.selectionChanged += objects =>
{
var sel = objects.OfType<T>().FirstOrDefault();
if (sel != null) _savedGuid = AssetOperations.GetGuid(sel);
@@ -227,7 +227,7 @@ namespace BaseGames.Editor
{
_listView.SetSelection(i);
_listView.ScrollToItem(i);
// SetSelection 在 RefreshItems 同帧内不保证触发 onSelectionChange
// SetSelection 在 RefreshItems 同帧内不保证触发 selectionChanged
// 显式调用以确保详情区始终同步。
SelectionChanged?.Invoke(_filtered[i]);
return;

View File

@@ -10,47 +10,51 @@ namespace BaseGames.Editor
///
/// 菜单BaseGames → Tools → Physics2D Layer Matrix
///
/// 检查规则:
/// · PlayerHitBox ↔ EnemyHurtBox → 应碰撞(玩家攻击伤害敌人)
/// · EnemyHitBox ↔ PlayerHurtBox → 应碰撞(敌人攻击伤害玩家)
/// · EnemyHitBox ↔ EnemyHurtBox → 应碰撞敌人可互相伤害HitBox 运行时排除自身根节点)
/// · Player Platform → 应碰撞(玩家站在平台上
/// · Enemy ↔ Platform → 应碰撞(敌人站在平台上
/// · PlayerProjectile ↔ EnemyHurtBox → 应碰撞(玩家投射物伤害敌人)
/// · PlayerProjectile ↔ PlayerHurtBox → 应忽略(玩家投射物不自伤
/// ⚠️ 此工具仅管理下方 ExpectedPairs 中显式定义的 Layer 对,
/// 不会读取或修改任何其他 Layer 的碰撞设置。
///
/// 检查规则Layer 名称以项目 Tags and Layers 为准):
/// · PlayerHitBoxEnemyHurtBox → 应碰撞(玩家攻击伤害敌人
/// · EnemyHitBox ↔ PlayerHurtBox → 应碰撞(敌人攻击伤害玩家
/// · EnemyHitBox ↔ EnemyHurtBox → 应碰撞(敌人可互相伤害HitBox 运行时排除自身根节点
/// · Player ↔ Platform → 应碰撞(玩家站在平台上
/// · Enemy ↔ Platform → 应碰撞(敌人站在平台上)
/// · PlayerProjectile ↔ EnemyHurtBox → 应碰撞(玩家投射物伤害敌人)
/// · PlayerProjectile ↔ PlayerHurtBox → 应忽略(玩家投射物不自伤)
/// · PlayerProjectile ↔ Platform → 应碰撞(玩家投射物命中地形)
/// · EnemyProjectile ↔ PlayerHurtBox → 应碰撞(敌人投射物伤害玩家)
/// · EnemyProjectile ↔ EnemyHurtBox → 应忽略(敌人投射物不自伤)
/// · EnemyProjectile ↔ Platform → 应碰撞(敌人投射物命中地形)
/// · PlayerHitBox ↔ PlayerHurtBox → 应忽略(玩家不自伤)
/// · PlayerProjectile ↔ EnemyProjectile → 应忽略子弹不互相碰撞Clash 系统单独处理)
/// · HazardHitBox ↔ PlayerHurtBox → 应碰撞(环境危险伤害玩家)
/// · HazardHitBox ↔ EnemyHurtBox → 应碰撞(环境危险伤害敌人,阵营中立)
/// · HazardHitBox ↔ PlayerHitBox → 应忽略(环境不触发拼刀)
/// · HazardHitBox ↔ EnemyHitBox → 应忽略(环境不触发拼刀)
/// · EnemyProjectile ↔ PlayerHurtBox → 应碰撞(敌人投射物伤害玩家)
/// · EnemyProjectile ↔ EnemyHurtBox → 应忽略(敌人投射物不自伤)
/// · EnemyProjectile ↔ Platform → 应碰撞(敌人投射物命中地形)
/// · PlayerHitBox ↔ PlayerHurtBox → 应忽略(玩家不自伤)
/// · PlayerProjectile ↔ EnemyProjectile → 应忽略子弹不互相碰撞Clash 系统单独处理)
/// · HazardHitBox ↔ PlayerHurtBox → 应碰撞(环境危险伤害玩家)
/// · HazardHitBox ↔ EnemyHurtBox → 应碰撞(环境危险伤害敌人,阵营中立)
/// · HazardHitBox ↔ PlayerHitBox → 应忽略(环境不触发拼刀)
/// · HazardHitBox ↔ EnemyHitBox → 应忽略(环境不触发拼刀)
/// </summary>
public static class Physics2DLayerReport
{
// ── 期望配置表 ────────────────────────────────────────────────────────
// ── 期望配置表(仅含 LayerSpec.md 中定义的 Layer 对)─────────────────
// Check / AutoFix 只操作此表中的配对,不影响其他任何 Layer 的碰撞设置。
private static readonly ExpectedPair[] ExpectedPairs =
{
new("PlayerHitBox", "EnemyHurtBox", true, "玩家攻击伤害敌人"),
new("EnemyHitBox", "PlayerHurtBox", true, "敌人攻击伤害玩家"),
new("EnemyHitBox", "EnemyHurtBox", true, "敌人可互相伤害HitBox 运行时排除自身根节点)"),
new("Player", "Platform", true, "玩家站在平台上"),
new("Enemy", "Platform", true, "敌人站在平台上"),
new("PlayerHitBox", "EnemyHurtBox", true, "玩家攻击伤害敌人"),
new("EnemyHitBox", "PlayerHurtBox", true, "敌人攻击伤害玩家"),
new("EnemyHitBox", "EnemyHurtBox", true, "敌人可互相伤害HitBox 运行时排除自身根节点)"),
new("Player", "Platform", true, "玩家站在平台上"),
new("Enemy", "Platform", true, "敌人站在平台上"),
new("PlayerProjectile", "EnemyHurtBox", true, "玩家投射物伤害敌人"),
new("PlayerProjectile", "PlayerHurtBox", false, "玩家投射物不自伤"),
new("PlayerProjectile", "Platform", true, "玩家投射物命中地形"),
new("EnemyProjectile", "PlayerHurtBox", true, "敌人投射物伤害玩家"),
new("EnemyProjectile", "EnemyHurtBox", false, "敌人投射物不自伤"),
new("EnemyProjectile", "Platform", true, "敌人投射物命中地形"),
new("PlayerHitBox", "PlayerHurtBox", false, "玩家不自伤"),
new("PlayerProjectile", "Platform", true, "玩家投射物命中地形"),
new("EnemyProjectile", "PlayerHurtBox", true, "敌人投射物伤害玩家"),
new("EnemyProjectile", "EnemyHurtBox", false, "敌人投射物不自伤"),
new("EnemyProjectile", "Platform", true, "敌人投射物命中地形"),
new("PlayerHitBox", "PlayerHurtBox", false, "玩家不自伤"),
new("PlayerProjectile", "EnemyProjectile", false, "子弹不互相碰撞Clash 系统单独处理)"),
new("HazardHitBox", "PlayerHurtBox", true, "环境危险伤害玩家"),
new("HazardHitBox", "EnemyHurtBox", true, "环境危险伤害敌人(阵营中立)"),
new("HazardHitBox", "PlayerHitBox", false, "环境不触发拼刀"),
new("HazardHitBox", "EnemyHitBox", false, "环境不触发拼刀"),
new("HazardHitBox", "PlayerHurtBox", true, "环境危险伤害玩家"),
new("HazardHitBox", "EnemyHurtBox", true, "环境危险伤害敌人(阵营中立)"),
new("HazardHitBox", "PlayerHitBox", false, "环境不触发拼刀"),
new("HazardHitBox", "EnemyHitBox", false, "环境不触发拼刀"),
};
// ─────────────────────────────────────────────────────────────────────
@@ -106,6 +110,7 @@ namespace BaseGames.Editor
/// <summary>
/// 对检查结果中所有不正确项应用修复。
/// 仅修改 ExpectedPairs 中定义的 Layer 对,其他 Layer 碰撞设置不受影响。
/// 返回修复数量。
/// </summary>
public static int ApplyFixes(List<LayerPairResult> results)