Browse Source

添加拖动逻辑

lzx 18 hours ago
parent
commit
d1b91a1325

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0
+    - _Alpha: 0.00018357388
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _EnableExternalAlpha: 0

+ 549 - 0
Assets/Res/UI/SkillSelectPanel/SkillSelectPanel.prefab

@@ -854,6 +854,51 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   id: 10211
+--- !u!1 &736514497581052275
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2610596099835913747}
+  - component: {fileID: 8199569670379203471}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: InfoPos
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2610596099835913747
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 736514497581052275}
+  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: 5648027232114921293}
+  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: -45.4}
+  m_SizeDelta: {x: 12.963, y: 12.963}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8199569670379203471
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 736514497581052275}
+  m_CullTransparentMesh: 1
 --- !u!1 &760159596962817389
 GameObject:
   m_ObjectHideFlags: 0
@@ -1274,6 +1319,95 @@ MonoBehaviour:
   - {fileID: 4886873273644485354}
   - {fileID: 4807656811939580993}
   _allChildObj: []
+--- !u!1 &1177225426465092490
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6485022638183304711}
+  - component: {fileID: 6304710687855109041}
+  - component: {fileID: 2559835212087887505}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: icon
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6485022638183304711
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1177225426465092490}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1.000384, y: 1.000384, z: 1.000384}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 5648027232114921293}
+  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: -2, y: 1.4}
+  m_SizeDelta: {x: 66.3194, y: 66.3194}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6304710687855109041
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1177225426465092490}
+  m_CullTransparentMesh: 1
+--- !u!114 &2559835212087887505
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1177225426465092490}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, 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_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 1
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: icon_s1302
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: df05f928400d848c387e627e40486378, type: 3}
+  packInfo:
+    packName: skillIcon
+    packgJsonPath: /Art/UIAssets/TextrueJson/skillIcon.txt
+    packgSpritePath: Assets/Res/UIAtlas/skillIcon.spriteatlasv2
+    lasetJsonGUID: ba8dbdc12cfea95132d75e229eac99b8
+  imageH: 73.2665
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
 --- !u!1 &1274528990848997714
 GameObject:
   m_ObjectHideFlags: 0
@@ -2199,6 +2333,95 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
+--- !u!1 &1928531406427978494
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4312954336915430647}
+  - component: {fileID: 6250636331966676355}
+  - component: {fileID: 376652812643611464}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Image (4)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4312954336915430647
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1928531406427978494}
+  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: 5648027232114921293}
+  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: -2, y: 1.5591}
+  m_SizeDelta: {x: 73.426, y: 73.425}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6250636331966676355
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1928531406427978494}
+  m_CullTransparentMesh: 1
+--- !u!114 &376652812643611464
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1928531406427978494}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.17254902, g: 0.2627451, b: 0.2784314, 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_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_yuanquan
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 0dc26aad2093bf99c21596c28053b889
+  imageH: 82.141
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
 --- !u!1 &2064245649932131244
 GameObject:
   m_ObjectHideFlags: 0
@@ -2554,6 +2777,102 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "\u529F\u6CD5\u6570\u91CF1/4"
+--- !u!1 &2418948171003182323
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5648027232114921293}
+  - component: {fileID: 9001547991263644030}
+  - component: {fileID: 8057222579343302831}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: SkillKongWidget1game
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &5648027232114921293
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2418948171003182323}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 1629117646802417682}
+  - {fileID: 6485022638183304711}
+  - {fileID: 6979956510918802007}
+  - {fileID: 4312954336915430647}
+  - {fileID: 5287841079597663480}
+  - {fileID: 2610596099835913747}
+  m_Father: {fileID: 6694772361877173011}
+  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: 57.200005, y: 666.5}
+  m_SizeDelta: {x: 103.8345, y: 103.8345}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9001547991263644030
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2418948171003182323}
+  m_CullTransparentMesh: 1
+--- !u!114 &8057222579343302831
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2418948171003182323}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: icon
+    gameObject: {fileID: 2559835212087887505}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: myBg
+    gameObject: {fileID: 376652812643611464}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: RemovePos
+    gameObject: {fileID: 5287841079597663480}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_Tips
+    gameObject: {fileID: 9130306876885860502}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: InfoPos
+    gameObject: {fileID: 2610596099835913747}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Icon_YingXiang
+    gameObject: {fileID: 6979956510918802007}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
 --- !u!1 &2767425949845752485
 GameObject:
   m_ObjectHideFlags: 0
@@ -2779,6 +3098,7 @@ RectTransform:
   - {fileID: 400790666199448005}
   - {fileID: 2365237549990123137}
   - {fileID: 4539129630901987991}
+  - {fileID: 5648027232114921293}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -3225,6 +3545,21 @@ MonoBehaviour:
     - gameObject: {fileID: 0}
     - gameObject: {fileID: 0}
     - gameObject: {fileID: 0}
+  - key: SkillKongWidget1game
+    gameObject: {fileID: 2418948171003182323}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas:
+    - gameObject: {fileID: 953277807175961835}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
+    - gameObject: {fileID: 0}
   isAssetBundle: 0
 --- !u!1 &3362476855169369942
 GameObject:
