DESKTOP-BGJIU14\ck пре 2 недеља
родитељ
комит
cc056a9bf0
41 измењених фајлова са 2151 додато и 454 уклоњено
  1. 166 4
      Assets/Res/Config/BuffConfig.json
  2. 72 53
      Assets/Res/Config/SkillConfig.json
  3. 5 2
      Assets/Res/Language/FontSettingConfig.asset
  4. 173 9
      Assets/Res/UI/BuffWidget.prefab
  5. 599 0
      Assets/Res/UI/SkillMassgePanel.prefab
  6. 7 0
      Assets/Res/UI/SkillMassgePanel.prefab.meta
  7. 1 1
      Assets/Res/UI/SkillSelectPanel.prefab
  8. 571 297
      Assets/Scenes/testCombat.scene
  9. 12 0
      Assets/Scripts/GameData/ExcelConfig/BuffConfig.cs
  10. 12 12
      Assets/Scripts/GameData/ExcelConfig/SkillConfig.cs
  11. 2 1
      Assets/Scripts/GameLogic/Combat/Buff/BuffBasic.cs
  12. 64 4
      Assets/Scripts/GameLogic/Combat/Buff/BuffControl.cs
  13. 7 1
      Assets/Scripts/GameLogic/Combat/Buff/BuffInfo.cs
  14. 1 1
      Assets/Scripts/GameLogic/Combat/Buff/b_1003.cs
  15. 1 1
      Assets/Scripts/GameLogic/Combat/Buff/b_1005.cs
  16. 19 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/BuffEventData.cs
  17. 3 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/BuffEventData.cs.meta
  18. 8 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/CombatEventType.cs
  19. 23 9
      Assets/Scripts/GameLogic/Combat/Skill/S1001.cs
  20. 13 2
      Assets/Scripts/GameLogic/Combat/Skill/S1101.cs
  21. 7 2
      Assets/Scripts/GameLogic/Combat/Skill/S1201.cs
  22. 6 1
      Assets/Scripts/GameLogic/Combat/Skill/S1301.cs
  23. 6 1
      Assets/Scripts/GameLogic/Combat/Skill/S2001.cs
  24. 67 0
      Assets/Scripts/GameLogic/Combat/Skill/S501501.cs
  25. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S501501.cs.meta
  26. 53 18
      Assets/Scripts/GameUI/UI/CombatPanel/BuffWidget.cs
  27. 62 0
      Assets/Scripts/GameUI/UI/CombatPanel/BuffWidgetData.cs
  28. 11 0
      Assets/Scripts/GameUI/UI/CombatPanel/BuffWidgetData.cs.meta
  29. 1 0
      Assets/Scripts/GameUI/UI/CombatPanel/CombatPanel.cs
  30. 22 3
      Assets/Scripts/GameUI/UI/CombatPanel/HeroHpWidget.cs
  31. 10 1
      Assets/Scripts/GameUI/UI/CombatPanel/SkillKongWidget.cs
  32. 39 0
      Assets/Scripts/GameUI/UI/CombatPanel/SkillMassgePanel.cs
  33. 11 0
      Assets/Scripts/GameUI/UI/CombatPanel/SkillMassgePanel.cs.meta
  34. 51 0
      Assets/Scripts/GameUI/UI/CombatPanel/SkillMassgePanelData.cs
  35. 11 0
      Assets/Scripts/GameUI/UI/CombatPanel/SkillMassgePanelData.cs.meta
  36. 1 1
      Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs
  37. 2 1
      Assets/Scripts/GameUI/UI/CombatPanel/SkillWidget.cs
  38. 0 0
      Assets/StreamingAssets/assetConfig.txt
  39. BIN
      Excel2Json/Excel/Buff.xlsx
  40. BIN
      Excel2Json/Excel/skill.xlsx
  41. 29 29
      UserSettings/Layouts/default-2022.dwlt

+ 166 - 4
Assets/Res/Config/BuffConfig.json

@@ -1,20 +1,22 @@
 {
   "configList": [
     {
-      "ID": 100101,
+      "ID": 10011,
+      "nameTest": "寒气",
+      "decTest": "每到寒气对敌人的功法运转速度降低1%,10道寒气后,敌人将会被冻结,功法不在运转。火系功法能清除1层",
       "Rare": null,
       "opposite": 1,
       "icon": "icon_buff1",
       "buffName": 500003,
       "buffEffectDes": 500044,
       "buffGroup": 1001,
-      "overlayCount": 5,
+      "overlayCount": 20,
       "effectValue": [
-        30.0
+        1.0
       ],
       "graduallyDecrease": 20,
       "Power": 0,
-      "timeType": 2,
+      "timeType": 1,
       "effectIndex": [
         0
       ],
@@ -29,6 +31,166 @@
       "isTeam": 0,
       "abyssBuffType": 0,
       "scriptsName": "b_1001"
+    },
+    {
+      "ID": 10021,
+      "nameTest": "冻结",
+      "decTest": "敌人不能做任何作用,功法将会被封住。部分法宝可以释放",
+      "Rare": null,
+      "opposite": 1,
+      "icon": "icon_buff1",
+      "buffName": 500003,
+      "buffEffectDes": 500044,
+      "buffGroup": 1002,
+      "overlayCount": 1,
+      "effectValue": [
+        30.0
+      ],
+      "graduallyDecrease": 20,
+      "Power": 0,
+      "timeType": 1,
+      "effectIndex": [
+        0
+      ],
+      "buffTime": 9.0,
+      "buffType": 2,
+      "attentionType": 0,
+      "dispelType": 1,
+      "IsControlBuff": 0,
+      "IsStopSmallSkill": 0,
+      "IsHideIcon": 0,
+      "EnableType": 0,
+      "isTeam": 0,
+      "abyssBuffType": 0,
+      "scriptsName": "b_1002"
+    },
+    {
+      "ID": 10031,
+      "nameTest": "毒",
+      "decTest": "每层毒对敌人每秒照成1%伤害,10层毒后毒气会入侵五脏对敌人对敌人施加噬魂",
+      "Rare": null,
+      "opposite": 1,
+      "icon": "icon_buff1",
+      "buffName": 500003,
+      "buffEffectDes": 500044,
+      "buffGroup": 1003,
+      "overlayCount": 10,
+      "effectValue": [
+        1.0
+      ],
+      "graduallyDecrease": 20,
+      "Power": 0,
+      "timeType": 1,
+      "effectIndex": [
+        0
+      ],
+      "buffTime": 9.0,
+      "buffType": 2,
+      "attentionType": 0,
+      "dispelType": 1,
+      "IsControlBuff": 0,
+      "IsStopSmallSkill": 0,
+      "IsHideIcon": 0,
+      "EnableType": 0,
+      "isTeam": 0,
+      "abyssBuffType": 0,
+      "scriptsName": "b_1003"
+    },
+    {
+      "ID": 10041,
+      "nameTest": "噬魂",
+      "decTest": "敌人每使用一次功法对应功法的伤势增加1",
+      "Rare": null,
+      "opposite": 1,
+      "icon": "icon_buff1",
+      "buffName": 500003,
+      "buffEffectDes": 500044,
+      "buffGroup": 1004,
+      "overlayCount": 1,
+      "effectValue": [
+        1.0
+      ],
+      "graduallyDecrease": 20,
+      "Power": 0,
+      "timeType": 1,
+      "effectIndex": [
+        0
+      ],
+      "buffTime": 9.0,
+      "buffType": 2,
+      "attentionType": 0,
+      "dispelType": 1,
+      "IsControlBuff": 0,
+      "IsStopSmallSkill": 0,
+      "IsHideIcon": 0,
+      "EnableType": 0,
+      "isTeam": 0,
+      "abyssBuffType": 0,
+      "scriptsName": "b_1004"
+    },
+    {
+      "ID": 10051,
+      "nameTest": "灼热",
+      "decTest": "每秒对敌人照成火属性灼烧伤害。5层后对敌人照成火系伤势+1。水洗功法能清除1层",
+      "Rare": null,
+      "opposite": 1,
+      "icon": "icon_buff1",
+      "buffName": 500003,
+      "buffEffectDes": 500044,
+      "buffGroup": 1005,
+      "overlayCount": 10,
+      "effectValue": [
+        1.0
+      ],
+      "graduallyDecrease": 20,
+      "Power": 0,
+      "timeType": 1,
+      "effectIndex": [
+        0
+      ],
+      "buffTime": 9.0,
+      "buffType": 2,
+      "attentionType": 0,
+      "dispelType": 1,
+      "IsControlBuff": 0,
+      "IsStopSmallSkill": 0,
+      "IsHideIcon": 0,
+      "EnableType": 0,
+      "isTeam": 0,
+      "abyssBuffType": 0,
+      "scriptsName": "b_1005"
+    },
+    {
+      "ID": 10061,
+      "nameTest": "昏厥",
+      "decTest": "敌人眩晕状态不能做任何事",
+      "Rare": null,
+      "opposite": 1,
+      "icon": "icon_buff1",
+      "buffName": 500003,
+      "buffEffectDes": 500044,
+      "buffGroup": 1006,
+      "overlayCount": 1,
+      "effectValue": [
+        30.0
+      ],
+      "graduallyDecrease": 20,
+      "Power": 0,
+      "timeType": 1,
+      "effectIndex": [
+        0
+      ],
+      "buffTime": 9.0,
+      "buffType": 2,
+      "attentionType": 0,
+      "dispelType": 1,
+      "IsControlBuff": 0,
+      "IsStopSmallSkill": 0,
+      "IsHideIcon": 0,
+      "EnableType": 0,
+      "isTeam": 0,
+      "abyssBuffType": 0,
+      "scriptsName": "b_1006"
     }
   ]
 }

+ 72 - 53
Assets/Res/Config/SkillConfig.json

@@ -2,18 +2,19 @@
   "configList": [
     {
       "ID": 10011,
+      "name": "剑诀",
+      "dec": "身体周围幻化出7柄细剑,每柄细剑对敌人照成9%伤害,如果敌人有debuf状态,则虚剑伤害提升5%",
       "attribute": 1,
-      "icon": "",
+      "icon": "icon_skill_40004",
       "scriptName": "S1001",
       "IDGroup": 1001,
       "timelineName": "jianjue_timeline_TD",
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
-        100.0
+        9.0,
+        20.0
       ],
       "intensifierIndex": [
         0
@@ -21,18 +22,19 @@
     },
     {
       "ID": 20011,
+      "name": "烈焰斩",
+      "dec": "向前方发出1柄剑,对敌人造成100%火系伤害,对敌人施加一层灼热",
       "attribute": 2,
-      "icon": "",
+      "icon": "icon_skill_10001",
       "scriptName": "S2001",
       "IDGroup": 2001,
       "timelineName": "lieyanjian_timeline_TD",
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
-        100.0
+        100.0,
+        10.0
       ],
       "intensifierIndex": [
         0
@@ -40,18 +42,19 @@
     },
     {
       "ID": 11011,
+      "name": "瘴影千丝术",
+      "dec": "发出20条细细的毒针,每颗针对敌人照成2%金系伤害,每颗针有10%施加1层毒",
       "attribute": 1,
-      "icon": "",
+      "icon": "icon_skill_40001",
       "scriptName": "S1101",
       "IDGroup": 1101,
       "timelineName": "duzhen_timeline_TD",
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
-        100.0
+        2.0,
+        10.0
       ],
       "intensifierIndex": [
         0
@@ -59,18 +62,18 @@
     },
     {
       "ID": 12011,
+      "name": "雾隐千流法",
+      "dec": "身体散发出一团迷雾。从迷雾中飞出3个冰球,每个冰球对敌人照成17%伤害,施加1层寒气。",
       "attribute": 4,
-      "icon": "",
+      "icon": "icon_skill_40005",
       "scriptName": "S1201",
       "IDGroup": 1201,
       "timelineName": "bingqiu_timeline_TD",
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
-        100.0
+        17.0
       ],
       "intensifierIndex": [
         0
@@ -78,18 +81,18 @@
     },
     {
       "ID": 13011,
+      "name": "碧落幽冥劲",
+      "dec": "发出4道寒气冰锥,对敌人照成20%伤害,每到冰锥对敌人施加1层寒气",
       "attribute": 4,
-      "icon": "",
+      "icon": "icon_skill_40002",
       "scriptName": "S1301",
       "IDGroup": 1301,
       "timelineName": "bingzhui_timeline_TD",
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
-        100.0
+        20.0
       ],
       "intensifierIndex": [
         0
@@ -97,16 +100,16 @@
     },
     {
       "ID": 5010011,
-      "attribute": 1,
-      "icon": "",
+      "name": "法宝秘籍",
+      "dec": "法宝秘籍:后方槽位第一个技能在击中目前时为法宝提供0.1%充能",
+      "attribute": 0,
+      "icon": "icon_skill_30005",
       "scriptName": "S501001",
       "IDGroup": 501001,
       "timelineName": "",
       "cd": null,
       "SkillType": 2,
       "level": 1,
-      "name": null,
-      "desc": null,
       "effectValue": [
         0.1
       ],
@@ -116,16 +119,16 @@
     },
     {
       "ID": 5011011,
-      "attribute": 1,
-      "icon": "",
+      "name": "双生面具",
+      "dec": "前后方法宝如果相生则双发效果增强(10%),(具体效果值取决于技能)",
+      "attribute": 0,
+      "icon": "icon_skill_20004",
       "scriptName": "S501101",
       "IDGroup": 501101,
       "timelineName": "",
       "cd": null,
       "SkillType": 2,
       "level": 1,
-      "name": null,
-      "desc": null,
       "effectValue": [
         10.0
       ],
@@ -135,16 +138,16 @@
     },
     {
       "ID": 5012011,
-      "attribute": 1,
-      "icon": "",
+      "name": "火灵丹",
+      "dec": "每层经过火经脉时使火系功法伤害提升1%,最多叠加20层",
+      "attribute": 0,
+      "icon": "icon_skill_10002",
       "scriptName": "S501201",
       "IDGroup": 501201,
       "timelineName": "",
       "cd": null,
       "SkillType": 2,
       "level": 1,
-      "name": null,
-      "desc": null,
       "effectValue": [
         1.0,
         20.0
@@ -155,16 +158,16 @@
     },
     {
       "ID": 5013011,
-      "attribute": 1,
-      "icon": "",
+      "name": "巨大化",
+      "dec": "后方槽位第一个技能体型巨大化,且在对碰中受到伤害减少20%",
+      "attribute": 0,
+      "icon": "icon_skill_20002",
       "scriptName": "S501301",
       "IDGroup": 501301,
       "timelineName": "",
       "cd": null,
       "SkillType": 2,
       "level": 1,
-      "name": null,
-      "desc": null,
       "effectValue": [
         20.0
       ],
@@ -174,16 +177,16 @@
     },
     {
       "ID": 5014011,
-      "attribute": 1,
-      "icon": "",
+      "name": "极速齿轮",
+      "dec": "后槽位技能在催动时获得转盘加速10%,持续2秒",
+      "attribute": 0,
+      "icon": "icon_skill_10004",
       "scriptName": "S501401",
       "IDGroup": 501401,
       "timelineName": "",
       "cd": null,
       "SkillType": 2,
       "level": 1,
-      "name": null,
-      "desc": null,
       "effectValue": [
         10.0,
         2.0
@@ -192,8 +195,26 @@
         0
       ]
     },
+    {
+      "ID": 5015011,
+      "name": "崩脉决",
+      "dec": "前方功法照成伤害时有5%概率施加一层对应属性的伤势",
+      "attribute": 0,
+      "icon": "icon_skill_20001",
+      "scriptName": "S501501",
+      "IDGroup": 501501,
+      "timelineName": "",
+      "cd": null,
+      "SkillType": 2,
+      "level": 1,
+      "effectValue": [
+        5.0
+      ]
+    },
     {
       "ID": 810011,
+      "name": "怪物技能1",
+      "dec": "",
       "attribute": 1,
       "icon": "",
       "scriptName": "S2001",
@@ -202,8 +223,6 @@
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
         100.0
       ],
@@ -213,6 +232,8 @@
     },
     {
       "ID": 820011,
+      "name": "怪物技能1",
+      "dec": "",
       "attribute": 2,
       "icon": "",
       "scriptName": "S2001",
@@ -221,8 +242,6 @@
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
         100.0
       ],
@@ -232,6 +251,8 @@
     },
     {
       "ID": 830011,
+      "name": "怪物技能1",
+      "dec": "",
       "attribute": 8,
       "icon": "",
       "scriptName": "S2001",
@@ -240,8 +261,6 @@
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
         100.0
       ],
@@ -251,6 +270,8 @@
     },
     {
       "ID": 840011,
+      "name": "怪物技能1",
+      "dec": "",
       "attribute": 16,
       "icon": "",
       "scriptName": "S2001",
@@ -259,8 +280,6 @@
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
         100.0
       ],
@@ -270,6 +289,8 @@
     },
     {
       "ID": 850011,
+      "name": "怪物技能1",
+      "dec": "",
       "attribute": 1,
       "icon": "",
       "scriptName": "S2001",
@@ -278,8 +299,6 @@
       "cd": null,
       "SkillType": 1,
       "level": 1,
-      "name": 405077,
-      "desc": null,
       "effectValue": [
         100.0
       ],
@@ -289,16 +308,16 @@
     },
     {
       "ID": 9010011,
+      "name": "玉葫芦法宝技能,对敌人照成法宝威能的伤害",
+      "dec": "",
       "attribute": 1,
-      "icon": "",
+      "icon": "icon_skill_10003",
       "scriptName": "S901001",
       "IDGroup": 901001,
       "timelineName": "",
       "cd": null,
       "SkillType": 3,
       "level": 1,
-      "name": null,
-      "desc": null,
       "effectValue": [
         100.0
       ],

+ 5 - 2
Assets/Res/Language/FontSettingConfig.asset

@@ -14,6 +14,9 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   languageConfig:
   - languageType: 0
-    isDefault: 1
-    fontConfig: []
+    isDefault: 0
+    fontConfig:
+    - index: 0
+      fontName: 
+      offset: {x: 0, y: 0}
     blockWordName: 

+ 173 - 9
Assets/Res/UI/BuffWidget.prefab

@@ -1,5 +1,89 @@
 %YAML 1.1
 %TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &451616534081724453
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8010645253974417761}
+  - component: {fileID: 3821083376323381976}
+  - component: {fileID: 5027164772933351689}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: cd
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8010645253974417761
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 451616534081724453}
+  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: 1874690903935274985}
+  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: 30, y: 30}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3821083376323381976
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 451616534081724453}
+  m_CullTransparentMesh: 1
+--- !u!114 &5027164772933351689
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 451616534081724453}
+  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.6415094, g: 0.6415094, b: 0.6415094, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: fac2f1f21015b4387ba948c68d69b20a, type: 3}
+  m_Type: 3
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 0
+  m_FillClockwise: 0
+  m_FillOrigin: 2
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: icon_item_Gear_Armor_Top
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 0}
+  packInfo:
+    packName: itemIcon
+    packgJsonPath: /Art/UIAssets/TextrueJson/itemIcon.txt
+    packgSpritePath: Assets/Res/UIAtlas/itemIcon.spriteatlasv2
+    lasetJsonGUID: 
 --- !u!1 &3838876637250724912
 GameObject:
   m_ObjectHideFlags: 0