@@ -3712,6 +4047,86 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   id: 10207
+--- !u!1 &3851054369208821631
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1629117646802417682}
+  - component: {fileID: 8232409899458930568}
+  - component: {fileID: 9130306876885860502}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_Tips
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1629117646802417682
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3851054369208821631}
+  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: 5648027232114921293}
+  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: 51.6}
+  m_SizeDelta: {x: 160, y: 23.1409}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8232409899458930568
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3851054369208821631}
+  m_CullTransparentMesh: 1
+--- !u!114 &9130306876885860502
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3851054369208821631}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
+    m_Font: {fileID: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 20
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u8F85\u52A9"
 --- !u!1 &3891518416558775222
 GameObject:
   m_ObjectHideFlags: 0
@@ -6099,6 +6514,140 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
+--- !u!1 &7965063745534618104
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5287841079597663480}
+  - component: {fileID: 4049461046131891338}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: RemovePos
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5287841079597663480
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7965063745534618104}
+  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: 5648027232114921293}
+  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: 38.4, y: 30.2}
+  m_SizeDelta: {x: 12.963, y: 12.963}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4049461046131891338
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7965063745534618104}
+  m_CullTransparentMesh: 1
+--- !u!1 &7971065642728958861
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6979956510918802007}
+  - component: {fileID: 411376888578220129}
+  - component: {fileID: 5627915650027662113}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Icon_YingXiang
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &6979956510918802007
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7971065642728958861}
+  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: 5648027232114921293}
+  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: -2, y: 1.3999023}
+  m_SizeDelta: {x: 88.3675, y: 88.3674}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &411376888578220129
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7971065642728958861}
+  m_CullTransparentMesh: 1
+--- !u!114 &5627915650027662113
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7971065642728958861}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.07874654, b: 0.0047169924, 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_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_yuanhuan_quse
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 08bcd577b76e3c94cacfc8e9783bd09a, type: 3}
+  packInfo:
+    packName: battle
+    packgJsonPath: /Art/UIAssets/TextrueJson\battle.txt
+    packgSpritePath: Assets/Res/UIAtlas/battle.spriteatlasv2
+    lasetJsonGUID: b30151c7ca91f3adc1fcb725072e1a9f
+  imageH: 82.141
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
 --- !u!1 &8090296584909710456
 GameObject:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Resources/Shader/Shader Graphs_ShengShiShader.mat

@@ -66,5 +66,5 @@ Material:
     m_Colors:
     - _mainColor: {r: 0.21314356, g: 1.4060051, b: 2.1517377, a: 0}
     - _off: {r: 0.01, g: 0.01, b: 0, a: 0}
-    - _pos: {r: -1.8000001, g: -5.3999996, b: -30, a: 0}
+    - _pos: {r: 0, g: -5, b: -30, a: 0}
   m_BuildTextureStacks: []

+ 12 - 0
Assets/Scripts/Core/Event/Event/CustomEventType.cs

@@ -128,6 +128,18 @@ namespace Fort23.Core
       /// 关闭LoadingUI
       /// </summary>
       CloseLoadingUI,
+      // /// <summary>
+      // /// 功法开始拖动
+      // /// </summary>
+      // SkillBeginDrag,
+      // /// <summary>
+      // /// 功法拖动中
+      // /// </summary>
+      // SkillDrag,
+      // /// <summary>
+      // /// 功法结束拖动
+      // /// </summary>
+      // SkillEndDrag,
 
     }
 }

+ 11 - 0
Assets/Scripts/Core/Event/Event/DefaultEventData.cs

@@ -0,0 +1,11 @@
+using System;
+using Core.Utility.Event;
+using Fort23.Core;
+
+namespace Core.Event.Event
+{
+    public class DefaultEventData : EventDataBasic<DefaultEventData>
+    {
+        public object eventData;
+    }
+}

+ 3 - 0
Assets/Scripts/Core/Event/Event/DefaultEventData.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c5f0f73c54124ffda12312a926b74ec7
+timeCreated: 1758593337

+ 22 - 5
Assets/Scripts/GameUI/UI/CombatPanel/SkillKongWidget.cs

@@ -1,8 +1,12 @@
+using Common.Utility.CombatEvent;
+using Core.Event.Event;
 using Core.Language;
 using Excel2Json;
+using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Hero;
 using UnityEngine;
+using UnityEngine.EventSystems;
 
 namespace Fort23.Mono
 {
@@ -27,6 +31,13 @@ namespace Fort23.Mono
         {
         }
 
+        public override CTask<bool> AsyncInit(object[] uiData)
+        {
+            isAddLongPressBtn = (bool)uiData[0];
+            return base.AsyncInit(uiData);
+        }
+
+
         public override void AddButtonEvent()
         {
             // myButton.onClick = delegate
@@ -44,10 +55,18 @@ namespace Fort23.Mono
             //     SkillMassgePanel.OpenSkillSelectPanel(LanguageManager.Instance.Text(skillConfig.name) , LanguageManager.Instance.Text(skillConfig.dec));
             // };
 
+
             base.AddButtonEvent();
+
+            // //添加拖拽事件
+            // longPressBtn.onDragStart = OnDragStart;
+            // longPressBtn.onDrag = OnDrag;
+            // longPressBtn.onDragEnd = OnDragEnd;
         }
 
-        public void SelectState(bool isSelect) 
+      
+
+        public void SelectState(bool isSelect)
         {
             _isSelect = isSelect;
             myBg.color = _isSelect ? Color.green : new Color32(44, 67, 71, 200);
@@ -77,8 +96,8 @@ namespace Fort23.Mono
             icon.gameObject.SetActive(true);
             SkillConfig skillConfig = SkillInfo.skillConfig;
             icon.icon_name = skillConfig.icon;
-            
-            
+
+
             Text_Tips.gameObject.SetActive(skillConfig.ID != 0 && skillConfig.SkillType == 2);
         }
 
@@ -90,7 +109,5 @@ namespace Fort23.Mono
             SkillInfo = null;
             Text_Tips.gameObject.SetActive(false);
         }