@@ -10,7 +94,7 @@ GameObject:
   m_Component:
   - component: {fileID: 6629359898859290594}
   - component: {fileID: 5014128981479173784}
-  - component: {fileID: 4786912275912586714}
+  - component: {fileID: 8179924829558655421}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: buffIcon
@@ -46,7 +130,7 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 3838876637250724912}
   m_CullTransparentMesh: 1
---- !u!114 &4786912275912586714
+--- !u!114 &8179924829558655421
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -55,7 +139,7 @@ MonoBehaviour:
   m_GameObject: {fileID: 3838876637250724912}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
@@ -66,7 +150,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_Sprite: {fileID: 0}
+  m_Sprite: {fileID: 21300000, guid: fac2f1f21015b4387ba948c68d69b20a, type: 3}
   m_Type: 0
   m_PreserveAspect: 0
   m_FillCenter: 1
@@ -76,6 +160,14 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+  _icon_name: icon_item_Gear_Armor_Top
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 0}
+  packInfo:
+    packName: itemIcon
+    packgJsonPath: /Art/UIAssets/TextrueJson/itemIcon.txt
+    packgSpritePath: Assets/Res/UIAtlas/itemIcon.spriteatlasv2
+    lasetJsonGUID: 
 --- !u!1 &4312834638348961741
 GameObject:
   m_ObjectHideFlags: 0
@@ -87,6 +179,7 @@ GameObject:
   - component: {fileID: 7433295612686131427}
   - component: {fileID: 1238986821254646327}
   - component: {fileID: 4016156508120193148}
+  - component: {fileID: 8855732311597591477}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: buffCount
@@ -112,7 +205,7 @@ RectTransform:
   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: 160, y: 30}
+  m_SizeDelta: {x: 30, y: 30}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1238986821254646327
 CanvasRenderer:
@@ -135,7 +228,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
-  m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+  m_Color: {r: 0.9716981, g: 0.23375754, b: 0.23375754, a: 1}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1
@@ -144,10 +237,10 @@ MonoBehaviour:
       m_Calls: []
   m_FontData:
     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
-    m_FontSize: 20
+    m_FontSize: 14
     m_FontStyle: 0
     m_BestFit: 0
-    m_MinSize: 2
+    m_MinSize: 1
     m_MaxSize: 40
     m_Alignment: 4
     m_AlignByGeometry: 0
@@ -156,6 +249,21 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: 10
+--- !u!114 &8855732311597591477
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4312834638348961741}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
+  m_EffectDistance: {x: 1, y: -1}
+  m_UseGraphicAlpha: 1
 --- !u!1 &6934887617118568492
 GameObject:
   m_ObjectHideFlags: 0
@@ -166,6 +274,7 @@ GameObject:
   m_Component:
   - component: {fileID: 1874690903935274985}
   - component: {fileID: 6727049113798588128}
+  - component: {fileID: 6991078064949171260}
   m_Layer: 5
   m_HasEditorInfo: 1
   m_Name: BuffWidget
@@ -187,6 +296,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 6629359898859290594}
+  - {fileID: 8010645253974417761}
   - {fileID: 7433295612686131427}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -209,7 +319,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   data:
   - key: buffIcon
-    gameObject: {fileID: 4786912275912586714}
+    gameObject: {fileID: 8179924829558655421}
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
@@ -218,4 +328,58 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: cd
+    gameObject: {fileID: 5027164772933351689}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: myButton
+    gameObject: {fileID: 6991078064949171260}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
+--- !u!114 &6991078064949171260
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6934887617118568492}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 0}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []

+ 599 - 0
Assets/Res/UI/SkillMassgePanel.prefab

@@ -0,0 +1,599 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &959975830485342132
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4480049515833029494}
+  - component: {fileID: 5048528037997048130}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: SkillMassgePanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &4480049515833029494
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959975830485342132}
+  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: 3960169911326494192}
+  - {fileID: 1490485299211484798}
+  - {fileID: 3849278629804045308}
+  - {fileID: 6122583032657971884}
+  - {fileID: 7480622896368215423}
+  - {fileID: 7888271529645998825}
+  m_Father: {fileID: 0}
+  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: 750, y: 1624}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5048528037997048130
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 959975830485342132}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: nameText
+    gameObject: {fileID: 7669451477446727280}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: massgeText
+    gameObject: {fileID: 1697194343927889744}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: guanbi
+    gameObject: {fileID: 7117935602168875445}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
+--- !u!1 &2319571757915002341
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1490485299211484798}
+  - component: {fileID: 3771240254086539797}
+  - component: {fileID: 6132052890035956622}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Image (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1490485299211484798
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2319571757915002341}
+  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: 4480049515833029494}
+  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: 427, y: 244.2}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3771240254086539797
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2319571757915002341}
+  m_CullTransparentMesh: 1
+--- !u!114 &6132052890035956622
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2319571757915002341}
+  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: 1
+  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: 1
+  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: btn_Round09
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: c93feb71466e7c38c2ebc85e8f3a6296
+--- !u!1 &3207348546879999267
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7888271529645998825}
+  - component: {fileID: 3065997782230339610}
+  - component: {fileID: 4072185081800750322}
+  - component: {fileID: 7117935602168875445}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: guanbi
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7888271529645998825
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3207348546879999267}
+  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: 4480049515833029494}
+  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: 177, y: 89}
+  m_SizeDelta: {x: 44, y: 44}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3065997782230339610
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3207348546879999267}
+  m_CullTransparentMesh: 1
+--- !u!114 &4072185081800750322
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3207348546879999267}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 0.3254717, b: 0.3254717, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 21300000, guid: c7c98a2b50d944d2d933ad3c1f60ad39, type: 3}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!114 &7117935602168875445
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3207348546879999267}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4072185081800750322}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &3687039284328616005
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6122583032657971884}
+  - component: {fileID: 3878207609747309761}
+  - component: {fileID: 7669451477446727280}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: nameText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6122583032657971884
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3687039284328616005}
+  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: 4480049515833029494}
+  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: 93}
+  m_SizeDelta: {x: 458.32, y: 74.79}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3878207609747309761
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3687039284328616005}
+  m_CullTransparentMesh: 1
+--- !u!114 &7669451477446727280
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3687039284328616005}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 28
+    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: New Text
+--- !u!1 &5454792456129180181
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3960169911326494192}
+  - component: {fileID: 4587643134225274661}
+  - component: {fileID: 6333405649071353888}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Image
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3960169911326494192
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5454792456129180181}
+  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: 4480049515833029494}
+  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: 1000, y: 2000}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4587643134225274661
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5454792456129180181}
+  m_CullTransparentMesh: 1
+--- !u!114 &6333405649071353888
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5454792456129180181}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.59607846}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 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
+--- !u!1 &5461590099198253036
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3849278629804045308}
+  - component: {fileID: 7681446096203755470}
+  - component: {fileID: 3105243733130640181}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Image (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3849278629804045308
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5461590099198253036}
+  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: 4480049515833029494}
+  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: 88.852}
+  m_SizeDelta: {x: 427, y: 66.495}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7681446096203755470
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5461590099198253036}
+  m_CullTransparentMesh: 1
+--- !u!114 &3105243733130640181
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 5461590099198253036}
+  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.9433962, g: 0.6832053, b: 0, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  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: btn_Round09
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  packInfo:
+    packName: all
+    packgJsonPath: /Art/UIAssets/TextrueJson/all.txt
+    packgSpritePath: Assets/Res/UIAtlas/all.spriteatlasv2
+    lasetJsonGUID: c93feb71466e7c38c2ebc85e8f3a6296
+--- !u!1 &6012879202658065893
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 7480622896368215423}
+  - component: {fileID: 2833182074333685423}
+  - component: {fileID: 1697194343927889744}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: massgeText
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7480622896368215423
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6012879202658065893}
+  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: 4480049515833029494}
+  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.5, y: -22.5}
+  m_SizeDelta: {x: 389.4, y: 138.7}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2833182074333685423
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6012879202658065893}
+  m_CullTransparentMesh: 1
+--- !u!114 &1697194343927889744
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6012879202658065893}
+  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: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    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: New TextNew TextNew TextNew TextNew TextNew TextNew Text

+ 7 - 0
Assets/Res/UI/SkillMassgePanel.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CXxNsin+W37cs1Kg5xJ6hRedUF/5wxwRu7/0rl9CHrWglZp/+Wbf8uhm/ou6
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Res/UI/SkillSelectPanel.prefab

@@ -2309,7 +2309,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   isUsePressAndHold: 1
-  holdTime: 1
+  holdTime: 0.5
 --- !u!114 &883174279432761127
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 571 - 297
Assets/Scenes/testCombat.scene

@@ -375,6 +375,222 @@ Transform:
   m_Children: []
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 1.846, y: 2.903, z: 9.044}
+--- !u!213 &121000859
+Sprite:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: btn_Round09(Clone)
+  m_Rect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 62
+    height: 66
+  m_Offset: {x: 0, y: 0}
+  m_Border: {x: 23, y: 24, z: 23, w: 26}
+  m_PixelsToUnits: 100
+  m_Pivot: {x: 0.5, y: 0.5}
+  m_Extrude: 1
+  m_IsPolygon: 0
+  m_AtlasName: 
+  m_PackingTag: 
+  m_RenderDataKey:
+    e1b6b9fd78e034d5da9c741d07ed1146: 21300000
+  m_AtlasTags:
+  - all
+  m_SpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  m_RD:
+    serializedVersion: 3
+    texture: {fileID: 2800000, guid: e1b6b9fd78e034d5da9c741d07ed1146, type: 3}
+    alphaTexture: {fileID: 0}
+    secondaryTextures: []
+    m_SubMeshes:
+    - serializedVersion: 2
+      firstByte: 0
+      indexCount: 18
+      topology: 0
+      baseVertex: 0
+      firstVertex: 0
+      vertexCount: 8
+      localAABB:
+        m_Center: {x: 0, y: 0, z: 0}
+        m_Extent: {x: 0, y: 0, z: 0}
+    m_IndexBuffer: 070006000400050004000600000004000500030004000000010003000000020001000000
+    m_VertexData:
+      serializedVersion: 3
+      m_VertexCount: 8
+      m_Channels:
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 3
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 1
+        offset: 0
+        format: 0
+        dimension: 2
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      m_DataSize: 160
+      _typelessdata: ae47613ec3f5a83e0000000052b89e3e000080be0000000052b89e3e8fc2753e00000000ae47613ec3f5a8be00000000ae4761bec3f5a8be000000009a9999bec3f5a83e0000000052b89ebe713d8a3e0000000052b89ebee17a94be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+    m_Bindpose: []
+    textureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 62
+      height: 66
+    textureRectOffset: {x: 0, y: 0}
+    atlasRectOffset: {x: -1, y: -1}
+    settingsRaw: 64
+    uvTransform: {x: 100, y: 31, z: 100, w: 33}
+    downscaleMultiplier: 1
+  m_AtlasRD:
+    serializedVersion: 3
+    texture: {fileID: 8711939763936270973, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+    alphaTexture: {fileID: 0}
+    secondaryTextures: []
+    m_SubMeshes:
+    - serializedVersion: 2
+      firstByte: 0
+      indexCount: 18
+      topology: 0
+      baseVertex: 0
+      firstVertex: 0
+      vertexCount: 8
+      localAABB:
+        m_Center: {x: 0, y: 0, z: 0}
+        m_Extent: {x: 0, y: 0, z: 0}
+    m_IndexBuffer: 070006000400050004000600000004000500030004000000010003000000020001000000
+    m_VertexData:
+      serializedVersion: 3
+      m_VertexCount: 8
+      m_Channels:
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 3
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 1
+        offset: 0
+        format: 0
+        dimension: 2
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      m_DataSize: 160
+      _typelessdata: ae47613ec3f5a83e0000000052b89e3e000080be0000000052b89e3e8fc2753e00000000ae47613ec3f5a8be00000000ae4761bec3f5a8be000000009a9999bec3f5a83e0000000052b89ebe713d8a3e0000000052b89ebee17a94be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+    m_Bindpose: []
+    textureRect:
+      serializedVersion: 2
+      x: 604
+      y: 710
+      width: 62
+      height: 66
+    textureRectOffset: {x: 0, y: 0}
+    atlasRectOffset: {x: 604, y: 710}
+    settingsRaw: 67
+    uvTransform: {x: 100, y: 635, z: 100, w: 743}
+    downscaleMultiplier: 1
+  m_PhysicsShape:
+  - - {x: -0.31, y: 0.32999998}
+    - {x: -0.31, y: -0.32999998}
+    - {x: 0.25, y: -0.32999998}
+    - {x: 0.31, y: -0.31}
+    - {x: 0.31, y: 0.32999998}
+  m_Bones: []
+  m_SpriteID: 5e97eb03825dee720800000000000000
 --- !u!1 &123020043
 GameObject:
   m_ObjectHideFlags: 0
@@ -393,7 +609,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &123020044
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -1060,90 +1276,6 @@ Camera:
   m_OcclusionCulling: 1
   m_StereoConvergence: 10
   m_StereoSeparation: 0.022
---- !u!1 &208051727
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 7
-  m_Component:
-  - component: {fileID: 208051728}
-  - component: {fileID: 208051730}
-  - component: {fileID: 208051729}
-  m_Layer: 0
-  m_HasEditorInfo: 1
-  m_Name: icon
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &208051728
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 208051727}
-  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: 817083058}
-  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: 80, y: 80}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &208051729
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 208051727}
-  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: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_Sprite: {fileID: 150101289}
-  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: icon_skill_10003
-  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
---- !u!222 &208051730
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 208051727}
-  m_CullTransparentMesh: 1
 --- !u!1 &235899919
 GameObject:
   m_ObjectHideFlags: 0
@@ -1647,7 +1779,7 @@ RectTransform:
   m_Father: {fileID: 1080868192}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 1, y: 1}
+  m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 5.334717, y: 0.34000206}
   m_SizeDelta: {x: 9.730537, y: -8.419997}
   m_Pivot: {x: 0.5, y: 0.5}
@@ -2155,7 +2287,12 @@ Transform:
   - {fileID: 1858319898}
   m_Father: {fileID: 611864970}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &699157311
+--- !u!224 &732466266 stripped
+RectTransform:
+  m_CorrespondingSourceObject: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+  m_PrefabInstance: {fileID: 3837448494345457648}
+  m_PrefabAsset: {fileID: 0}
+--- !u!1 &747255701
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -2163,85 +2300,23 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 699157312}
-  - component: {fileID: 699157313}
-  m_Layer: 5
+  - component: {fileID: 747255702}
+  m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: MagicWeapon
+  m_Name: GameObject
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &699157312
-RectTransform:
+--- !u!4 &747255702
+Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 699157311}
-  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: 817083058}
-  m_Father: {fileID: 1217261034}
-  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: 233.7, y: -566.7}
-  m_SizeDelta: {x: 100, y: 100}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &699157313
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 699157311}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Padding:
-    m_Left: 0
-    m_Right: 0
-    m_Top: 0
-    m_Bottom: 0
-  m_ChildAlignment: 0
-  m_StartCorner: 0
-  m_StartAxis: 0
-  m_CellSize: {x: 100, y: 100}
-  m_Spacing: {x: -6.3, y: -13.17}
-  m_Constraint: 1
-  m_ConstraintCount: 2
---- !u!1 &747255701
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 7
-  m_Component:
-  - component: {fileID: 747255702}
-  m_Layer: 0
-  m_HasEditorInfo: 1
-  m_Name: GameObject
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &747255702
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 747255701}
-  serializedVersion: 2
+  m_GameObject: {fileID: 747255701}
+  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}
@@ -2491,44 +2566,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 773560728}
   m_CullTransparentMesh: 1
---- !u!1 &817083057
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 7
-  m_Component:
-  - component: {fileID: 817083058}
-  m_Layer: 5
-  m_HasEditorInfo: 1
-  m_Name: MagicWeaponWidget
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &817083058
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 817083057}
-  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: 208051728}
-  - {fileID: 872517378}
-  m_Father: {fileID: 699157312}
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0, y: 0}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &846380789
 GameObject:
   m_ObjectHideFlags: 0
@@ -2638,90 +2675,6 @@ Transform:
   - {fileID: 996603547}
   m_Father: {fileID: 8535240}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &872517377
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 7
-  m_Component:
-  - component: {fileID: 872517378}
-  - component: {fileID: 872517380}
-  - component: {fileID: 872517379}
-  m_Layer: 0
-  m_HasEditorInfo: 1
-  m_Name: cd
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &872517378
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 872517377}
-  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: 817083058}
-  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: 80, y: 80}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &872517379
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 872517377}
-  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.46226418, g: 0.42955682, b: 0.42955682, a: 1}
-  m_RaycastTarget: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_Sprite: {fileID: 1913479537}
-  m_Type: 3
-  m_PreserveAspect: 0
-  m_FillCenter: 1
-  m_FillMethod: 4
-  m_FillAmount: 0
-  m_FillClockwise: 0
-  m_FillOrigin: 2
-  m_UseSpriteMesh: 0
-  m_PixelsPerUnitMultiplier: 1
-  _icon_name: icon_skill_10003
-  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
---- !u!222 &872517380
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 872517377}
-  m_CullTransparentMesh: 1
 --- !u!1 &891104892
 GameObject:
   m_ObjectHideFlags: 0
@@ -3462,7 +3415,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 5394572769830370106, guid: 10046a7863143ad43a1c1c9008538d89, type: 3}
       propertyPath: m_IsActive
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     - target: {fileID: 5394572769830370110, guid: 10046a7863143ad43a1c1c9008538d89, type: 3}
       propertyPath: m_Pivot.x
@@ -3556,6 +3509,9 @@ PrefabInstance:
     - targetCorrespondingSourceObject: {fileID: 7091770935250694576, guid: 10046a7863143ad43a1c1c9008538d89, type: 3}
       insertIndex: -1
       addedObject: {fileID: 947517248}
+    - targetCorrespondingSourceObject: {fileID: 7091770935250694576, guid: 10046a7863143ad43a1c1c9008538d89, type: 3}
+      insertIndex: -1
+      addedObject: {fileID: 732466266}
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 10046a7863143ad43a1c1c9008538d89, type: 3}
 --- !u!224 &1663534287 stripped
@@ -3563,6 +3519,222 @@ RectTransform:
   m_CorrespondingSourceObject: {fileID: 7091770935250694576, guid: 10046a7863143ad43a1c1c9008538d89, type: 3}
   m_PrefabInstance: {fileID: 1663534286}
   m_PrefabAsset: {fileID: 0}