-        
-      
     }
 }

+ 137 - 5
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -2,6 +2,7 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using Core.Audio;
+using Core.Event.Event;
 using Core.Language;
 using Excel2Json;
 using Fort23.Core;
@@ -10,6 +11,8 @@ using GameLogic.Combat;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Hero;
 using UnityEngine;
+using UnityEngine.EventSystems;
+using UnityEngine.UI;
 
 namespace Fort23.Mono
 {
@@ -74,10 +77,17 @@ namespace Fort23.Mono
 
         protected override void AddEvent()
         {
+            // EventManager.Instance.AddEventListener(CustomEventType.SkillBeginDrag, SkillBeginDragHandle);
+            // EventManager.Instance.AddEventListener(CustomEventType.SkillDrag, SkillDragHandle);
+            // EventManager.Instance.AddEventListener(CustomEventType.SkillEndDrag, SkillEndDragHandle);
         }
 
+
         protected override void DelEvent()
         {
+            // EventManager.Instance.RemoveEventListener(CustomEventType.SkillBeginDrag, SkillBeginDragHandle);
+            // EventManager.Instance.RemoveEventListener(CustomEventType.SkillDrag, SkillDragHandle);
+            // EventManager.Instance.RemoveEventListener(CustomEventType.SkillEndDrag, SkillEndDragHandle);
         }
 
         public override CTask<bool> AsyncInit(object[] uiData)
@@ -368,6 +378,118 @@ namespace Fort23.Mono
             });
         }
 
+        private bool isDraging = false;
+
+        //拖动得技能
+        private SkillKongWidget nowSkillKongWidget;
+
+        //进入的技能
+        private SkillKongWidget nowInSkillKongWidget;
+
+        //拖动中技能
+        private SkillKongWidget nowSkillKongWidget1;
+        // private Image _image;
+
+        private async void SkillBeginDragHandle(PointerEventData pointerEventData, ItemWidgetBasic itemWidgetBasic)
+        {
+            LogTool.Log("开始拖动");
+
+            if (infoType == 1)
+            {
+                return;
+            }
+
+            if (dianjiSkillKongWidget != null)
+            {
+                return;
+            }
+
+
+            SkillKongWidget skillKongWidget1 = itemWidgetBasic as SkillKongWidget;
+            isDraging = true;
+            //记录当前选中的格子
+            nowSkillKongWidget = skillKongWidget1;
+
+
+            dianjiSkillKongWidget = skillKongWidget1;
+            // Btn_RemoveGongFa.transform.position = dianjiSkillKongWidget.RemovePos.position;
+            // Btn_RemoveGongFa.gameObject.SetActive(true);
+            // Btn_Info.transform.position = dianjiSkillKongWidget.InfoPos.position;
+            // Btn_Info.gameObject.SetActive(true);
+
+
+            SelectSkill(nowSkillKongWidget.SkillInfo, false, false);
+
+
+            nowSkillKongWidget1 = await UIManager.Instance.CreateGComponentForObject<SkillKongWidget>(
+                SkillKongWidget1game.gameObject,
+                null, transform.GetComponent<RectTransform>(), uiData: new object[] { false },
+                isInstance: false);
+            nowSkillKongWidget1.own.SetActive(true);
+            nowSkillKongWidget1.InitWidget(nowSkillKongWidget.index, this);
+            nowSkillKongWidget1.SetSKill(skillKongWidget1.SkillInfo);
+        }
+
+        private void SkillDragHandle(PointerEventData pointerEventData, ItemWidgetBasic itemWidgetBasic)
+        {
+            LogTool.Log("拖动中");
+
+            if (nowSkillKongWidget1 == null)
+                return;
+            Vector2 localPos;
+            //用于坐标转换的api
+            RectTransformUtility.ScreenPointToLocalPointInRectangle(
+                transform.GetComponent<RectTransform>(), //希望得到坐标结果对象的 父对象
+                pointerEventData.position, //相当于 鼠标位置
+                pointerEventData.pressEventCamera, //相当于 UI摄像机
+                out localPos);
+            nowSkillKongWidget1.transform.localPosition = localPos;
+        }
+
+        private void SkillEndDragHandle(PointerEventData pointerEventData, ItemWidgetBasic itemWidgetBasic)
+        {
+            LogTool.Log("结束拖动");
+            isDraging = false;
+
+            nowInSkillKongWidget?.OnPointerClick();
+            //结束拖动时 置空 
+            nowSkillKongWidget = null;
+            nowInSkillKongWidget = null;
+
+            // CloseSelect();
+            // BaoChun();
+
+            //结束拖动 
+            if (nowSkillKongWidget1 == null)
+                return;
+            nowSkillKongWidget1.own.SetActive(false);
+            // UIManager.Instance.DormancyGComponent(nowSkillKongWidget1);
+            nowSkillKongWidget1 = null;
+        }
+
+        private void SkillPointEnterHandle(ItemWidgetBasic itemWidgetBasic)
+        {
+            LogTool.Log("进入");
+
+            if (isDraging)
+            {
+                nowInSkillKongWidget = itemWidgetBasic as SkillKongWidget;
+                return;
+            }
+        }
+
+
+        private void SkillPointExitHandle(ItemWidgetBasic itemWidgetBasic)
+        {
+            LogTool.Log("离开");
+            if (isDraging)
+            {
+                nowInSkillKongWidget = null;
+                return;
+            }
+        }
+
+
         private void UpdateRoad()
         {
             if (currenRoadSkilId != 0)
@@ -569,12 +691,21 @@ namespace Fort23.Mono
                 Vector2 pos = new Vector2((float)x, (float)y);
                 SkillKongWidget skillKongWidget = await UIManager.Instance.CreateGComponentForObject<SkillKongWidget>(
                     kongdongs.gameObject,
-                    null, SkillKongWeiRoot,
+                    null, SkillKongWeiRoot, uiData: new object[] { true },
                     isInstance: true);
                 skillKongWidget.InitWidget(index, this);
                 skillKongWidget.SetSKill(allUseSkill[index]);
                 skillKongWidget.transform.anchoredPosition = pos;
                 skillKongWidget.OnClick = OnClickSkillKongWidget;
+
+                skillKongWidget.onDragStart = SkillBeginDragHandle;
+                skillKongWidget.onDrag = SkillDragHandle;
+                skillKongWidget.onDragEnd = SkillEndDragHandle;
+
+                skillKongWidget.onPointerEnter = SkillPointEnterHandle;
+
+                skillKongWidget.onPointerExit = SkillPointExitHandle;
+
                 allKongSkill.Add(skillKongWidget);
             }
 