+--- !u!213 &1677642915
+Sprite:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: btn_Round09(Clone)
+  m_Rect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 62
+    height: 66
+  m_Offset: {x: 0, y: 0}
+  m_Border: {x: 23, y: 24, z: 23, w: 26}
+  m_PixelsToUnits: 100
+  m_Pivot: {x: 0.5, y: 0.5}
+  m_Extrude: 1
+  m_IsPolygon: 0
+  m_AtlasName: 
+  m_PackingTag: 
+  m_RenderDataKey:
+    e1b6b9fd78e034d5da9c741d07ed1146: 21300000
+  m_AtlasTags:
+  - all
+  m_SpriteAtlas: {fileID: 100100200, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+  m_RD:
+    serializedVersion: 3
+    texture: {fileID: 2800000, guid: e1b6b9fd78e034d5da9c741d07ed1146, type: 3}
+    alphaTexture: {fileID: 0}
+    secondaryTextures: []
+    m_SubMeshes:
+    - serializedVersion: 2
+      firstByte: 0
+      indexCount: 18
+      topology: 0
+      baseVertex: 0
+      firstVertex: 0
+      vertexCount: 8
+      localAABB:
+        m_Center: {x: 0, y: 0, z: 0}
+        m_Extent: {x: 0, y: 0, z: 0}
+    m_IndexBuffer: 070006000400050004000600000004000500030004000000010003000000020001000000
+    m_VertexData:
+      serializedVersion: 3
+      m_VertexCount: 8
+      m_Channels:
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 3
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 1
+        offset: 0
+        format: 0
+        dimension: 2
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      m_DataSize: 160
+      _typelessdata: ae47613ec3f5a83e0000000052b89e3e000080be0000000052b89e3e8fc2753e00000000ae47613ec3f5a8be00000000ae4761bec3f5a8be000000009a9999bec3f5a83e0000000052b89ebe713d8a3e0000000052b89ebee17a94be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+    m_Bindpose: []
+    textureRect:
+      serializedVersion: 2
+      x: 0
+      y: 0
+      width: 62
+      height: 66
+    textureRectOffset: {x: 0, y: 0}
+    atlasRectOffset: {x: -1, y: -1}
+    settingsRaw: 64
+    uvTransform: {x: 100, y: 31, z: 100, w: 33}
+    downscaleMultiplier: 1
+  m_AtlasRD:
+    serializedVersion: 3
+    texture: {fileID: 8711939763936270973, guid: 7b02f32fa59cd4e3085208946b112537, type: 3}
+    alphaTexture: {fileID: 0}
+    secondaryTextures: []
+    m_SubMeshes:
+    - serializedVersion: 2
+      firstByte: 0
+      indexCount: 18
+      topology: 0
+      baseVertex: 0
+      firstVertex: 0
+      vertexCount: 8
+      localAABB:
+        m_Center: {x: 0, y: 0, z: 0}
+        m_Extent: {x: 0, y: 0, z: 0}
+    m_IndexBuffer: 070006000400050004000600000004000500030004000000010003000000020001000000
+    m_VertexData:
+      serializedVersion: 3
+      m_VertexCount: 8
+      m_Channels:
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 3
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 1
+        offset: 0
+        format: 0
+        dimension: 2
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      - stream: 0
+        offset: 0
+        format: 0
+        dimension: 0
+      m_DataSize: 160
+      _typelessdata: ae47613ec3f5a83e0000000052b89e3e000080be0000000052b89e3e8fc2753e00000000ae47613ec3f5a8be00000000ae4761bec3f5a8be000000009a9999bec3f5a83e0000000052b89ebe713d8a3e0000000052b89ebee17a94be0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+    m_Bindpose: []
+    textureRect:
+      serializedVersion: 2
+      x: 604
+      y: 710
+      width: 62
+      height: 66
+    textureRectOffset: {x: 0, y: 0}
+    atlasRectOffset: {x: 604, y: 710}
+    settingsRaw: 67
+    uvTransform: {x: 100, y: 635, z: 100, w: 743}
+    downscaleMultiplier: 1
+  m_PhysicsShape:
+  - - {x: -0.31, y: 0.32999998}
+    - {x: -0.31, y: -0.32999998}
+    - {x: 0.25, y: -0.32999998}
+    - {x: 0.31, y: -0.31}
+    - {x: 0.31, y: 0.32999998}
+  m_Bones: []
+  m_SpriteID: 5e97eb03825dee720800000000000000
 --- !u!213 &1748088673
 Sprite:
   m_ObjectHideFlags: 0
@@ -4763,23 +4935,19 @@ PrefabInstance:
     m_Modifications:
     - target: {fileID: 1078481180564691118, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 5559010447687375213, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
-      propertyPath: m_AnchoredPosition.x
-      value: -293.3
-      objectReference: {fileID: 0}
-    - target: {fileID: 5559010447687375213, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
-      propertyPath: m_AnchoredPosition.y
-      value: -620.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 7940440888945818258, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
-      propertyPath: m_AnchoredPosition.y
-      value: -28.8
+      value: 1
       objectReference: {fileID: 0}
+    - target: {fileID: 1371450738590366279, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 1913479537}
+    - target: {fileID: 6377344707678363892, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 150101289}
     - target: {fileID: 8621307692776546600, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 8994874510214016950, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
       propertyPath: m_Name
@@ -4867,10 +5035,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     m_RemovedComponents: []
     m_RemovedGameObjects: []
-    m_AddedGameObjects:
-    - targetCorrespondingSourceObject: {fileID: 9037135992368401232, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
-      insertIndex: -1
-      addedObject: {fileID: 699157312}
+    m_AddedGameObjects: []
     m_AddedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: c0bbf88f117d28341976bf57a93358dc, type: 3}
 --- !u!4 &1727388021179861142
@@ -5245,6 +5410,115 @@ MeshRenderer:
   m_SortingLayer: 0
   m_SortingOrder: 0
   m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1001 &3837448494345457648
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    serializedVersion: 3
+    m_TransformParent: {fileID: 1663534287}
+    m_Modifications:
+    - target: {fileID: 959975830485342132, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_Name
+      value: SkillMassgePanel
+      objectReference: {fileID: 0}
+    - target: {fileID: 959975830485342132, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_IsActive
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3105243733130640181, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 1677642915}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_Pivot.x
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_Pivot.y
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_AnchorMax.x
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_AnchorMax.y
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_AnchorMin.x
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_AnchorMin.y
+      value: 0.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_SizeDelta.x
+      value: 750
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_SizeDelta.y
+      value: 1624
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_AnchoredPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_AnchoredPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 4480049515833029494, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 6132052890035956622, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
+      propertyPath: m_Sprite
+      value: 
+      objectReference: {fileID: 121000859}
+    m_RemovedComponents: []
+    m_RemovedGameObjects: []
+    m_AddedGameObjects: []
+    m_AddedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 66b73c8573489f64690b14e403d1b518, type: 3}
 --- !u!114 &4237119297094294473
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 12 - 0
Assets/Scripts/GameData/ExcelConfig/BuffConfig.cs

@@ -20,6 +20,18 @@ namespace Excel2Json
 public int ID;
 
 
+		/// <summary>
+		///测试用的名字
+		/// </summary>
+public string nameTest;
+
+
+		/// <summary>
+		///测试用的描述
+		/// </summary>
+public string decTest;
+
+
 		/// <summary>
 		///稀有度 1=初级 2=中级 3=高级 4=传奇 
 		/// </summary>

+ 12 - 12
Assets/Scripts/GameData/ExcelConfig/SkillConfig.cs

@@ -20,6 +20,18 @@ namespace Excel2Json
 public int ID;
 
 
+		/// <summary>
+		///所属英雄名字 (后面换成语音表ID)
+		/// </summary>
+public string name;
+
+
+		/// <summary>
+		///描述(后面换成语言表ID)
+		/// </summary>
+public string dec;
+
+
 
 		/// <summary>
 		///技能属性 1=金 2=木 4=水 8=火 16=土
@@ -69,18 +81,6 @@ public int SkillType;
 public int level;
 
 
-		/// <summary>
-		///技能名 语言表ID
-		/// </summary>
-public int name;
-
-
-		/// <summary>
-		///技能描述 语言表ID
-		/// </summary>
-public int desc;
-
-
 		/// <summary>
 		///效果值
 		/// </summary>

+ 2 - 1
Assets/Scripts/GameLogic/Combat/Buff/BuffBasic.cs

@@ -10,7 +10,7 @@ namespace GameLogic.Combat.Buff
     public class BuffBasic : CObject
     {
         protected CombatHeroEntity combatHeroEntity;
-        protected BuffInfo buffInf;
+        public BuffInfo buffInf;
         protected CombatHeroEntity source;
 
         protected TriggerData _triggerData;
@@ -35,6 +35,7 @@ namespace GameLogic.Combat.Buff
 
         public void AddBuffCount(CombatHeroEntity source, BuffInfo buffInfo)
         {
+            _currTime = 0;
             _count += buffInfo.count;
             UpdateEffect();
         }

+ 64 - 4
Assets/Scripts/GameLogic/Combat/Buff/BuffControl.cs

@@ -1,3 +1,4 @@
+using Common.Utility.CombatEvent;
 using Fort23.Core;
 
 namespace GameLogic.Combat.Buff
@@ -15,13 +16,27 @@ namespace GameLogic.Combat.Buff
 
         public void AddBuff(CombatHeroEntity source, BuffInfo buffInfo)
         {
-            BuffBasic buffBasic = GetBuffBasic(buffInfo.BuffConfig.scriptsName);
+            BuffBasic buffBasic = GetBuffBasicForIdGroup(buffInfo.BuffConfig.buffGroup);
             if (buffBasic == null)
             {
-                return;
+                buffBasic = GetBuffBasic(buffInfo.BuffConfig.scriptsName);
+                if (buffBasic == null)
+                {
+                    return;
+                }
+
+                buffBasic.Init(_combatHeroEntity, source, buffInfo);
+                _allBuff.Add(buffBasic);
+                BuffEventData buffEventData = BuffEventData.Create();
+                buffEventData.BuffBasic= buffBasic;
+                buffEventData.source= source;
+                buffEventData.target= _combatHeroEntity;
+                CombatEventManager.Instance.Dispatch(CombatEventType.AddBuff, buffEventData);
+            }
+            else
+            {
+                buffBasic.AddBuffCount(source, buffInfo);
             }
-            buffBasic.Init(_combatHeroEntity, source, buffInfo);
-            _allBuff.Add(buffBasic);
         }
 
         protected BuffBasic GetBuffBasic(string buffName)
@@ -33,11 +48,50 @@ namespace GameLogic.Combat.Buff
                 {
                     return null;
                 }
+
                 BuffBasic sb = (BuffBasic)CObjectPool.Instance.Fetch(type);
                 return sb;
             }
         }
 
+        protected BuffBasic GetBuffBasicForIdGroup(int idGroup)
+        {
+            for (int i = 0; i < _allBuff.Count; i++)
+            {
+                BuffBasic b = _allBuff[i];
+                if (b.buffInf.BuffConfig.buffGroup == idGroup)
+                {
+                    return b;
+                }
+            }
+
+            return null;
+        }
+
+        /// <summary>
+        /// 获得对应buff的数量
+        /// </summary>
+        /// <param name="buffType">1=buff,2=debuff 0=全部</param>
+        /// <returns></returns>
+        public int GetBuffCountForType(int buffType)
+        {
+            if (buffType == 0)
+            {
+                return _allBuff.Count;
+            }
+
+            int c = 0;
+            for (int i = 0; i < _allBuff.Count; i++)
+            {
+                if (_allBuff[i].buffInf.BuffConfig.buffType == buffType)
+                {
+                    c++;
+                }
+            }
+
+            return c;
+        }
+
         public void RemoveBuff(BuffBasic buffBasic)
         {
             if (buffBasic == null)
@@ -46,9 +100,15 @@ namespace GameLogic.Combat.Buff
             }
 
             _allBuff.Remove(buffBasic);
+            BuffEventData buffEventData = BuffEventData.Create();
+            buffEventData.BuffBasic= buffBasic;
+            buffEventData.source= null;
+            buffEventData.target= _combatHeroEntity;
+            CombatEventManager.Instance.Dispatch(CombatEventType.RemoveBuff, buffEventData);
             buffBasic.Dispose();
             CObjectPool.Instance.Recycle(buffBasic);
         }
+
         public void Update(float t)
         {
             for (int i = 0; i < _allBuff.Count; i++)

+ 7 - 1
Assets/Scripts/GameLogic/Combat/Buff/BuffInfo.cs

@@ -12,7 +12,13 @@ namespace GameLogic.Combat.Buff
             buffInfo.Init(id, buffTime,count);
             return buffInfo;
         }
-
+        public static BuffInfo GetBuffInfo(int id, int count)
+        {
+            BuffInfo buffInfo=  CObjectPool.Instance.Fetch<BuffInfo>();
+            BuffConfig buffConfig=  ConfigComponent.Instance.Get<BuffConfig>(id);
+            buffInfo.Init(id, buffConfig.buffTime,count);
+            return buffInfo;
+        }
         public BuffConfig BuffConfig;
         public float buffTime;
         public int count;

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Buff/b_1003.cs

@@ -19,7 +19,7 @@ namespace GameLogic.Combat.Buff
                 _time -= t;
                 float harmbl = buffCount * buffInf.BuffConfig.effectValue[0];
                 long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(
-                    combatHeroEntity.CurrCombatHeroInfo.hp.Value, harmbl);
+                    source.CurrCombatHeroInfo.attack.Value, harmbl);
                 CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
                     WuXingType.Null);
             }

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Buff/b_1005.cs