@@ -933,8 +1064,9 @@ namespace Fort23.Mono
                 allKongSkill[i].Icon_YingXiang.gameObject.SetActive(true);
             }
 
-            Text_Cd.text =  LanguageManager.Instance.Text(10208, ((PlayerManager.Instance.myHero.powerUpConfig.MaxActiveGongfaNum *
-                PlayerManager.Instance.gameConstantConfig.BasicCDperSkill / 1000) + addcd));
+            Text_Cd.text = LanguageManager.Instance.Text(10208,
+                ((PlayerManager.Instance.myHero.powerUpConfig.MaxActiveGongfaNum *
+                    PlayerManager.Instance.gameConstantConfig.BasicCDperSkill / 1000) + addcd));
         }
 
         public List<int> GetNumbers(int start, float offset)
@@ -1005,8 +1137,8 @@ namespace Fort23.Mono
 
             Text_GongFaCount.text = LanguageManager.Instance.Text(10210, GetMainGongFaCount(),
                 PlayerManager.Instance.myHero.powerUpConfig.MaxActiveGongfaNum);
-                Text_FuZhuGongFaCount.text = LanguageManager.Instance.Text(10209, GetPassiveGongFaCount(),
-                    PlayerManager.Instance.myHero.powerUpConfig.MaxPassiveGongfaNum);
+            Text_FuZhuGongFaCount.text = LanguageManager.Instance.Text(10209, GetPassiveGongFaCount(),
+                PlayerManager.Instance.myHero.powerUpConfig.MaxPassiveGongfaNum);
         }
 
         private async void OnClick(ItemWidgetBasic obj)

+ 11 - 0
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanelData.cs

@@ -327,6 +327,17 @@ namespace Fort23.Mono
 	      return _Text_FuZhuGongFaCount;
 	     }
 	   }
+	  private GameObject _SkillKongWidget1game;
+	  public GameObject SkillKongWidget1game
+	   {
+	   get{
+	      if (_SkillKongWidget1game == null)
+	       {
+	         _SkillKongWidget1game  = GetUIUnit<GameObject>("SkillKongWidget1game"); 
+	       }
+	      return _SkillKongWidget1game;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 71 - 12
Assets/Scripts/GameUI/UI/Component/ItemWidgetBasic.cs

@@ -1,10 +1,15 @@
+using System;
 using Fort23.Core;
 using Fort23.Mono;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 using UnityEngine;
+using UnityEngine.EventSystems;
 
 
 public class ItemWidgetBasic : UIComponent, IScorllListWidget
 {
+    public bool isAddLongPressBtn = true;
+
     public LongPressBtn longPressBtn;
     public ButtonAnimation animation = null;
     protected RectTransform _rectTransform;
@@ -18,12 +23,12 @@ public class ItemWidgetBasic : UIComponent, IScorllListWidget
             onClick = value;
             if (onContinueClick != null || onClick != null)
             {
-                if(animation != null) 
+                if (animation != null)
                     animation.isEnabled = true;
             }
             else
             {
-                if(animation != null) 
+                if (animation != null)
                     animation.isEnabled = false;
             }
         }
@@ -40,28 +45,57 @@ public class ItemWidgetBasic : UIComponent, IScorllListWidget
 
             if (onContinueClick != null || onClick != null)
             {
-                if(animation != null) 
+                if (animation != null)
                     animation.isEnabled = true;
             }
             else
             {
-                if(animation != null) 
+                if (animation != null)
                     animation.isEnabled = false;
             }
         }
     }
 
 
+    /// <summary>
+    /// 拖拽开始事件
+    /// </summary>
+    public Action<PointerEventData, ItemWidgetBasic> onDragStart;
+
+    /// <summary>
+    /// 拖拽进行中事件
+    /// </summary>
+    public Action<PointerEventData, ItemWidgetBasic> onDrag;
+
+    /// <summary>
+    /// 拖拽结束事件
+    /// </summary>
+    public Action<PointerEventData, ItemWidgetBasic> onDragEnd;
+
+    public Action<ItemWidgetBasic> onPointerEnter;
+
+    public Action<ItemWidgetBasic> onPointerExit;
+
     private System.Action<ItemWidgetBasic> onContinueClick;
 
 
     public override void AddButtonEvent()
     {
-        longPressBtn = own.GetComponent<LongPressBtn>();
-        if (longPressBtn == null)
-            longPressBtn = own.AddComponent<LongPressBtn>();
-        longPressBtn.onClick = () => OnClick?.Invoke(this);
-        longPressBtn.longPress = () => OnContinueClick?.Invoke(this);
+        if (isAddLongPressBtn)
+        {
+            longPressBtn = own.GetComponent<LongPressBtn>();
+            if (longPressBtn == null)
+                longPressBtn = own.AddComponent<LongPressBtn>();
+            longPressBtn.onClick = () => OnClick?.Invoke(this);
+            longPressBtn.longPress = () => OnContinueClick?.Invoke(this);
+            longPressBtn.onDragStart = OnDragStart;
+            longPressBtn.onDrag = OnDrag;
+            longPressBtn.onDragEnd = OnDragEnd;
+
+            longPressBtn.onPointerEnter = OnPointerEnter;
+            longPressBtn.onPointerExit = OnPointerExit;
+        }
+
         if (own.transform.Find("Button") != null)
         {
             animation = own.transform.Find("Button").gameObject.GetComponent<ButtonAnimation>();
@@ -75,6 +109,33 @@ public class ItemWidgetBasic : UIComponent, IScorllListWidget
         base.AddButtonEvent();
     }
 
+    private void OnPointerExit(PointerEventData obj)
+    {
+        onPointerExit?.Invoke(this);
+    }
+
+    private void OnPointerEnter(PointerEventData obj)
+    {
+        onPointerEnter?.Invoke(this);
+    }
+
+
+    private void OnDragStart(PointerEventData obj)
+    {
+        onDragStart?.Invoke(obj, this);
+    }
+
+
+    private void OnDrag(PointerEventData obj)
+    {
+        onDrag?.Invoke(obj, this);
+    }
+
+    private void OnDragEnd(PointerEventData obj)
+    {
+        onDragEnd?.Invoke(obj, this);
+    }
+
     public override CTask<bool> AsyncInit(object[] uiData)
     {
         if (_rectTransform == null)
@@ -89,7 +150,7 @@ public class ItemWidgetBasic : UIComponent, IScorllListWidget
 
     public void SetBtnAnimation(bool isEnable)
     {
-        if(animation)
+        if (animation)
             animation.isEnabled = isEnable;
     }
 
@@ -124,6 +185,4 @@ public class ItemWidgetBasic : UIComponent, IScorllListWidget
     {
         OnContinueClick?.Invoke(this);
     }
-    
-  
 }

+ 122 - 9
Assets/Scripts/GameUI/UI/Component/LongPressBtn.cs

@@ -5,7 +5,8 @@ using Fort23.UTool;
 using UnityEngine;
 using UnityEngine.EventSystems;
 
-public class LongPressBtn : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler, IPointerClickHandler
+public class LongPressBtn : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler,
+    IPointerClickHandler, IDragHandler, IBeginDragHandler, IEndDragHandler, IPointerEnterHandler
 {
     private float _time;
 
@@ -35,24 +36,54 @@ public class LongPressBtn : MonoBehaviour, IPointerDownHandler, IPointerUpHandle
     /// <summary>
     /// 是否触发了长按
     /// </summary>
-    public bool isTriggerLongPress => _isTriggerLongPress;
+    public bool IsTriggerLongPress => _isTriggerLongPress;
+
+    // 拖拽相关变量
+    private bool _isDragging;
+    private Vector2 _dragStartPosition;
+
+    /// <summary>
+    /// 拖拽阈值(像素),超过这个距离才认为是拖拽
+    /// </summary>
+    public float dragThreshold = 10f;
+
+    /// <summary>
+    /// 拖拽开始事件
+    /// </summary>
+    public Action<PointerEventData> onDragStart;
+
+    /// <summary>
+    /// 拖拽进行中事件
+    /// </summary>
+    public Action<PointerEventData> onDrag;
+
+    /// <summary>
+    /// 拖拽结束事件
+    /// </summary>
+    public Action<PointerEventData> onDragEnd;
+
+    public Action<PointerEventData> onPointerEnter;
+
+    public Action<PointerEventData> onPointerExit;
 
     void OnPress(bool pressed)
     {
         if (pressed) // 按下
         {
             isPressd = true;
+            _isDragging = false; // 重置拖拽状态
         }
         else // 松开或离开
         {
             if (isPressd)
             {
-                if (_isTriggerLongPress ) // 触发了长按且不是离开,执行 longPressEnd
+                if (_isTriggerLongPress && !_isDragging) // 触发了长按且不是拖拽,执行 longPressEnd
                 {
                     longPressEnd?.Invoke();
                     _isTriggerLongPress = false;
                 }
             }
+
             isPressd = false;
             _time = 0;
         }
@@ -60,6 +91,9 @@ public class LongPressBtn : MonoBehaviour, IPointerDownHandler, IPointerUpHandle
 
     private void Update()
     {
+        // 如果正在拖拽,不执行长按逻辑
+        if (_isDragging) return;
+
         if (isPressd && !_isTriggerLongPress)
         {
             _time += Time.deltaTime;
@@ -93,34 +127,113 @@ public class LongPressBtn : MonoBehaviour, IPointerDownHandler, IPointerUpHandle
             {
                 longPressEnd?.Invoke();
             }
+
             _isTriggerLongPress = false;
             _time = 0;
         }
+
+        _isDragging = false; // 同时终止拖拽状态
     }
 
     public void OnPointerDown(PointerEventData eventData)
     {
+        _dragStartPosition = eventData.position;
         OnPress(true);
     }
 
     public void OnPointerUp(PointerEventData eventData)
     {
+        // 如果正在拖拽,先触发拖拽结束
+        if (_isDragging)
+        {
+            OnEndDrag(eventData);
+        }
+
         OnPress(false);
     }
 
     public void OnPointerExit(PointerEventData eventData)
     {
- 
-        OnPress(false);
-     
+        onPointerExit?.Invoke(eventData);
+        // 如果正在拖拽,不处理退出事件(拖拽过程中允许离开按钮区域)
+        if (!_isDragging)
+        {
+            OnPress(false);
+        }
+    }
+
+    public void OnPointerEnter(PointerEventData eventData)
+    {
+        onPointerEnter?.Invoke(eventData);
     }
 
     public void OnPointerClick(PointerEventData eventData)
     {
-        if (!_isTriggerLongPress) // 只有未触发长按时才触发点击
+        // 如果发生了拖拽,不触发点击事件
+        if (_isDragging || _isTriggerLongPress) return;
+
+        onClick?.Invoke();
+        isPressd = false;
+    }
+
+    // ========== 拖拽相关方法 ==========
+
+    public void OnBeginDrag(PointerEventData eventData)
+    {
+        // 检查是否达到拖拽阈值
+        if (Vector2.Distance(eventData.position, _dragStartPosition) >= dragThreshold && !_isDragging)
         {
-            onClick?.Invoke();
+            _isDragging = true;
+            // 开始拖拽时终止长按逻辑
+            if (_isTriggerLongPress)
+            {
+                longPressEnd?.Invoke();
+                _isTriggerLongPress = false;
+            }
+
+            onDragStart?.Invoke(eventData);
+        }
+    }
+
+    public void OnDrag(PointerEventData eventData)
+    {
+        if (_isDragging)
+        {
+            onDrag?.Invoke(eventData);
+        }
+        else
+        {
+            // 如果还没有正式开始拖拽,检查是否达到阈值
+            if (Vector2.Distance(eventData.position, _dragStartPosition) >= dragThreshold)
+            {
+                OnBeginDrag(eventData);
+            }
+        }
+    }
+
+    public void OnEndDrag(PointerEventData eventData)
+    {
+        if (_isDragging)
+        {
+            onDragEnd?.Invoke(eventData);
+            _isDragging = false;
+        }
+    }
+
+    /// <summary>
+    /// 检查是否正在拖拽
+    /// </summary>
+    public bool IsDragging => _isDragging;
+
+    /// <summary>
+    /// 强制结束拖拽
+    /// </summary>
+    public void ForceEndDrag()
+    {
+        if (_isDragging)
+        {
+            _isDragging = false;
+            onDragEnd?.Invoke(null);
         }
-        isPressd = false;
     }
 }

+ 111 - 149
UserSettings/Layouts/default-2022.dwlt

@@ -1,30 +1,6 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
 --- !u!114 &1
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_PixelRect:
-    serializedVersion: 2
-    x: -2054
-    y: 328
-    width: 892
-    height: 541
-  m_ShowMode: 0
-  m_Title: Console
-  m_RootView: {fileID: 4}
-  m_MinSize: {x: 100, y: 121}
-  m_MaxSize: {x: 4000, y: 4021}
-  m_Maximized: 0
---- !u!114 &2
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -43,63 +19,12 @@ MonoBehaviour:
     width: 2560
     height: 1349
   m_ShowMode: 4
-  m_Title: Hierarchy
-  m_RootView: {fileID: 5}
+  m_Title: Game
+  m_RootView: {fileID: 2}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
   m_Maximized: 1
---- !u!114 &3
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: ConsoleWindow
-  m_EditorClassIdentifier: 
-  m_Children: []
-  m_Position:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 892
-    height: 541
-  m_MinSize: {x: 100, y: 121}
-  m_MaxSize: {x: 4000, y: 4021}
-  m_ActualView: {fileID: 13}
-  m_Panes:
-  - {fileID: 13}
-  m_Selected: 0
-  m_LastSelected: 0
---- !u!114 &4
-MonoBehaviour:
-  m_ObjectHideFlags: 52
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 0}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Children:
-  - {fileID: 3}
-  m_Position:
-    serializedVersion: 2
-    x: 0
-    y: 0
-    width: 892
-    height: 541
-  m_MinSize: {x: 100, y: 121}
-  m_MaxSize: {x: 4000, y: 4021}
-  vertical: 0
-  controlID: 41747
-  draggingID: 0
---- !u!114 &5
+--- !u!114 &2
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -112,9 +37,9 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Children:
-  - {fileID: 6}
-  - {fileID: 7}
-  - {fileID: 8}
+  - {fileID: 3}
+  - {fileID: 4}
+  - {fileID: 5}
   m_Position:
     serializedVersion: 2
     x: 0
@@ -127,7 +52,7 @@ MonoBehaviour:
   m_TopViewHeight: 30
   m_UseBottomView: 1
   m_BottomViewHeight: 20
---- !u!114 &6
+--- !u!114 &3
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -148,8 +73,8 @@ MonoBehaviour:
     height: 30
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
-  m_LastLoadedLayoutName: 1
---- !u!114 &7
+  m_LastLoadedLayoutName: 
+--- !u!114 &4
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -162,10 +87,10 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Children:
-  - {fileID: 12}
   - {fileID: 9}
-  - {fileID: 10}
-  - {fileID: 11}
+  - {fileID: 6}
+  - {fileID: 7}
+  - {fileID: 8}
   m_Position:
     serializedVersion: 2
     x: 0
@@ -175,9 +100,9 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 50}
   m_MaxSize: {x: 32384, y: 8096}
   vertical: 0