@@ -26,7 +26,7 @@ namespace GameLogic.Combat.Buff
                 _time -= t;
                 float harmbl = buffCount * buffInf.BuffConfig.effectValue[0];
                 long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(
-                    combatHeroEntity.CurrCombatHeroInfo.hp.Value, harmbl);
+                    source.CurrCombatHeroInfo.attack.Value, harmbl);
                 CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
                     WuXingType.Fire);
             }

+ 19 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/BuffEventData.cs

@@ -0,0 +1,19 @@
+using Core.Utility.Event;
+using GameLogic.Combat.Buff;
+
+namespace Common.Utility.CombatEvent
+{
+    public class BuffEventData : EventDataBasic<BuffEventData>
+    {
+        public CombatHeroEntity source;
+        public CombatHeroEntity target;
+        public BuffBasic BuffBasic;
+
+        protected override void ProDispose()
+        {
+            source = null;
+            target = null;
+            BuffBasic = null;
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/BuffEventData.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9f2750332e374073be29669e1890baca
+timeCreated: 1743672084

+ 8 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/CombatEventType.cs

@@ -65,5 +65,13 @@
         /// 添加神器实例
         /// </summary>
         AddMagicWeaponHeroEntity,
+        /// <summary>
+        /// 添加buff
+        /// </summary>
+        AddBuff,
+        /// <summary>
+        /// 移除buff
+        /// </summary>
+        RemoveBuff,
     }
 }

+ 23 - 9
Assets/Scripts/GameLogic/Combat/Skill/S1001.cs

@@ -8,7 +8,7 @@ using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
 namespace GameLogic.Combat.Skill
 {
     /// <summary>
-    /// 太虚幻剑经:身体周围幻化出多柄细剑,每柄细剑对敌人照成伤害,如果敌人有debuf状态,则虚剑伤害提升10%
+    /// 太虚幻剑经:身体周围幻化出多柄细剑,每柄细剑对敌人照成伤害,如果敌人有debuf状态,则虚剑伤害提升5%
     /// </summary>
     public class S1001 : SkillBasic
     {
@@ -16,25 +16,39 @@ namespace GameLogic.Combat.Skill
         {
             for (int i = 0; i < 7; i++)
             {
-                CombatHeroHitPoint combatHeroHitPoint=    CombatHeroEntity.CombatAIBasic.currFocusTarget.GetThis<CombatHeroEntity>()
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
                     .GetMainHotPoin<CombatHeroHitPoint>();
                 BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
                 currTarget.Add(combatHeroHitPoint);
-                SpecialDotInfo specialDotInfo=  CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
-                ActivationTimeLineData("jianjue",currTarget:currTarget,customizePos:new Vector3[]{specialDotInfo.GetWorlPos()},indexCount:i);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("jianjue", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
             }
-           
         }
 
-        protected override void ProTimelineFxLogicInit(string groupName, ITimelineFxLogic timelineFxLogic, TriggerData triggerData)
+        protected override void ProTimelineFxLogicInit(string groupName, ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData)
         {
-          
         }
 
-        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity, ITimelineFxLogic timelineFxLogic,
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
             TriggerData triggerData)
         {
-            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, 100, AttType.Normal, triggerData,wuXingType,
+            float harmBl = SelfSkillConfig.effectValue[0];
+            // CombatC
+            int c = targetEntity.combatHeroEntity.BuffControl.GetBuffCountForType(2);
+            if (c > 0)
+            {
+                harmBl += SelfSkillConfig.effectValue[1];
+            }
+
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData,
+                wuXingType,
                 HarmType.Default);
         }
     }

+ 13 - 2
Assets/Scripts/GameLogic/Combat/Skill/S1101.cs

@@ -1,4 +1,5 @@
 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using UnityEngine;
@@ -7,7 +8,7 @@ using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
 namespace GameLogic.Combat.Skill
 {
     /// <summary>
-    /// 发出多条细细的毒针,对敌人照成金系伤害,并施加1层毒
+    /// 发出多条细细的毒针,对敌人照成金系伤害,并10%施加1层毒
     /// </summary>
     public class S1101 : SkillBasic
     {
@@ -59,9 +60,19 @@ namespace GameLogic.Combat.Skill
             ITimelineFxLogic timelineFxLogic,
             TriggerData triggerData)
         {
-            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, 100, AttType.Normal, triggerData,
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                SelfSkillConfig.effectValue[0]);
+            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData,
                 wuXingType,
                 HarmType.Default);
+            
+            int odds= Random.Range(0, 100);
+            if (odds < SelfSkillConfig.effectValue[1])
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10031, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+
         }
     }
 }

+ 7 - 2
Assets/Scripts/GameLogic/Combat/Skill/S1201.cs

@@ -1,5 +1,6 @@
 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
 using Common.Utility.CombatTimer;
+using GameLogic.Combat.Buff;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using UnityEngine;
@@ -8,7 +9,7 @@ using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
 namespace GameLogic.Combat.Skill
 {
     /// <summary>
-    /// 雾隐千流法:身体散发出一团迷雾。从迷雾中飞出多个冰球,每个冰球对敌人照成伤害,施加1层寒气。并让水伤势+1
+    /// 雾隐千流法:身体散发出一团迷雾。从迷雾中飞出多个冰球,每个冰球对敌人照成伤害,施加1层寒气。
     /// </summary>
     public class S1201 : SkillBasic
     {
@@ -53,9 +54,13 @@ namespace GameLogic.Combat.Skill
             }
             else
             {
-                CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, 100, AttType.Normal, triggerData,
+                long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                    SelfSkillConfig.effectValue[0]);
+                CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData,
                     wuXingType,
                     HarmType.Default);
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
             }
         }
     }