-  controlID: 239
+  controlID: 91
   draggingID: 0
---- !u!114 &8
+--- !u!114 &5
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -198,7 +123,7 @@ MonoBehaviour:
     height: 20
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
---- !u!114 &9
+--- !u!114 &6
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -217,14 +142,14 @@ MonoBehaviour:
     y: 0
     width: 411
     height: 1299
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
-  m_ActualView: {fileID: 14}
+  m_MinSize: {x: 202, y: 221}
+  m_MaxSize: {x: 4002, y: 4021}
+  m_ActualView: {fileID: 11}
   m_Panes:
-  - {fileID: 14}
+  - {fileID: 11}
   m_Selected: 0
   m_LastSelected: 0
---- !u!114 &10
+--- !u!114 &7
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -241,16 +166,16 @@ MonoBehaviour:
     serializedVersion: 2
     x: 1620
     y: 0
-    width: 437
+    width: 552
     height: 1299
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
-  m_ActualView: {fileID: 16}
+  m_ActualView: {fileID: 13}
   m_Panes:
-  - {fileID: 16}
+  - {fileID: 13}
   m_Selected: 0
   m_LastSelected: 0
---- !u!114 &11
+--- !u!114 &8
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -265,18 +190,18 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 2057
+    x: 2172
     y: 0
-    width: 503
+    width: 388
     height: 1299
   m_MinSize: {x: 275, y: 50}
   m_MaxSize: {x: 4000, y: 4000}
-  m_ActualView: {fileID: 15}
+  m_ActualView: {fileID: 12}
   m_Panes:
-  - {fileID: 15}
+  - {fileID: 12}
   m_Selected: 0
   m_LastSelected: 0
---- !u!114 &12
+--- !u!114 &9
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -286,7 +211,7 @@ MonoBehaviour:
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: SceneView
+  m_Name: GameView
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
@@ -297,13 +222,14 @@ MonoBehaviour:
     height: 1299
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
-  m_ActualView: {fileID: 18}
+  m_ActualView: {fileID: 14}
   m_Panes:
-  - {fileID: 18}
-  - {fileID: 17}
-  m_Selected: 0
-  m_LastSelected: 1
---- !u!114 &13
+  - {fileID: 15}
+  - {fileID: 14}
+  - {fileID: 10}
+  m_Selected: 1
+  m_LastSelected: 0
+--- !u!114 &10
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -312,21 +238,21 @@ MonoBehaviour:
   m_GameObject: {fileID: 0}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0}
+  m_Script: {fileID: 12914, guid: 0000000000000000e000000000000000, type: 0}
   m_Name: 
   m_EditorClassIdentifier: 
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 4000, y: 4000}
   m_TitleContent:
-    m_Text: Console
-    m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0}
+    m_Text: Animator
+    m_Image: {fileID: -1673928668082335149, guid: 0000000000000000d000000000000000, type: 0}
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: -2054
-    y: 328
-    width: 892
-    height: 520
+    x: 0
+    y: 73
+    width: 1208
+    height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -337,7 +263,43 @@ MonoBehaviour:
     m_LastAppliedPresetName: Default
     m_SaveData: []
     m_OverlaysVisible: 1
---- !u!114 &14
+  m_ViewTransforms:
+    m_KeySerializationHelper:
+    - {fileID: -3440584703619950180, guid: f2a7efcd63199ab4795e66e996544127, type: 2}
+    m_ValueSerializationHelper:
+    - e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+  m_PreviewAnimator: {fileID: 0}
+  m_AnimatorController: {fileID: 9100000, guid: f2a7efcd63199ab4795e66e996544127, type: 2}
+  m_BreadCrumbs:
+  - m_Target: {fileID: -3440584703619950180, guid: f2a7efcd63199ab4795e66e996544127, type: 2}
+    m_ScrollPosition: {x: 0, y: 0}
+  stateMachineGraph: {fileID: 0}
+  stateMachineGraphGUI: {fileID: 0}
+  blendTreeGraph: {fileID: 0}
+  blendTreeGraphGUI: {fileID: 0}
+  m_AutoLiveLink: 1
+  m_MiniTool: 0
+  m_LockTracker:
+    m_IsLocked: 0
+  m_CurrentEditor: 1
+  m_LayerEditor:
+    m_SelectedLayerIndex: 0
+--- !u!114 &11
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -376,23 +338,23 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: 3efaffff50faffff78faffff
+      m_ExpandedIDs: b464deff9e65deffa465deffb873deff6675deff5aa8deff5ea8deff6ca8deff2afedeff7231dfff8031dfffea47dfffda48dfff92b8dfff98b8dfffbab9dfffd2b9dfffd6b9dfffe8b9dfff88a7f6ff243bf7ff2a3bf7ff4c3cf7ff643cf7ff683cf7ff7a3cf7ffc44af9ffd24af9ff7c99fbff8699fbff8e99fbff1e9afbffac12fcffba12fcff3023fdff5023fdff7223fdff5e25fdffbe83fdffd683fdffde83fdffec83fdffec20fffff020fffffe20ffff78faffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
-        m_Name: MenuBgRoot
-        m_OriginalName: MenuBgRoot
+        m_Name: 
+        m_OriginalName: 
         m_EditFieldRect:
           serializedVersion: 2
           x: 0
           y: 0
           width: 0
           height: 0