+ 6 - 1
Assets/Scripts/GameLogic/Combat/Skill/S1301.cs

@@ -1,5 +1,6 @@
 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
 using Common.Utility.CombatTimer;
+using GameLogic.Combat.Buff;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using UnityEngine;
@@ -40,9 +41,13 @@ namespace GameLogic.Combat.Skill
             ITimelineFxLogic timelineFxLogic,
             TriggerData triggerData)
         {
-            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, 100, AttType.Normal, triggerData,
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                SelfSkillConfig.effectValue[0]);
+            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData,
                 wuXingType,
                 HarmType.Default);
+            BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
+            targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
         }
     }
 }

+ 6 - 1
Assets/Scripts/GameLogic/Combat/Skill/S2001.cs

@@ -1,4 +1,5 @@
 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
@@ -23,8 +24,12 @@ namespace GameLogic.Combat.Skill
         protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity, ITimelineFxLogic timelineFxLogic,
             TriggerData triggerData)
         {
-            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, 100, AttType.Normal, triggerData,wuXingType,
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                SelfSkillConfig.effectValue[0]);
+            CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData,wuXingType,
                 HarmType.Default);
+            BuffInfo buffInfo = BuffInfo.GetBuffInfo(10051, 1);
+            targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
         }
     }
 }

+ 67 - 0
Assets/Scripts/GameLogic/Combat/Skill/S501501.cs

@@ -0,0 +1,67 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Player;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 前方功法照成伤害时有5%概率施加一层对应属性的伤势
+    /// </summary>
+    public class S501501 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProDispose()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        protected override void ProActiveSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+
+        private void HeroInjured(IEventData iEventData)
+        {
+            HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
+            if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity)
+            {
+                SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
+                if (skillBasic != null && skillBasic.SelfSkillConfig.SkillType == 1 && skillBasic.index + 1 == index)
+                {
+                    int odds = CombatCalculateTool.Instance.GetOdd(0, 100);
+                    if (odds < 5)
+                    {
+                        switch (skillBasic.wuXingType)
+                        {
+                            case WuXingType.Fire:
+                                heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo
+                                    .Fire_Injury += 1;
+                                break;
+                            case WuXingType.Wood:
+                                heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo
+                                    .Wood_Injury += 1;
+                                break;
+                            case WuXingType.Water:
+                                heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo
+                                    .Water_Injury += 1;
+                                break;
+                            case WuXingType.Earth:
+                                heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo
+                                    .Earth_Injury += 1;
+                                break;
+                            case WuXingType.Gold:
+                                heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo
+                                    .Metal_Injury += 1;
+                                break;
+                        }
+                    }
+                }
+            }
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/S501501.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: e9c9dd2a67834a9c8fd91da03d092753
+timeCreated: 1743665686

+ 53 - 18
Assets/Scripts/GameUI/UI/CombatPanel/BuffWidget.cs

@@ -1,20 +1,55 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.Buff;
+
 namespace Fort23.Mono
 {
-[UIBinding(prefab = "BuffWidget"  )]
-	public partial class BuffWidget : UIComponent
-	{
-	private void Init()
-	{
-	}
-	public override void AddEvent()
-	{
-	}
-	public override void DelEvent()
-	{
-	}
-	public override void AddButtonEvent()
-	{
-	}
-
-	}
-}
+    [UIBinding(prefab = "BuffWidget")]
+    public partial class BuffWidget : UIComponent
+    {
+        private BuffBasic buffBasic;
+
+        private void Init()
+        {
+        }
+
+        public override void AddEvent()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.RemoveBuff,
+                AddBuff);
+            StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
+        }
+
+        public override void DelEvent()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.RemoveBuff,
+                AddBuff);
+            buffBasic = null;
+            StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
+        }
+
+        public override void AddButtonEvent()
+        {
+        }
+
+        private async void AddBuff(IEventData iEventData)
+        {
+            BuffEventData buffEventData = iEventData as BuffEventData;
+            if (buffEventData.BuffBasic == buffBasic)
+            {
+                UIManager.Instance.DormancyGComponent(this);
+            }
+        }
+
+        private void Update()
+        {
+            
+        }
+
+        public void InitBuff(BuffBasic buffBasic)
+        {
+            this.buffBasic = buffBasic;
+            
+        }
+    }
+}

+ 62 - 0
Assets/Scripts/GameUI/UI/CombatPanel/BuffWidgetData.cs

@@ -0,0 +1,62 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class BuffWidget 
+	{
+	  #region 自定义数据 
+	  private MyImage _buffIcon;
+	  public MyImage buffIcon
+	   {
+	   get{
+	      if (_buffIcon == null)
+	       {
+	         _buffIcon  = GetUIUnit<MyImage>("buffIcon"); 
+	       }
+	      return _buffIcon;
+	     }
+	   }
+	  private Text _buffCount;
+	  public Text buffCount
+	   {
+	   get{
+	      if (_buffCount == null)
+	       {
+	         _buffCount  = GetUIUnit<Text>("buffCount"); 
+	       }
+	      return _buffCount;
+	     }
+	   }
+	  private MyImage _cd;
+	  public MyImage cd
+	   {
+	   get{
+	      if (_cd == null)
+	       {
+	         _cd  = GetUIUnit<MyImage>("cd"); 
+	       }
+	      return _cd;
+	     }
+	   }
+	  private Button _myButton;
+	  public Button myButton
+	   {
+	   get{
+	      if (_myButton == null)
+	       {
+	         _myButton  = GetUIUnit<Button>("myButton"); 
+	       }
+	      return _myButton;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

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

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: W3kW5C38U3zUAXgwcYxSV2NLOiJJHBLT/NiWvdm4iZS3cOojeu+tLUm8AtlQ
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 0
Assets/Scripts/GameUI/UI/CombatPanel/CombatPanel.cs

@@ -28,6 +28,7 @@ namespace Fort23.Mono
             CombatEventManager.Instance.AddEventListener(CombatEventType.GameStart, GameStart);
             CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity,
                 AddMagicWeaponHeroEntity);
+    
             StaticUpdater.Instance.AddLateUpdateCallBack(Update);
             CameraSelect.value = 0.7f;
         }

+ 22 - 3
Assets/Scripts/GameUI/UI/CombatPanel/HeroHpWidget.cs

@@ -1,6 +1,7 @@
 using Common.Utility.CombatEvent;
 using Fort23.Core;
 using Fort23.UTool;
+using GameLogic.Combat.Buff;
 using UnityEngine;
 
 namespace Fort23.Mono
@@ -12,9 +13,10 @@ namespace Fort23.Mono
 
         private Transform hpTransform;
 
-        public int size=100;
-        public int shieldSize=50;
-        public bool isFollowTarget=true;
+        public int size = 100;
+        public int shieldSize = 50;
+        public bool isFollowTarget = true;
+
         private void Init()
         {
         }
@@ -36,10 +38,25 @@ namespace Fort23.Mono
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ClearHeroHp, ClearHeroHp);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroDie, HeroDie);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddBuff,
+                AddBuff);
+
             StaticUpdater.Instance.RemoveRenderUpdateCallBack(Update);
             base.DormancyObj();
         }
 
+        private async void AddBuff(IEventData iEventData)
+        {
+            BuffEventData buffEventData = iEventData as BuffEventData;
+            if (buffEventData.target == combatHeroEntity)
+            {
+                BuffBasic buffBasic = buffEventData.BuffBasic;
+                BuffWidget buffWidget = await UIManager.Instance.CreateGComponent<BuffWidget>(null, buffRoot);
+                buffWidget.InitBuff(buffBasic);
+            }
+        }
+
+
         private void HeroHpUpdateEventData(IEventData iEventData)
         {
             HeroHpUpdateEventData heroHpUpdateEventData = iEventData as HeroHpUpdateEventData;
@@ -92,6 +109,8 @@ namespace Fort23.Mono
             CombatEventManager.Instance.AddEventListener(CombatEventType.HeroHpUpdate, HeroHpUpdateEventData);
             CombatEventManager.Instance.AddEventListener(CombatEventType.ClearHeroHp, ClearHeroHp);
             CombatEventManager.Instance.AddEventListener(CombatEventType.HeroDie, HeroDie);
+            CombatEventManager.Instance.AddEventListener(CombatEventType.AddBuff,
+                AddBuff);
             StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
             hpTransform = combatHeroEntity.combatHeroGameObject.hpTransform;
 

+ 10 - 1
Assets/Scripts/GameUI/UI/CombatPanel/SkillKongWidget.cs

@@ -32,7 +32,16 @@ namespace Fort23.Mono
             {
                 skillSelectPanel.SelectKongSkill(this);
             };
-            myButton.OnPressAndHold = delegate { };
+            myButton.OnPressAndHold = delegate
+            {
+                if (skillId == 0)
+                {
+                    return;
+                }
+
+                SkillConfig skillConfig=  ConfigComponent.Instance.Get<SkillConfig>(skillId);
+                SkillMassgePanel.OpenSkillSelectPanel(skillConfig.name, skillConfig.dec);
+            };
         }
 
         public void SelectState(bool isSelect)

+ 39 - 0
Assets/Scripts/GameUI/UI/CombatPanel/SkillMassgePanel.cs

@@ -0,0 +1,39 @@
+using Fort23.Core;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "SkillMassgePanel")]
+    public partial class SkillMassgePanel : UIPanel
+    {
+        public static async CTask OpenSkillSelectPanel(string name, string massge)
+        {
+            SkillMassgePanel skillMassgePanel =
+                await UIManager.Instance.LoadAndOpenPanel<SkillMassgePanel>(null, UILayer.Middle);
+
+            skillMassgePanel.ShowPanel(name, massge);
+        }
+
+        private void Init()
+        {
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            guanbi.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
+        }
+
+        public void ShowPanel(string name, string massge)
+        {
+            nameText.text = name;
+            massgeText.text = massge;
+        }
+    }
+}

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

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: Dywb5yKkUir4oYZDUJ4jI0u8KqHP9Hg11d6Rkdn45yqgGjqw2nnTF9BREpIK
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 51 - 0
Assets/Scripts/GameUI/UI/CombatPanel/SkillMassgePanelData.cs

@@ -0,0 +1,51 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class SkillMassgePanel 
+	{
+	  #region 自定义数据 
+	  private Text _nameText;
+	  public Text nameText
+	   {
+	   get{
+	      if (_nameText == null)
+	       {
+	         _nameText  = GetUIUnit<Text>("nameText"); 
+	       }
+	      return _nameText;
+	     }
+	   }
+	  private Text _massgeText;
+	  public Text massgeText
+	   {
+	   get{
+	      if (_massgeText == null)
+	       {
+	         _massgeText  = GetUIUnit<Text>("massgeText"); 
+	       }
+	      return _massgeText;
+	     }
+	   }
+	  private Button _guanbi;
+	  public Button guanbi
+	   {
+	   get{
+	      if (_guanbi == null)
+	       {
+	         _guanbi  = GetUIUnit<Button>("guanbi"); 
+	       }
+	      return _guanbi;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

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

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: WixKtn6rUCjwOuJeTPppdNFVv3sUsukvjwKbRe1Uzllau4tWZgxM8uqrXdDC
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Scripts/GameUI/UI/CombatPanel/SkillSelectPanel.cs

@@ -41,7 +41,7 @@ namespace Fort23.Mono
             allKongSkill.Clear();
             UIManager.Instance.DormancyAllGComponent<SkillKongWidget>();
             UIManager.Instance.DormancyAllGComponent<SkillWidget>();
-            int[] allSkill = new[] { 10011, 20011, 11011, 12011, 13011, 5010011, 5011011, 5012011, 5013011, 5014011 };
+            int[] allSkill = new[] { 10011, 20011, 11011, 12011, 13011, 5010011, 5011011, 5012011, 5013011, 5014011,5015011};
             for (int i = 0; i < allSkill.Length; i++)
             {
                 int id = allSkill[i];

+ 2 - 1
Assets/Scripts/GameUI/UI/CombatPanel/SkillWidget.cs

@@ -26,7 +26,8 @@ namespace Fort23.Mono
                 skillSelectPanel.SelectSkill(skillConfigId);
             };
             myButton.OnPressAndHold=delegate {
-                
+                SkillConfig skillConfig=  ConfigComponent.Instance.Get<SkillConfig>(skillConfigId);
+                SkillMassgePanel.OpenSkillSelectPanel(skillConfig.name, skillConfig.dec);
             };
         }
 

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


BIN
Excel2Json/Excel/Buff.xlsx


BIN
Excel2Json/Excel/skill.xlsx


+ 29 - 29
UserSettings/Layouts/default-2022.dwlt

@@ -19,7 +19,7 @@ MonoBehaviour:
     width: 2560
     height: 1357
   m_ShowMode: 4
-  m_Title: Project
+  m_Title: Inspector
   m_RootView: {fileID: 2}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
@@ -121,7 +121,7 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 100}
   m_MaxSize: {x: 32384, y: 16192}
   vertical: 0
-  controlID: 23954
+  controlID: 47
   draggingID: 0
 --- !u!114 &6
 MonoBehaviour:
@@ -173,7 +173,7 @@ MonoBehaviour:
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 8096, y: 16192}
   vertical: 1
-  controlID: 23955
+  controlID: 48
   draggingID: 0
 --- !u!114 &8
 MonoBehaviour:
@@ -194,8 +194,8 @@ MonoBehaviour:
     y: 0
     width: 845
     height: 708
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
+  m_MinSize: {x: 202, y: 221}
+  m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 13}
   m_Panes:
   - {fileID: 13}
@@ -252,8 +252,8 @@ MonoBehaviour:
     y: 0
     width: 405
     height: 1307
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
+  m_MinSize: {x: 202, y: 221}
+  m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 21}
   m_Panes:
   - {fileID: 21}
@@ -278,8 +278,8 @@ MonoBehaviour:
     y: 0
     width: 546
     height: 1307
-  m_MinSize: {x: 276, y: 71}
-  m_MaxSize: {x: 4001, y: 4021}
+  m_MinSize: {x: 275, y: 50}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 22}
   m_Panes:
   - {fileID: 22}
@@ -770,7 +770,7 @@ MonoBehaviour:
       sizeOverriden: 0
     m_OverlaysVisible: 1
   m_WindowGUID: d9e8ac729943301469eff8c7180f0e02
-  m_Gizmos: 0
+  m_Gizmos: 1
   m_OverrideSceneCullingMask: 6917529027641081856
   m_SceneIsLit: 1
   m_SceneLighting: 1
@@ -779,9 +779,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: -0.3403633, y: 1.1938115, z: 0}
+    m_Target: {x: -1.069, y: 5, z: 0}
     speed: 2
-    m_Value: {x: -0.3403633, y: 1.1938115, z: 0}
+    m_Value: {x: -1.069, y: 5, z: 0}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -831,9 +831,9 @@ MonoBehaviour:
     speed: 2
     m_Value: {x: 0, y: 0, z: 0, w: 1}
   m_Size:
-    m_Target: 0.19593477
+    m_Target: 10
     speed: 2
-    m_Value: 0.19593477
+    m_Value: 10
   m_Ortho:
     m_Target: 1
     speed: 2
@@ -853,7 +853,7 @@ MonoBehaviour:
     m_OcclusionCulling: 0
     m_EnableGDRP: 1
     m_BackfaceCulling: 0
-  m_LastSceneViewRotation: {x: 0.07276309, y: 0.4569583, z: -0.03402012, w: 0.88643885}
+  m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226}
   m_LastSceneViewOrtho: 0
   m_ReplacementShader: {fileID: 0}
   m_ReplacementString: 
@@ -3092,7 +3092,7 @@ MonoBehaviour:
     m_SaveData: []
     m_OverlaysVisible: 1
   m_SearchFilter:
-    m_NameFilter: SkillSelectPanel
+    m_NameFilter: 
     m_ClassNames: []
     m_AssetLabels: []
     m_AssetBundleNames: []
@@ -3102,24 +3102,24 @@ MonoBehaviour:
     m_SkipHidden: 1
     m_SearchArea: 1
     m_Folders:
-    - Assets/Res/UI
+    - Assets/Plugins
     m_Globs: []
-    m_OriginalText: SkillSelectPanel
+    m_OriginalText: 
     m_ImportLogFlags: 0
     m_FilterByTypeIntersection: 0
   m_ViewMode: 1
   m_StartGridSize: 16
   m_LastFolders:
-  - Assets/Res/UI
+  - Assets/Plugins
   m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\Server\NetServer\NetServer\XiuXianGame
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 767}
-    m_SelectedIDs: aedf0000
-    m_LastClickedID: 57262
-    m_ExpandedIDs: 00000000aa5d0000bec90000c0c90000c4c90000c6c90000c8c90000cac90000ccc90000cec90000d0c90000d2c90000fecb000006cc000010cc00000c460300284f030000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 126}
+    m_SelectedIDs: 80b80000
+    m_LastClickedID: 47232
+    m_ExpandedIDs: 000000004a5d00002ab800002cb800002eb8000030b8000032b8000034b8000036b8000038b800003ab800008eb8000090b8000096b80000e8dc0100f2dc010000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -3147,7 +3147,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000aa5d0000bec90000c0c90000c4c90000c6c90000c8c90000cac90000ccc90000cec90000d0c90000d2c9000000ca9a3bffffff7f
+    m_ExpandedIDs: 000000004a5d00002ab800002cb800002eb8000030b8000032b8000034b8000036b8000038b800003ab800003cb80000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -3239,21 +3239,21 @@ MonoBehaviour:
     m_OverlaysVisible: 1
   m_SceneHierarchy:
     m_TreeViewState:
-      scrollPos: {x: 0, y: 0}
+      scrollPos: {x: 0, y: 180}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: d25cf8ffc867f8ff966cf8fff46cf8ffc8eefbff16effbfff0ecfcffcceefcff168efdff268efdff90e1ffff9ee1ffff4ee2ffff52e2ffff60ebffff
+      m_ExpandedIDs: 14cdfbff30cdfbff9ecdfbffaccdfbff20cafcffbc90fdff5a92fdffdab8fdff22b9fdff34fafdff3afafdffc4fbfdffcefbfdff0a82ffff1082ffff9a83ffffa483ffffdca4ffff32f0ffff36f2ffff4cf2ffff52f2ffff74f5ffff7af5ffffd0f6ffffdef6ffffe4f8fffffcf8ffff02f9ffff66f9ffff6af9ffffccf9ffffe8f9fffff4f9ffff6afaffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
-        m_Name: kong_p2
-        m_OriginalName: kong_p2
+        m_Name: myImage
+        m_OriginalName: myImage
         m_EditFieldRect:
           serializedVersion: 2
           x: 0
           y: 0
           width: 0
           height: 0
-        m_UserData: -497720
+        m_UserData: -1572
         m_IsWaitingForDelay: 0
         m_IsRenaming: 0
         m_OriginalEventType: 0

Неке датотеке нису приказане због велике количине промена