-        m_UserData: 262498
+        m_UserData: 0
         m_IsWaitingForDelay: 0
         m_IsRenaming: 0
-        m_OriginalEventType: 0
+        m_OriginalEventType: 11
         m_IsRenamingFilename: 0
-        m_ClientGUIView: {fileID: 9}
+        m_ClientGUIView: {fileID: 6}
       m_SearchString: 
     m_ExpandedScenes: []
     m_CurrenRootInstanceID: 0
@@ -400,7 +362,7 @@ MonoBehaviour:
       m_IsLocked: 0
     m_CurrentSortingName: TransformSorting
   m_WindowGUID: 468457e0d3add1041b6fec0b00b6a014
---- !u!114 &15
+--- !u!114 &12
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -420,9 +382,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 2057
+    x: 2172
     y: 73
-    width: 502
+    width: 387
     height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -447,7 +409,7 @@ MonoBehaviour:
   m_LockTracker:
     m_IsLocked: 0
   m_PreviewWindow: {fileID: 0}
---- !u!114 &16
+--- !u!114 &13
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -469,7 +431,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 1620
     y: 73
-    width: 435
+    width: 550
     height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -492,24 +454,24 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets/Res/UI/AppBarPanel
+    - Assets/Res/UI/GuidePanel
     m_Globs: []
     m_OriginalText: gamerun
     m_ImportLogFlags: 0
     m_FilterByTypeIntersection: 0
   m_ViewMode: 1
-  m_StartGridSize: 16
+  m_StartGridSize: 55
   m_LastFolders:
-  - Assets/Res/UI/AppBarPanel
-  m_LastFoldersGridSize: -1
+  - Assets/Res/UI/GuidePanel
+  m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\FB\XiuXianGame
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
     scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: b8c80000
-    m_LastClickedID: 51384
-    m_ExpandedIDs: 000000004ac800004cc800004ec8000050c8000052c8000054c8000056c8000058c800005ac800005cc800005ec8000060c8000000ca9a3b
+    m_SelectedIDs: e2c80000
+    m_LastClickedID: 51426
+    m_ExpandedIDs: 000000005ec8000060c8000062c8000064c8000066c8000068c800006ac800006cc800006ec8000070c8000072c8000074c8000098c8000000ca9a3b
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -537,7 +499,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 000000004ac800004cc800004ec8000050c8000052c8000054c8000056c8000058c800005ac800005cc800005ec8000060c8000000ca9a3b
+    m_ExpandedIDs: 000000005ec8000060c8000062c8000064c8000066c8000068c800006ac800006cc800006ec8000070c8000072c8000074c80000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -565,23 +527,23 @@ MonoBehaviour:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
     m_HadKeyboardFocusLastEvent: 1
-    m_ExpandedInstanceIDs: 
+    m_ExpandedInstanceIDs: f0920200
     m_RenameOverlay:
       m_UserAcceptedRename: 0
-      m_Name: DaoYouIdleEarningsWidget
-      m_OriginalName: DaoYouIdleEarningsWidget
+      m_Name: GuideHand
+      m_OriginalName: GuideHand
       m_EditFieldRect:
         serializedVersion: 2
         x: 0
         y: 0
         width: 0
         height: 0
-      m_UserData: 51574
+      m_UserData: 45834
       m_IsWaitingForDelay: 0
       m_IsRenaming: 0
       m_OriginalEventType: 0
       m_IsRenamingFilename: 1
-      m_ClientGUIView: {fileID: 10}
+      m_ClientGUIView: {fileID: 7}
     m_CreateAssetUtility:
       m_EndAction: {fileID: 0}
       m_InstanceID: 0
@@ -590,10 +552,10 @@ MonoBehaviour:
       m_ResourceFile: 
     m_NewAssetIndexInList: -1
     m_ScrollPosition: {x: 0, y: 0}
-    m_GridSize: 16
+    m_GridSize: 55
   m_SkipHiddenPackages: 0
-  m_DirectoriesAreaWidth: 225
---- !u!114 &17
+  m_DirectoriesAreaWidth: 205
+--- !u!114 &14
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -691,7 +653,7 @@ MonoBehaviour:
   m_LowResolutionForAspectRatios: 01000001000000000000
   m_XRRenderMode: 0
   m_RenderTexture: {fileID: 0}
---- !u!114 &18
+--- !u!114 &15
 MonoBehaviour:
   m_ObjectHideFlags: 52
   m_CorrespondingSourceObject: {fileID: 0}
@@ -950,7 +912,7 @@ MonoBehaviour:
       floating: 0
       collapsed: 0
       displayed: 0
-      snapOffset: {x: 0, y: 0}
+      snapOffset: {x: 0, y: 25}
       snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 0
       id: Scene View/Particles
@@ -1160,7 +1122,7 @@ MonoBehaviour:
     m_OcclusionCulling: 0
     m_EnableGDRP: 1
     m_BackfaceCulling: 0
-  m_LastSceneViewRotation: {x: 0.004411138, y: 0.98648864, z: -0.16153778, w: 0.026939217}
+  m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
   m_LastSceneViewOrtho: 0
   m_ReplacementShader: {fileID: 0}
   m_ReplacementString: