소스 검색

Merge branch 'master' of http://fort23.cn:3000/ck/XiuXianGame

DESKTOP-BGJIU14\ck 3 주 전
부모
커밋
7aa3a31b77
43개의 변경된 파일3632개의 추가작업 그리고 968개의 파일을 삭제
  1. 4 4
      Assets/Res/Config/HeroModelConfig.json
  2. 115 115
      Assets/Res/Config/HeroPowerUpConfig.json
  3. 246 246
      Assets/Res/Config/LanguageChineseConfig.json
  4. 252 252
      Assets/Res/Config/MonsterPowerUpConfig.json
  5. 233 256
      Assets/Res/Config/SkillConfig.json
  6. 7 0
      Assets/Res/Config/TaskConditionConfig.json
  7. 7 0
      Assets/Res/Config/TaskConditionConfig.json.meta
  8. 112 0
      Assets/Res/Config/TaskConfig.json
  9. 7 0
      Assets/Res/Config/TaskConfig.json.meta
  10. 786 26
      Assets/Res/UI/MainPanel/MainPanel.prefab
  11. 8 0
      Assets/Res/UI/Task.meta
  12. 666 0
      Assets/Res/UI/Task/TaskInfoPanel.prefab
  13. 7 0
      Assets/Res/UI/Task/TaskInfoPanel.prefab.meta
  14. 9 1
      Assets/Scripts/Core/Event/Event/CustomEventType.cs
  15. 176 0
      Assets/Scripts/GameData/ExcelConfig/TaskConfig.cs
  16. 11 0
      Assets/Scripts/GameData/ExcelConfig/TaskConfig.cs.meta
  17. 1 0
      Assets/Scripts/GameLogic/Bag/BagController.cs
  18. 1 0
      Assets/Scripts/GameLogic/Hero/HeroInfo.cs
  19. 13 7
      Assets/Scripts/GameLogic/Player/AccountFileInfo.cs
  20. 325 0
      Assets/Scripts/GameLogic/PlayerDataEditorWindow.cs
  21. 11 0
      Assets/Scripts/GameLogic/PlayerDataEditorWindow.cs.meta
  22. 2 0
      Assets/Scripts/GameUI/GameApplction.cs
  23. 290 0
      Assets/Scripts/GameUI/TaskManager.cs
  24. 11 0
      Assets/Scripts/GameUI/TaskManager.cs.meta
  25. 28 4
      Assets/Scripts/GameUI/UI/DialoguePanel/DialoguePanel.cs
  26. 59 3
      Assets/Scripts/GameUI/UI/MainPanel/MainPanel.cs
  27. 44 0
      Assets/Scripts/GameUI/UI/MainPanel/MainPanelData.cs
  28. 8 0
      Assets/Scripts/GameUI/UI/Task.meta
  29. 42 0
      Assets/Scripts/GameUI/UI/Task/TaskInfoPanel.cs
  30. 11 0
      Assets/Scripts/GameUI/UI/Task/TaskInfoPanel.cs.meta
  31. 73 0
      Assets/Scripts/GameUI/UI/Task/TaskInfoPanelData.cs
  32. 11 0
      Assets/Scripts/GameUI/UI/Task/TaskInfoPanelData.cs.meta
  33. 0 0
      Assets/StreamingAssets/assetConfig.txt
  34. BIN
      Excel2Json/Excel/HeroModel.xlsx
  35. BIN
      Excel2Json/Excel/HeroPowerUp.xlsx
  36. BIN
      Excel2Json/Excel/Item.xlsx
  37. BIN
      Excel2Json/Excel/Language.xlsx
  38. BIN
      Excel2Json/Excel/MonsterPowerUp.xlsx
  39. BIN
      Excel2Json/Excel/Task.xlsx
  40. BIN
      Excel2Json/Excel/skill.xlsx
  41. BIN
      Excel2Json/Excel/修仙游戏数据规划表.xlsx
  42. 54 54
      UserSettings/Layouts/default-2022.dwlt
  43. 2 0
      XiuXianGame.sln.DotSettings.user

+ 4 - 4
Assets/Res/Config/HeroModelConfig.json

@@ -240,10 +240,10 @@
       "model": "Boss01",
       "isUseGpu": false,
       "heroType": 4,
-      "attack": 60,
-      "hp": 312,
-      "def": 60,
-      "shield": 312,
+      "attack": 50,
+      "hp": 150,
+      "def": 50,
+      "shield": 0,
       "speed_atk": 4.0,
       "Linggen": [
         100,

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 115 - 115
Assets/Res/Config/HeroPowerUpConfig.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 246 - 246
Assets/Res/Config/LanguageChineseConfig.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 252 - 252
Assets/Res/Config/MonsterPowerUpConfig.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 233 - 256
Assets/Res/Config/SkillConfig.json


+ 7 - 0
Assets/Res/Config/TaskConditionConfig.json

@@ -0,0 +1,7 @@
+{
+  "configList": [
+    {},
+    {},
+    {}
+  ]
+}

+ 7 - 0
Assets/Res/Config/TaskConditionConfig.json.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Xn0etC38UHqsVuHceO72AcKjbyZ5jBWe/QQ2AUQDJ7/0ikGT3vxcfGjG2qMp
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 112 - 0
Assets/Res/Config/TaskConfig.json

@@ -0,0 +1,112 @@
+{
+  "configList": [
+    {
+      "ID": 1,
+      "taskName": 1906,
+      "Description": 1914,
+      "conciseTaskMessage": 1910,
+      "mapID": 1,
+      "taskType": 10,
+      "finishConditionType": 3,
+      "finishVlaue": [
+        1914
+      ],
+      "finishCount": 1,
+      "unlockType": -1,
+      "unlockLevel": 1,
+      "nextTaskID": 2,
+      "showType": 0,
+      "isInheritCount": -1,
+      "taskIcon": "asd",
+      "showCountValue": 1,
+      "startNoob2": 0,
+      "passPoint": 0,
+      "noTaskTracking": 0,
+      "notificationID": -1,
+      "triggerType": 1,
+      "loopType": 1,
+      "loopCount": 0
+    },
+    {
+      "ID": 2,
+      "taskName": 1907,
+      "Description": 1915,
+      "conciseTaskMessage": 1911,
+      "mapID": 1,
+      "taskType": 10,
+      "finishConditionType": 2,
+      "finishVlaue": [
+        100001
+      ],
+      "finishCount": 2,
+      "unlockType": -1,
+      "unlockLevel": 1,
+      "nextTaskID": 3,
+      "showType": 0,
+      "isInheritCount": -1,
+      "taskIcon": "asd",
+      "showCountValue": 1,
+      "startNoob2": 0,
+      "passPoint": 0,
+      "noTaskTracking": 0,
+      "notificationID": -1,
+      "triggerType": 1,
+      "loopType": 1,
+      "loopCount": 0
+    },
+    {
+      "ID": 3,
+      "taskName": 1908,
+      "Description": 1916,
+      "conciseTaskMessage": 1912,
+      "mapID": 1,
+      "taskType": 10,
+      "finishConditionType": 1,
+      "finishVlaue": [
+        1001
+      ],
+      "finishCount": 1,
+      "unlockType": -1,
+      "unlockLevel": 1,
+      "nextTaskID": 4,
+      "showType": 0,
+      "isInheritCount": -1,
+      "taskIcon": "asd",
+      "showCountValue": 1,
+      "startNoob2": 0,
+      "passPoint": 0,
+      "noTaskTracking": 0,
+      "notificationID": -1,
+      "triggerType": 1,
+      "loopType": 1,
+      "loopCount": 0
+    },
+    {
+      "ID": 4,
+      "taskName": 1909,
+      "Description": 1917,
+      "conciseTaskMessage": 1913,
+      "mapID": 1,
+      "taskType": 10,
+      "finishConditionType": 4,
+      "finishVlaue": [
+        10
+      ],
+      "finishCount": 1,
+      "unlockType": -1,
+      "unlockLevel": 1,
+      "nextTaskID": 0,
+      "showType": 0,
+      "isInheritCount": -1,
+      "taskIcon": "asd",
+      "showCountValue": 1,
+      "startNoob2": 0,
+      "passPoint": 0,
+      "noTaskTracking": 0,
+      "notificationID": -1,
+      "triggerType": 1,
+      "loopType": 1,
+      "loopCount": 0
+    }
+  ]
+}

+ 7 - 0
Assets/Res/Config/TaskConfig.json.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CX5Ot3+lAC2LKpT1E57KULwqTMx8oMG4gzY92K2eKwlIJ8OuJ/lgPsFsdfVS
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 786 - 26
Assets/Res/UI/MainPanel/MainPanel.prefab

@@ -164,6 +164,149 @@ MonoBehaviour:
   topOrLeftColor: {r: 0, g: 0, b: 0, a: 1}
   bottomOrRightColor: {r: 0.509434, g: 0.33882165, b: 0.33882165, a: 1}
   direction: 1
+--- !u!1 &1573232552483076684
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 1935222612727109932}
+  - component: {fileID: 8619232221248716354}
+  - component: {fileID: 7172531054950919924}
+  - component: {fileID: 4910607662050102641}
+  - component: {fileID: 8014014210335560669}
+  - component: {fileID: 4418855113457263759}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_TaskMassge
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1935222612727109932
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1573232552483076684}
+  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: 483812832159869472}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0.5}
+  m_AnchorMax: {x: 0, y: 0.5}
+  m_AnchoredPosition: {x: 7.5, y: -38.644703}
+  m_SizeDelta: {x: 414.819, y: 76.8894}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &8619232221248716354
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1573232552483076684}
+  m_CullTransparentMesh: 1
+--- !u!114 &7172531054950919924
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1573232552483076684}
+  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.45098042, g: 0.43529415, b: 0.39607847, 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: 22
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u4E00\u4E2A\u8001\u5934\u6B63\u5728\u6CB3\u8FB9..."
+--- !u!114 &4910607662050102641
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1573232552483076684}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: 178.3554
+  m_FlexibleHeight: -1
+  m_LayoutPriority: 1
+--- !u!114 &8014014210335560669
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1573232552483076684}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 2
+  m_VerticalFit: 0
+--- !u!114 &4418855113457263759
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1573232552483076684}
+  m_Enabled: 0
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+  m_ChildControlWidth: 0
+  m_ChildControlHeight: 0
+  m_ChildScaleWidth: 0
+  m_ChildScaleHeight: 0
+  m_ReverseArrangement: 0
 --- !u!1 &1760937640502948944
 GameObject:
   m_ObjectHideFlags: 0
@@ -813,6 +956,88 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 1, y: -1}
   m_UseGraphicAlpha: 1
+--- !u!1 &3138673783748447636
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8451011069730739083}
+  - component: {fileID: 7907493528485244258}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: DynamicEvent
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8451011069730739083
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3138673783748447636}
+  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: 483812832159869472}
+  m_Father: {fileID: 5427787900727233847}
+  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: 276.4709, y: -24.6631}
+  m_SizeDelta: {x: 440.9418, y: 141.3263}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &7907493528485244258
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3138673783748447636}
+  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: []
 --- !u!1 &3348075033185530517
 GameObject:
   m_ObjectHideFlags: 0
@@ -1057,6 +1282,86 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
+--- !u!1 &4078923567955095082
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2301007846651890387}
+  - component: {fileID: 8787507019839027960}
+  - component: {fileID: 483222655172619623}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_TaskName
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2301007846651890387
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4078923567955095082}
+  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: 483812832159869472}
+  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: 67.39705, y: 25.3}
+  m_SizeDelta: {x: 209.7775, y: 35.318}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8787507019839027960
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4078923567955095082}
+  m_CullTransparentMesh: 1
+--- !u!114 &483222655172619623
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4078923567955095082}
+  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.45098042, g: 0.43529415, b: 0.39607847, 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: 26
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 1
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u7B2C\u4E00\u7AE0:\u9493\u9C7C\u7FC1"
 --- !u!1 &5439861124006239330
 GameObject:
   m_ObjectHideFlags: 0
@@ -1704,7 +2009,7 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
---- !u!1 &8091980665139676657
+--- !u!1 &7352086197235300010
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -1712,52 +2017,274 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 7
   m_Component:
-  - component: {fileID: 8853702443283609107}
-  m_Layer: 5
+  - component: {fileID: 5427787900727233847}
+  - component: {fileID: 5982490551636298201}
+  - component: {fileID: 1902789611665251421}
+  - component: {fileID: 7377593421214716020}
+  m_Layer: 0
   m_HasEditorInfo: 1
-  m_Name: Handle Slide Area
+  m_Name: Btn_Task
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &8853702443283609107
+--- !u!224 &5427787900727233847
 RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 8091980665139676657}
+  m_GameObject: {fileID: 7352086197235300010}
   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: 7991042903017610511}
-  m_Father: {fileID: 4048428373501315793}
+  - {fileID: 8451011069730739083}
+  m_Father: {fileID: 9037135992368401232}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: -20, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!1 &8157457863163446127
-GameObject:
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 13.299988, y: -1133}
+  m_SizeDelta: {x: 76, y: 74}
+  m_Pivot: {x: 0, y: 1}
+--- !u!222 &5982490551636298201
+CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  serializedVersion: 7
-  m_Component:
-  - component: {fileID: 5171746521320677542}
-  - component: {fileID: 443331176857040011}
-  - component: {fileID: 2892609539916653567}
-  m_Layer: 0
-  m_HasEditorInfo: 1
-  m_Name: Text_EventNum
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
+  m_GameObject: {fileID: 7352086197235300010}
+  m_CullTransparentMesh: 1
+--- !u!114 &1902789611665251421
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7352086197235300010}
+  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: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+  _icon_name: dec_renwu
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: bec1e4479c1593746876da07861f4d67, type: 3}
+  packInfo:
+    packName: mainUI
+    packgJsonPath: /Art/UIAssets/TextrueJson\mainUI.txt
+    packgSpritePath: Assets/Res/UIAtlas/mainUI.spriteatlasv2
+    lasetJsonGUID: bb67f442413bd755b03774cb7d5a173d
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!114 &7377593421214716020
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7352086197235300010}
+  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: 1
+  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: 1902789611665251421}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &7816344930248353185
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5929282742778120016}
+  - component: {fileID: 1079986196912690948}
+  - component: {fileID: 297883569620714810}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5929282742778120016
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7816344930248353185}
+  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: 483812832159869472}
+  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: 165.02896, y: -19.8598}
+  m_SizeDelta: {x: 437.0445, y: 130.2431}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1079986196912690948
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7816344930248353185}
+  m_CullTransparentMesh: 1
+--- !u!114 &297883569620714810
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7816344930248353185}
+  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: dec_renwu_dise
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: bec1e4479c1593746876da07861f4d67, type: 3}
+  packInfo:
+    packName: mainUI
+    packgJsonPath: /Art/UIAssets/TextrueJson\mainUI.txt
+    packgSpritePath: Assets/Res/UIAtlas/mainUI.spriteatlasv2
+    lasetJsonGUID: bb67f442413bd755b03774cb7d5a173d
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!1 &8091980665139676657
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8853702443283609107}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Handle Slide Area
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8853702443283609107
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8091980665139676657}
+  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: 7991042903017610511}
+  m_Father: {fileID: 4048428373501315793}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -20, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &8157457863163446127
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 5171746521320677542}
+  - component: {fileID: 443331176857040011}
+  - component: {fileID: 2892609539916653567}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Text_EventNum
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
 --- !u!224 &5171746521320677542
@@ -1917,6 +2444,218 @@ MonoBehaviour:
   m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
   m_EffectDistance: {x: 1, y: -1}
   m_UseGraphicAlpha: 1
+--- !u!1 &8712562821128756198
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 483812832159869472}
+  - component: {fileID: 4178929015793443389}
+  - component: {fileID: 2050290114926485253}
+  - component: {fileID: 4460943036588396238}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Btn_TriggerTask
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &483812832159869472
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8712562821128756198}
+  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: 5929282742778120016}
+  - {fileID: 2301007846651890387}
+  - {fileID: 1935222612727109932}
+  m_Father: {fileID: 8451011069730739083}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 0, y: -50}
+  m_SizeDelta: {x: 100, y: 100}
+  m_Pivot: {x: 0, y: 0.5}
+--- !u!114 &4178929015793443389
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8712562821128756198}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 6a23dadfaa104ddf929b8c98dd02623c, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  maxDuration: 0.3
+  isUpdate: 0
+  currTime: 0.3848319
+  GrpupInfos:
+  - Foldout: 1
+    isActive: 1
+    animName: 
+    isLoop: 0
+    allTargets:
+    - {fileID: 8712562821128756198}
+    TweenAssetInfo: {fileID: 11400000, guid: 45a33638e1bf2e040a04be1042aa2f06, type: 2}
+    TargetFoldout: 1
+    maxDuration: 0.3
+    isUpdate: 1
+    currTime: 0
+  MinMaxGradient:
+    m_Mode: 0
+    m_GradientMin:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_ColorSpace: -1
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    m_GradientMax:
+      serializedVersion: 2
+      key0: {r: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_ColorSpace: -1
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    m_ColorMin: {r: 0, g: 0, b: 0, a: 0}
+    m_ColorMax: {r: 0, g: 0, b: 0, a: 0}
+  isLoop: 0
+--- !u!114 &2050290114926485253
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8712562821128756198}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: myButton
+    gameObject: {fileID: 4460943036588396238}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Massge
+    gameObject: {fileID: 7172531054950919924}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: bg
+    gameObject: {fileID: 297883569620714810}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_Name
+    gameObject: {fileID: 483222655172619623}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
+--- !u!114 &4460943036588396238
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8712562821128756198}
+  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: []
 --- !u!1 &8986363544919513421
 GameObject:
   m_ObjectHideFlags: 0
@@ -2029,6 +2768,7 @@ RectTransform:
   - {fileID: 2024304381802793110}
   - {fileID: 1798015912972164048}
   - {fileID: 3695676087259227986}
+  - {fileID: 5427787900727233847}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
@@ -2104,6 +2844,26 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: Btn_Task
+    gameObject: {fileID: 7377593421214716020}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_TaskName
+    gameObject: {fileID: 483222655172619623}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_TaskMassge
+    gameObject: {fileID: 7172531054950919924}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Btn_TriggerTask
+    gameObject: {fileID: 4460943036588396238}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 0
 --- !u!1 &9153091249090986804
 GameObject:

+ 8 - 0
Assets/Res/UI/Task.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Wn0Y4CP5US4su6thD1uITpNBo2Vi4oC37V9t+vCvWwe+1ZKFhB511VEWAfZB
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 666 - 0
Assets/Res/UI/Task/TaskInfoPanel.prefab

@@ -0,0 +1,666 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &650584255987892480
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8599819629026832582}
+  - component: {fileID: 7897761964867798499}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: TaskInfoPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8599819629026832582
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 650584255987892480}
+  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: 2896655462721008753}
+  - {fileID: 2569128129379278262}
+  - {fileID: 4688522053669353716}
+  - {fileID: 8515100903656146540}
+  - {fileID: 3220702368838562604}
+  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 &7897761964867798499
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 650584255987892480}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: bg
+    gameObject: {fileID: 8488195482551738332}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Btn_Close
+    gameObject: {fileID: 3651346582420827263}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Btn_Ok
+    gameObject: {fileID: 3169074378938001994}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_Name
+    gameObject: {fileID: 1087322108478024986}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: Text_desc
+    gameObject: {fileID: 1040938809657299556}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1
+--- !u!1 &2132268725135064903
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2569128129379278262}
+  - component: {fileID: 9156533754913033698}
+  - component: {fileID: 8488195482551738332}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: myImage
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2569128129379278262
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2132268725135064903}
+  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: 8599819629026832582}
+  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: 46.5656}
+  m_SizeDelta: {x: 475.8763, y: 777.9515}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9156533754913033698
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2132268725135064903}
+  m_CullTransparentMesh: 1
+--- !u!114 &8488195482551738332
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2132268725135064903}
+  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: dec_dadi_01
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 4ebd7d8d5739e3c27ba90d2ae88ba1cc
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!1 &2553589566839113697
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 4688522053669353716}
+  - component: {fileID: 2934276402299459566}
+  - component: {fileID: 2433990691951363383}
+  - component: {fileID: 3169074378938001994}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: Btn_Ok
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &4688522053669353716
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2553589566839113697}
+  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: 6150498200931894423}
+  m_Father: {fileID: 8599819629026832582}
+  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: -9, y: -288.69}
+  m_SizeDelta: {x: 132.3538, y: 50.3799}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2934276402299459566
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2553589566839113697}
+  m_CullTransparentMesh: 1
+--- !u!114 &2433990691951363383
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2553589566839113697}
+  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.27792454, g: 1, 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: 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: btn_23
+  isNotLoadDeftIcon: 0
+  CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
+  packInfo:
+    packName: tongyong
+    packgJsonPath: /Art/UIAssets/TextrueJson\tongyong.txt
+    packgSpritePath: Assets/Res/UIAtlas/tongyong.spriteatlasv2
+    lasetJsonGUID: 
+  useGradient: 0
+  topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
+  bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
+  direction: 0
+--- !u!114 &3169074378938001994
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2553589566839113697}
+  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: 1
+  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: 2433990691951363383}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &3552915526930824737
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6150498200931894423}
+  - component: {fileID: 2944092694878402809}
+  - component: {fileID: 2519922024915380815}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text (Legacy) (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6150498200931894423
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3552915526930824737}
+  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: 4688522053669353716}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2944092694878402809
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3552915526930824737}
+  m_CullTransparentMesh: 1
+--- !u!114 &2519922024915380815
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3552915526930824737}
+  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: 21
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u6311\u6218"
+--- !u!1 &3627747089450203247
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3220702368838562604}
+  - component: {fileID: 9047568930966635103}
+  - component: {fileID: 1040938809657299556}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_desc
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3220702368838562604
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3627747089450203247}
+  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: 8599819629026832582}
+  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.0022316, y: 163.5149}
+  m_SizeDelta: {x: 410.77, y: 350.0495}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9047568930966635103
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3627747089450203247}
+  m_CullTransparentMesh: 1
+--- !u!114 &1040938809657299556
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3627747089450203247}
+  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: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 26
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 2
+    m_MaxSize: 40
+    m_Alignment: 0
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: "\u5317\u6D77\u9065\u8FDC\uFF0C\u5C71\u9AD8\u8DEF\u9669\uFF0C\u6211\u5982\u4ECA\u53EA\u6709\u7EC3\u6C14\u4FEE\u4E3A\uFF0C\u4F55\u65F6\u80FD\u5230\uFF1F\u5F97\u4E00\u8FB9\u4FEE\u70BC\u4E00\u8FB9\u627E\u8DEF\u3002"
+--- !u!1 &6864546897549033815
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 2896655462721008753}
+  - component: {fileID: 1550575800954493607}
+  - component: {fileID: 8853780473327312120}
+  - component: {fileID: 3651346582420827263}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Btn_Close
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &2896655462721008753
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6864546897549033815}
+  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: 8599819629026832582}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &1550575800954493607
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6864546897549033815}
+  m_CullTransparentMesh: 1
+--- !u!114 &8853780473327312120
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6864546897549033815}
+  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.69411767}
+  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!114 &3651346582420827263
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6864546897549033815}
+  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: 1
+  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: 8853780473327312120}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!1 &8794085188831228050
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 8515100903656146540}
+  - component: {fileID: 126500885704442088}
+  - component: {fileID: 1087322108478024986}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: Text_Name
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &8515100903656146540
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8794085188831228050}
+  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: 8599819629026832582}
+  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.0000038147, y: 380}
+  m_SizeDelta: {x: 410.7655, y: 55.7865}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &126500885704442088
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8794085188831228050}
+  m_CullTransparentMesh: 1
+--- !u!114 &1087322108478024986
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8794085188831228050}
+  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: 12800000, guid: e588d93665211944387ec8c03c8726ae, type: 3}
+    m_FontSize: 30
+    m_FontStyle: 1
+    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: "\u4EFB\u52A1\u4FE1\u606F"

+ 7 - 0
Assets/Res/UI/Task/TaskInfoPanel.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: WXMf4CKrAi7hr08s4Yu3r4QyKNW2jUJNzv4sb7Z5Oz+GdeYwA/YO0mqwRimf
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 1
Assets/Scripts/Core/Event/Event/CustomEventType.cs

@@ -94,7 +94,15 @@ namespace Fort23.Core
       /// </summary>
       RefenceBreakthrough,
       ShengShiOnClick,
-      ShopRefence
+      ShopRefence,
+      /// <summary>
+      /// 任务刷新
+      /// </summary>
+      TaskUpdate,
+      /// <summary>
+      /// 境界升级
+      /// </summary>
+      JingJieUpgrade,
       
     }
 }

+ 176 - 0
Assets/Scripts/GameData/ExcelConfig/TaskConfig.cs

@@ -0,0 +1,176 @@
+// Auto Generated Code By excel2json
+// Generate From Excel\Task.xlsx. SheetName: TaskConfig
+
+using System;
+using Fort23.GameData;
+
+namespace Excel2Json
+{
+	[Config(prefab = "TaskConfig.json")]
+	public partial class TaskConfigHolder : ConfigHolder<TaskConfig>
	{
+	}
+
+
+	[Serializable]
+	public struct TaskConfig : IConfig
	{
+		public int GetID() {return ID;} 
+		/// <summary>
+		///ID序列号
+		/// </summary>
+public int ID;
+
+
+		/// <summary>
+		///任务名 
+		/// </summary>
+public int taskName;
+
+
+		/// <summary>
+		///任务描述
+		/// </summary>
+public int Description;
+
+
+		/// <summary>
+		///简洁描述
+		/// </summary>
+public int conciseTaskMessage;
+
+
+		/// <summary>
+		///属于哪张地图
+		/// </summary>
+public int mapID;
+
+
+		/// <summary>
+		///任务类型 见任务索引
+		/// </summary>
+public int taskType;
+
+
+		/// <summary>
+		///完成条件类型 读第二页ID
+		/// </summary>
+public int finishConditionType;
+
+
+		/// <summary>
+		///完成效果值
+		/// </summary>
+public int[] finishVlaue;
+
+
+		/// <summary>
+		///完成次数
+		/// </summary>
+public int finishCount;
+
+
+		/// <summary>
+		///奖励道具ID
+		/// </summary>
+public int[] awardItemId;
+
+
+		/// <summary>
+		///奖励道具数量
+		/// </summary>
+public int[] awardItemCount;
+
+
+		/// <summary>
+		///解锁类型 -1=不需要解锁 1=修为解锁 
+		/// </summary>
+public int unlockType;
+
+
+		/// <summary>
+		///解锁关卡id(完成) 或Unlock表ID
+		/// </summary>
+public int unlockLevel;
+
+
+		/// <summary>
+		///下一个任务ID(0表示无后续)
+		/// </summary>
+public int nextTaskID;
+
+
+		/// <summary>
+		///0=激活时显示 1=前置任务领奖后显示
+		/// </summary>
+public int showType;
+
+
+		/// <summary>
+		///仅新手任务和成就任务生效 1=继承 2=不继承
+		/// </summary>
+public int isInheritCount;
+
+
+		/// <summary>
+		///完成时开启的任务
+		/// </summary>
+public int[] nextTaskId_1;
+
+
+		/// <summary>
+		///任务图标
+		/// </summary>
+public string taskIcon;
+
+
+		/// <summary>
+		///显示完成进度
+		/// </summary>
+public int showCountValue;
+
+
+		/// <summary>
+		///开启第二个新手任务
+		/// </summary>
+public int startNoob2;
+
+
+		/// <summary>
+		///通行证活动增加的点数 日常和周常任务才增加
+		/// </summary>
+public int passPoint;
+
+
+		/// <summary>
+		///任务通知不追踪进度变化
+		/// </summary>
+public int noTaskTracking;
+
+
+		/// <summary>
+		///通知描述
+		/// </summary>
+public int notificationID;
+
+
+		/// <summary>
+		///1=被动触发 2=生成触发
+		/// </summary>
+public int triggerType;
+
+
+		/// <summary>
+		///任务链循环类型 1=固定每日 2=固定每周 3=跟随活动
+		/// </summary>
+public int loopType;
+
+
+		/// <summary>
+		///循环次数 -1:无限次
+		/// </summary>
+public int loopCount;
+
+
+	}
+
+}
+// End of Auto Generated Code

+ 11 - 0
Assets/Scripts/GameData/ExcelConfig/TaskConfig.cs.meta

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

+ 1 - 0
Assets/Scripts/GameLogic/Bag/BagController.cs

@@ -181,6 +181,7 @@ namespace GameLogic.Bag
             EventManager.Instance.Dispatch(CustomEventType.ItemUpdate, new ItemUpdateData() { ItemInfo = item });
 
             AccountFileInfo.Instance.SaveItemData(item);
+        
             return true;
         }
 

+ 1 - 0
Assets/Scripts/GameLogic/Hero/HeroInfo.cs

@@ -50,6 +50,7 @@ namespace GameLogic.Hero
             heroData.heroPowerId++;
             InitHero(heroData);
             PlayerManager.Instance.SaveHeroData(this);
+            EventManager.Instance.Dispatch(CustomEventType.JingJieUpgrade,null);
             return this;
         }
 

+ 13 - 7
Assets/Scripts/GameLogic/Player/AccountFileInfo.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
@@ -30,10 +31,11 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
     [System.Serializable]
     public class PlayerData
     {
-        // public SkillData[] usrSkill = new SkillData[10];
-        //
-        // public FaBaoData[] UseFaBaoDatas = new FaBaoData[4];
         
+        /// <summary>
+        /// 任务数据
+        /// </summary>
+        public  List<TaskData> tasks = new List<TaskData>();
         
         /// <summary>
         /// 商店数据
@@ -88,10 +90,6 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
         /// 战斗引导下标
         /// </summary>
         public int combatGuideIndex = 0;
-        // /// <summary>
-        // /// 后备英雄(共享等级)
-        // /// </summary>
-        // public List<HeroData> HeroListInBackDatas = new List<HeroData>();
     }
     
     
@@ -450,6 +448,14 @@ public class AccountFileInfo : Singleton<AccountFileInfo>
 
         public int TaoismSkillId;
     }
+    
+    // 任务数据
+    [Serializable]
+    public class TaskData
+    {
+        public int taskID;
+        public int fishCount;
+    }
 
     [System.Serializable]
     public class ItemData

+ 325 - 0
Assets/Scripts/GameLogic/PlayerDataEditorWindow.cs

@@ -0,0 +1,325 @@
+#if UNITY_EDITOR
+using UnityEditor;
+using UnityEngine;
+using System.Reflection;
+using System.Collections.Generic;
+using System;
+using System.Collections;
+using System.IO;
+using Fort23.UTool;
+using PlayerData = AccountFileInfo.PlayerData;
+
+public class PlayerDataEditorWindow : EditorWindow
+{
+    private AccountFileInfo.PlayerData playerData;
+    private Vector2 scrollPos;
+    private Dictionary<string, bool> foldoutStates = new Dictionary<string, bool>();
+
+    private string DataFilePath = "/playerData.txt";
+
+    [MenuItem("Tools/PlayerData 编辑器")]
+    public static void ShowWindow()
+    {
+        GetWindow<PlayerDataEditorWindow>("PlayerData 编辑器");
+    }
+
+    private void OnEnable()
+    {
+        // 初始化 PlayerData(示例中创建一个新实例,实际中尝试加载)
+        playerData = new AccountFileInfo.PlayerData();
+        // 尝试从 persistentDataPath 加载数据
+        LoadPlayerData();
+    }
+
+    private void OnGUI()
+    {
+        GUIStyle headerStyle = new GUIStyle(EditorStyles.boldLabel) { fontSize = 14, padding = new RectOffset(5, 5, 5, 5) };
+        GUIStyle sectionStyle = new GUIStyle(EditorStyles.helpBox) { margin = new RectOffset(5, 5, 5, 5), padding = new RectOffset(10, 10, 10, 10) };
+
+        scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
+
+        if (playerData == null)
+        {
+            EditorGUILayout.HelpBox("未加载 PlayerData!点击下方创建新数据。", MessageType.Warning);
+            if (GUILayout.Button("创建新 PlayerData", GUILayout.Height(30)))
+            {
+                playerData = new AccountFileInfo.PlayerData();
+            }
+
+            EditorGUILayout.EndScrollView();
+            return;
+        }
+
+        EditorGUILayout.LabelField("PlayerData 编辑器", headerStyle);
+        EditorGUILayout.Space();
+
+        EditorGUILayout.BeginVertical(sectionStyle);
+        try
+        {
+            DrawFields(playerData, playerData.GetType(), "PlayerData.");
+        }
+        catch (Exception ex)
+        {
+            EditorGUILayout.HelpBox($"绘制字段时出错: {ex.Message}", MessageType.Error);
+        }
+
+        EditorGUILayout.EndVertical();
+
+        EditorGUILayout.Space();
+        EditorGUILayout.BeginHorizontal();
+        if (GUILayout.Button("保存 PlayerData", GUILayout.Height(30)))
+        {
+            if (EditorUtility.DisplayDialog("保存确认", $"确定要保存到 {Application.persistentDataPath + DataFilePath}?\n现有文件将被覆盖。", "确定", "取消"))
+            {
+                SavePlayerData();
+            }
+        }
+
+        if (GUILayout.Button("加载 PlayerData", GUILayout.Height(30)))
+        {
+            if (EditorUtility.DisplayDialog("加载确认", $"确定要从 {Application.persistentDataPath + DataFilePath} 加载数据?\n当前编辑的数据将被覆盖。", "确定", "取消"))
+            {
+                LoadPlayerData();
+            }
+        }
+
+        EditorGUILayout.EndHorizontal();
+
+        EditorGUILayout.EndScrollView();
+    }
+
+    private void DrawFields(object obj, Type type, string prefix = "")
+    {
+        if (obj == null)
+        {
+            EditorGUILayout.LabelField($"{prefix} (空)");
+            return;
+        }
+
+        FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance);
+        foreach (FieldInfo field in fields)
+        {
+            string fieldKey = $"{prefix}{field.Name}";
+            object value = field.GetValue(obj);
+
+            // 初始化折叠状态
+            if (!foldoutStates.ContainsKey(fieldKey))
+                foldoutStates[fieldKey] = false;
+
+            // 处理基本类型
+            if (field.FieldType == typeof(int))
+            {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.LabelField(field.Name, GUILayout.Width(200));
+                int newValue = EditorGUILayout.IntField(value != null ? (int)value : 0);
+                field.SetValue(obj, newValue);
+                EditorGUILayout.EndHorizontal();
+            }
+            else if (field.FieldType == typeof(long))
+            {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.LabelField(field.Name, GUILayout.Width(200));
+                long newValue = EditorGUILayout.LongField(value != null ? (long)value : 0);
+                field.SetValue(obj, newValue);
+                EditorGUILayout.EndHorizontal();
+            }
+            else if (field.FieldType == typeof(bool))
+            {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.LabelField(field.Name, GUILayout.Width(200));
+                bool newValue = EditorGUILayout.Toggle(value != null ? (bool)value : false);
+                field.SetValue(obj, newValue);
+                EditorGUILayout.EndHorizontal();
+            }
+            else if (field.FieldType == typeof(float))
+            {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.LabelField(field.Name, GUILayout.Width(200));
+                float newValue = EditorGUILayout.FloatField(value != null ? (float)value : 0f);
+                field.SetValue(obj, newValue);
+                EditorGUILayout.EndHorizontal();
+            }
+            else if (field.FieldType == typeof(string))
+            {
+                EditorGUILayout.BeginHorizontal();
+                EditorGUILayout.LabelField(field.Name, GUILayout.Width(200));
+                string newValue = EditorGUILayout.TextField(value != null ? (string)value : "");
+                field.SetValue(obj, newValue);
+                EditorGUILayout.EndHorizontal();
+            }
+            // 处理列表类型
+            else if (field.FieldType.IsGenericType && field.FieldType.GetGenericTypeDefinition() == typeof(List<>))
+            {
+                Type itemType = field.FieldType.GetGenericArguments()[0];
+                IList list = (IList)(value ?? Activator.CreateInstance(field.FieldType));
+
+                EditorGUILayout.BeginHorizontal();
+                foldoutStates[fieldKey] = EditorGUILayout.Foldout(foldoutStates[fieldKey], $"{field.Name} (列表, {list.Count} 项)", true);
+                EditorGUILayout.EndHorizontal();
+
+                if (foldoutStates[fieldKey])
+                {
+                    EditorGUI.indentLevel++;
+                    EditorGUILayout.BeginHorizontal();
+                    EditorGUILayout.LabelField("大小", GUILayout.Width(200));
+                    int newSize = EditorGUILayout.IntField(list.Count);
+                    try
+                    {
+                        while (newSize > list.Count)
+                        {
+                            object newItem = Activator.CreateInstance(itemType);
+                            list.Add(newItem);
+                        }
+
+                        while (newSize < list.Count)
+                        {
+                            list.RemoveAt(list.Count - 1);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        EditorGUILayout.HelpBox($"修改列表大小时出错: {ex.Message}", MessageType.Error);
+                    }
+
+                    EditorGUILayout.EndHorizontal();
+
+                    for (int i = 0; i < list.Count; i++)
+                    {
+                        string itemKey = $"{fieldKey}[{i}]";
+                        if (!foldoutStates.ContainsKey(itemKey))
+                            foldoutStates[itemKey] = false;
+
+                        EditorGUILayout.BeginHorizontal();
+                        foldoutStates[itemKey] = EditorGUILayout.Foldout(foldoutStates[itemKey], $"{field.Name}[{i}]", true);
+                        if (GUILayout.Button("删除", GUILayout.Width(60)))
+                        {
+                            list.RemoveAt(i);
+                            foldoutStates.Remove(itemKey);
+                            break;
+                        }
+
+                        EditorGUILayout.EndHorizontal();
+
+                        if (foldoutStates[itemKey])
+                        {
+                            EditorGUI.indentLevel++;
+                            EditorGUILayout.BeginVertical(EditorStyles.helpBox);
+                            try
+                            {
+                                DrawFields(list[i], itemType, $"{prefix}{field.Name}[{i}].");
+                            }
+                            catch (Exception ex)
+                            {
+                                EditorGUILayout.HelpBox($"绘制 {itemKey} 时出错: {ex.Message}", MessageType.Error);
+                            }
+
+                            EditorGUILayout.EndVertical();
+                            EditorGUI.indentLevel--;
+                        }
+                    }
+
+                    if (GUILayout.Button($"添加新 {itemType.Name}", GUILayout.Height(25)))
+                    {
+                        try
+                        {
+                            object newItem = Activator.CreateInstance(itemType);
+                            list.Add(newItem);
+                        }
+                        catch (Exception ex)
+                        {
+                            EditorGUILayout.HelpBox($"添加新 {itemType.Name} 时出错: {ex.Message}", MessageType.Error);
+                        }
+                    }
+
+                    field.SetValue(obj, list);
+                    EditorGUI.indentLevel--;
+                }
+            }
+            // 处理自定义类
+            else if (field.FieldType.IsClass)
+            {
+                EditorGUILayout.BeginHorizontal();
+                foldoutStates[fieldKey] = EditorGUILayout.Foldout(foldoutStates[fieldKey], $"{field.Name} ({field.FieldType.Name})", true);
+                if (value == null && GUILayout.Button("创建", GUILayout.Width(60)))
+                {
+                    value = Activator.CreateInstance(field.FieldType);
+                    field.SetValue(obj, value);
+                }
+
+                EditorGUILayout.EndHorizontal();
+
+                if (foldoutStates[fieldKey] && value != null)
+                {
+                    EditorGUI.indentLevel++;
+                    EditorGUILayout.BeginVertical(EditorStyles.helpBox);
+                    try
+                    {
+                        DrawFields(value, field.FieldType, $"{prefix}{field.Name}.");
+                    }
+                    catch (Exception ex)
+                    {
+                        EditorGUILayout.HelpBox($"绘制 {fieldKey} 时出错: {ex.Message}", MessageType.Error);
+                    }
+
+                    EditorGUILayout.EndVertical();
+                    EditorGUI.indentLevel--;
+                }
+            }
+            else
+            {
+                EditorGUILayout.LabelField($"{field.Name} ({field.FieldType.Name})", "不支持的类型");
+            }
+        }
+    }
+
+    private void SavePlayerData()
+    {
+        try
+        {
+            string json = JsonUtility.ToJson(playerData, true);
+            string path = Application.persistentDataPath + DataFilePath;
+            File.WriteAllText(path, json);
+            Debug.Log($"PlayerData 已保存至 {path}");
+            EditorUtility.DisplayDialog("保存成功", $"PlayerData 已保存至 {path}", "确定");
+        }
+        catch (Exception ex)
+        {
+            EditorGUILayout.HelpBox($"保存 PlayerData 时出错: {ex.Message}", MessageType.Error);
+            EditorUtility.DisplayDialog("保存失败", $"保存 PlayerData 时出错: {ex.Message}", "确定");
+        }
+    }
+
+    private void LoadPlayerData()
+    {
+        try
+        {
+            string path = Application.persistentDataPath + DataFilePath;
+            if (File.Exists(path))
+            {
+                string json = File.ReadAllText(path);
+                
+                // StreamReader sr = File.OpenText(persistentDataPath);
+                // string data = sr.ReadToEnd();
+                // sr.Close();
+                // playerData = new PlayerData();
+                
+                JsonUtility.FromJsonOverwrite(json, playerData);
+                // playerData = JsonUtility.FromJson<AccountFileInfo.PlayerData>(json);
+                // foldoutStates.Clear();
+                // Debug.Log($"PlayerData 已从 {path} 加载");
+                // EditorUtility.DisplayDialog("加载成功", $"PlayerData 已从 {path} 加载", "确定");
+            }
+            else
+            {
+                EditorGUILayout.HelpBox($"未找到文件: {path}", MessageType.Warning);
+                EditorUtility.DisplayDialog("加载失败", $"未找到文件: {path}", "确定");
+            }
+        }
+        catch (Exception ex)
+        {
+            EditorGUILayout.HelpBox($"加载 PlayerData 时出错: {ex.Message}", MessageType.Error);
+            EditorUtility.DisplayDialog("加载失败", $"加载 PlayerData 时出错: {ex.Message}", "确定");
+        }
+    }
+}
+#endif

+ 11 - 0
Assets/Scripts/GameLogic/PlayerDataEditorWindow.cs.meta

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

+ 2 - 0
Assets/Scripts/GameUI/GameApplction.cs

@@ -163,6 +163,8 @@ public class GameApplction : IGameStart
         CombatDrive.Instance.AddCombatController(new CombatController());
         gameStartUIPanel.ShowMassge("loadCombat");
         gameStartUIPanel.SetSlider(0.95f);
+        TaskManager.Instance.AcceptTask(1);
+        
         await CombatDrive.Instance.StartCombat(startCombatInfo);
         PlayerManager.Instance.GongFaControl.SaveUseSkill();
         PlayerManager.Instance.GongFaControl.SetTaoismSkillIndex(AccountFileInfo.Instance.playerData.heroData

+ 290 - 0
Assets/Scripts/GameUI/TaskManager.cs

@@ -0,0 +1,290 @@
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+using System;
+using System.Threading.Tasks;
+using Common.Utility.CombatEvent;
+using Excel2Json;
+using Fort23.Core;
+using Fort23.Mono;
+using Fort23.UTool;
+using GameLogic.Bag;
+using GameLogic.Combat;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Player;
+using Utility;
+
+public class TaskManager : Singleton<TaskManager>
+{
+    private List<TaskConfig> allTasks;
+    private Dictionary<int, AccountFileInfo.TaskData> allTsk;
+
+
+    public TaskManager()
+    {
+        allTasks = ConfigComponent.Instance.GetAll<TaskConfig>().ToList();
+        allTsk = new Dictionary<int, AccountFileInfo.TaskData>();
+
+        foreach (var playerDataTask in AccountFileInfo.Instance.playerData.tasks)
+        {
+            allTsk.Add(playerDataTask.taskID, playerDataTask);
+        }
+
+        EventManager.Instance.AddEventListener(CustomEventType.ItemUpdate, ItemUpdate);
+        EventManager.Instance.AddEventListener(CustomEventType.JingJieUpgrade, JingJieUpgrade);
+    }
+
+    private void JingJieUpgrade(IEventData e)
+    {
+        OnJingJieUp();
+    }
+
+    private void ItemUpdate(IEventData e)
+    {
+        ItemUpdateData data = e as ItemUpdateData;
+        OnItemCollected(data.ItemInfo.itemID);
+    }
+
+
+    // 接取任务
+    public void AcceptTask(int taskID)
+    {
+        if (!allTsk.ContainsKey(taskID))
+        {
+            AccountFileInfo.TaskData taskData = new AccountFileInfo.TaskData();
+            taskData.taskID = taskID;
+            allTsk.Add(taskID, taskData);
+            AccountFileInfo.Instance.playerData.tasks.Clear();
+            AccountFileInfo.Instance.playerData.tasks.AddRange(allTsk.Values);
+            AccountFileInfo.Instance.SavePlayerData();
+        }
+    }
+
+
+    public void TriggerTask(int taskId)
+    {
+        if (allTsk.ContainsKey(taskId))
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskId);
+            EventSystemManager.Instance.isOpenUi = true;
+            if (taskConfig.finishConditionType == 3)
+            {
+                if (!IsTaskTrigger(taskId))
+                {
+                    return;
+                }
+                
+                //触发对话
+                DialoguePanel.OpenDialoguePanel(taskConfig.finishVlaue, null, ShowDialogueEventData.MessageShowType.Verbatim, (int? s) =>
+                {
+                    OnDialog(taskConfig.ID);
+                    EventSystemManager.Instance.isOpenUi = false;
+                });
+            }
+            else if (taskConfig.finishConditionType == 2)
+            {
+                if (!IsTaskTrigger(taskId))
+                {
+                    return;
+                }
+                
+                CombatDrive.Instance.LoadLevelBattleCombat(taskConfig.finishVlaue[0], (iswin) =>
+                {
+                    if (iswin)
+                    {
+                        OnMonsterKilled(taskConfig.finishVlaue[0]);
+                        CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
+                        EventSystemManager.Instance.isOpenUi = false;
+                    }
+                });
+                //进入战斗
+            }
+            //不能直接做任务 通过其他系统检测完成任务条件
+            //这里直接弹出提示
+            else
+            {
+                EventSystemManager.Instance.isOpenUi = false;
+                TaskInfoPanel.OpenPanel(taskId);
+            }
+        }
+    }
+
+    public void OnDialog(int taskId)
+    {
+        List<AccountFileInfo.TaskData> tasks = allTsk.Values.ToList();
+        foreach (var taskData in tasks)
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskData.taskID);
+            if (!IsTaskComplete(taskData.taskID) && taskConfig.finishConditionType == 3 && taskConfig.ID == taskId)
+            {
+                taskData.fishCount++;
+
+                if (IsTaskComplete(taskData.taskID))
+                {
+                    CompleteTask(taskData.taskID);
+                }
+
+                AccountFileInfo.Instance.SavePlayerData();
+                EventManager.Instance.Dispatch(CustomEventType.TaskUpdate, null);
+            }
+        }
+    }
+
+    // 击杀怪物
+    public void OnMonsterKilled(int leveBattleId)
+    {
+        List<AccountFileInfo.TaskData> tasks = allTsk.Values.ToList();
+        foreach (var taskData in tasks)
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskData.taskID);
+            if (!IsTaskComplete(taskData.taskID) && taskConfig.finishConditionType == 2 && taskConfig.finishVlaue[0] == leveBattleId)
+            {
+                taskData.fishCount++;
+
+                if (IsTaskComplete(taskData.taskID))
+                {
+                    CompleteTask(taskData.taskID);
+                }
+
+                AccountFileInfo.Instance.SavePlayerData();
+                EventManager.Instance.Dispatch(CustomEventType.TaskUpdate, null);
+            }
+        }
+    }
+
+    public void OnJingJieUp()
+    {
+        List<AccountFileInfo.TaskData> tasks = allTsk.Values.ToList();
+        foreach (var taskData in tasks)
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskData.taskID);
+            if (!IsTaskComplete(taskData.taskID) && taskConfig.finishConditionType == 4 && PlayerManager.Instance.myHero.powerUpConfig.ID >= taskConfig.finishVlaue[0])
+            {
+                taskData.fishCount++;
+
+                if (IsTaskComplete(taskData.taskID))
+                {
+                    CompleteTask(taskData.taskID);
+                }
+
+                AccountFileInfo.Instance.SavePlayerData();
+                EventManager.Instance.Dispatch(CustomEventType.TaskUpdate, null);
+            }
+        }
+    }
+
+    // 收集道具
+    public void OnItemCollected(int itemID)
+    {
+        List<AccountFileInfo.TaskData> tasks = allTsk.Values.ToList();
+        foreach (var taskData in tasks)
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskData.taskID);
+            if (!IsTaskComplete(taskData.taskID) && taskConfig.finishConditionType == 1 && taskConfig.finishVlaue[0] == itemID)
+            {
+                taskData.fishCount++;
+
+                if (IsTaskComplete(taskData.taskID))
+                {
+                    CompleteTask(taskData.taskID);
+                }
+
+                AccountFileInfo.Instance.SavePlayerData();
+                EventManager.Instance.Dispatch(CustomEventType.TaskUpdate, null);
+            }
+        }
+    }
+
+    // 完成任务
+    private void CompleteTask(int taskID)
+    {
+        TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskID);
+      
+
+        List<ItemInfo> awardList = GrantReward(taskID);
+        //可能需要处理弹出任务完成ui
+        
+        // 触发下一个任务(主线)
+        if (taskConfig.nextTaskID != 0)
+        {
+            AcceptTask(taskConfig.nextTaskID);
+        }
+    }
+
+
+    // 发放奖励
+    private List<ItemInfo> GrantReward(int taskID)
+    {
+        TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskID);
+        if (taskConfig.awardItemId != null && taskConfig.awardItemId.Length > 0)
+        {
+            List<ItemInfo> itemInfos = new List<ItemInfo>();
+            for (var i = 0; i < taskConfig.awardItemId.Length; i++)
+            {
+                DropConfig dropConfig = ConfigComponent.Instance.Get<DropConfig>(taskConfig.awardItemId[i]);
+                if (dropConfig.dropType == 3)
+                {
+                    ItemInfo itemInfo = new ItemInfo(dropConfig.dropGroupID[0], taskConfig.awardItemCount[i]);
+                    itemInfos.Add(itemInfo);
+                }
+                else
+                {
+                    List<ItemInfo> items = DropManager.Instance.DropItem(taskConfig.awardItemCount[i]);
+                    itemInfos.AddRange(items);
+                }
+            }
+            return itemInfos;
+        }
+
+        return null;
+    }
+
+    private bool IsTaskTrigger(int taskId)
+    {
+        TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskId);
+        if (taskConfig.unlockType == 1)
+        {
+            return PlayerManager.Instance.myHero.powerUpConfig.ID >= taskConfig.unlockLevel;
+        }
+
+        return true;
+    }
+
+    //获取任务数据
+    public AccountFileInfo.TaskData GetTaskData(int taskID)
+    {
+        if (allTsk.ContainsKey(taskID))
+        {
+            return allTsk[taskID];
+        }
+
+        return null;
+    }
+
+    //任务是否完成
+    public bool IsTaskComplete(int taskID)
+    {
+        if (allTsk.ContainsKey(taskID))
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskID);
+            return allTsk[taskID].fishCount >= taskConfig.finishCount;
+        }
+
+        return false;
+    }
+
+    //获得主线任务
+    public AccountFileInfo.TaskData GetMainTaskData()
+    {
+        foreach (var keyValuePair in allTsk)
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(keyValuePair.Key);
+            if (taskConfig.taskType == 10 && !IsTaskComplete(keyValuePair.Key))
+            {
+                return keyValuePair.Value;
+            }
+        }
+
+        return null;
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/TaskManager.cs.meta

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

+ 28 - 4
Assets/Scripts/GameUI/UI/DialoguePanel/DialoguePanel.cs

@@ -29,6 +29,8 @@ namespace Fort23.Mono
         private bool _skipTyping;
         private bool _isShowingOptions;
 
+        private int type;
+
         public static async void OpenDialoguePanel(int id, string[] icon,
             ShowDialogueEventData.MessageShowType messageShowType,
             Action<int?> finish)
@@ -37,6 +39,15 @@ namespace Fort23.Mono
             dialoguePanel.ShowPanel(id, icon, messageShowType, finish);
         }
 
+
+        public static async void OpenDialoguePanel(int[] LanID, string[] icon,
+            ShowDialogueEventData.MessageShowType messageShowType,
+            Action<int?> finish)
+        {
+            DialoguePanel dialoguePanel = await UIManager.Instance.LoadAndOpenPanel<DialoguePanel>(null, UILayer.Top);
+            dialoguePanel.ShowPanel(LanID, icon, messageShowType, finish);
+        }
+
         private void Init()
         {
             isAddStack = false;
@@ -70,7 +81,6 @@ namespace Fort23.Mono
                 ShowNextIcon();
                 if (index >= dialogueMessaga.Length)
                 {
-                    
                     // 所有句子显示完成,检查是否有选项
                     if (eventConditionConfig.optionType == 1 && !_isShowingOptions)
                     {
@@ -115,12 +125,26 @@ namespace Fort23.Mono
             StartShowMassge();
         }
 
+
+        public void ShowPanel(int[] LanID, string[] icon,
+            ShowDialogueEventData.MessageShowType messageShowType,
+            Action<int?> finish)
+        {
+            showIconName = icon;
+            this.dialogueMessaga = LanID;
+            this.messageShowType = messageShowType;
+            this.finish = finish;
+            index = 0;
+            StaticUpdater.Instance.AddRenderUpdateCallBack(Update);
+            StartShowMassge();
+        }
+
         private void StartShowMassge()
         {
             if (index >= dialogueMessaga.Length)
             {
                 // 所有句子显示完成,检查是否有选项
-                if (eventConditionConfig.optionType == 1 && !_isShowingOptions)
+                if (eventConditionConfig.ID != 0 && eventConditionConfig.optionType == 1 && !_isShowingOptions)
                 {
                     ShowOptions();
                 }
@@ -203,9 +227,9 @@ namespace Fort23.Mono
 
         public void Update()
         {
-            if(EventSystemManager.Instance.isOpenUi)
+            if (EventSystemManager.Instance.isOpenUi && eventConditionConfig.ID != 0)
                 return;
-            
+
             if (!_isUpdate) return;
 
             if (messageShowType == ShowDialogueEventData.MessageShowType.Verbatim)

+ 59 - 3
Assets/Scripts/GameUI/UI/MainPanel/MainPanel.cs

@@ -20,14 +20,19 @@ namespace Fort23.Mono
             isAddStack = true;
             IsShowAppBar = true;
         }
-        
-        
+
 
         protected override void AddEvent()
         {
             EventManager.Instance.AddEventListener(CustomEventType.ShengShiOnClick, ShengShiOnClick);
             EventManager.Instance.AddEventListener(CustomEventType.CompleteEvent, CompleteEvent);
             EventManager.Instance.AddEventListener(CustomEventType.RemoveEvent, RemoveEvent);
+            EventManager.Instance.AddEventListener(CustomEventType.TaskUpdate, TaskUpdate);
+        }
+
+        private void TaskUpdate(IEventData e)
+        {
+            UpdateTaskInfo();
         }
 
         public async override CTask GetFocus()
@@ -62,6 +67,7 @@ namespace Fort23.Mono
             EventManager.Instance.RemoveEventListener(CustomEventType.CompleteEvent, CompleteEvent);
             EventManager.Instance.RemoveEventListener(CustomEventType.RemoveEvent, RemoveEvent);
             EventManager.Instance.RemoveEventListener(CustomEventType.ShengShiOnClick, ShengShiOnClick);
+            EventManager.Instance.RemoveEventListener(CustomEventType.TaskUpdate, TaskUpdate);
         }
 
         public override void AddButtonEvent()
@@ -76,6 +82,24 @@ namespace Fort23.Mono
                 EventSystemManager.Instance.isOpenUi = true;
                 DivineSenceEventPreviewPanel.OpenPanel();
             });
+
+            Btn_TriggerTask.onClick.AddListener(() =>
+            {
+                AccountFileInfo.TaskData taskData = TaskManager.Instance.GetMainTaskData();
+                if (taskData != null)
+                {
+                    TaskManager.Instance.TriggerTask(taskData.taskID);
+                }
+            });
+
+            Btn_Task.onClick.AddListener(() =>
+            {
+                AccountFileInfo.TaskData taskData = TaskManager.Instance.GetMainTaskData();
+                if (taskData != null)
+                {
+                    TaskInfoPanel.OpenPanel(taskData.taskID);
+                }
+            });
         }
 
         public override CTask<bool> AsyncInit(object[] uiData)
@@ -116,6 +140,39 @@ namespace Fort23.Mono
             Slider_Map.value = AccountFileInfo.Instance.playerData.senceExplorationProgress;
 
             Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp;
+
+            UpdateTaskInfo();
+        }
+
+        public void UpdateTaskInfo()
+        {
+            AccountFileInfo.TaskData taskData = TaskManager.Instance.GetMainTaskData();
+            if (taskData != null)
+            {
+                Btn_Task.gameObject.SetActive(true);
+                TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskData.taskID);
+                Text_TaskName.text = LanguageManager.Instance.Text(taskConfig.taskName);
+                if (taskConfig.finishConditionType == 1 || taskConfig.finishConditionType == 2)
+                {
+                    Text_TaskMassge.text = LanguageManager.Instance.Text(taskConfig.conciseTaskMessage, taskData.fishCount, taskConfig.finishCount);
+                }
+                else if (taskConfig.finishConditionType == 4)
+                {
+                    HeroPowerUpConfig heroPowerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(taskConfig.finishVlaue[0]);
+                    string jingjie = LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[0]) +
+                                     LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[1]) +
+                                     LanguageManager.Instance.Text(heroPowerUpConfig.jingjieLanIDs[2]);
+                    Text_TaskMassge.text = LanguageManager.Instance.Text(taskConfig.conciseTaskMessage, jingjie);
+                }
+                else
+                {
+                    Text_TaskMassge.text = LanguageManager.Instance.Text(taskConfig.conciseTaskMessage);
+                }
+            }
+            else
+            {
+                Btn_Task.gameObject.SetActive(false);
+            }
         }
 
         private void CameraSelect_onValueChanged(float value)
@@ -209,7 +266,6 @@ namespace Fort23.Mono
                 EventSystemManager.Instance.DetectRandomEvents();
             }
 
-         
 
             int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);
 

+ 44 - 0
Assets/Scripts/GameUI/UI/MainPanel/MainPanelData.cs

@@ -129,6 +129,50 @@ namespace Fort23.Mono
 	      return _Slider_Exp;
 	     }
 	   }
+	  private Button _Btn_Task;
+	  public Button Btn_Task
+	   {
+	   get{
+	      if (_Btn_Task == null)
+	       {
+	         _Btn_Task  = GetUIUnit<Button>("Btn_Task"); 
+	       }
+	      return _Btn_Task;
+	     }
+	   }
+	  private Text _Text_TaskName;
+	  public Text Text_TaskName
+	   {
+	   get{
+	      if (_Text_TaskName == null)
+	       {
+	         _Text_TaskName  = GetUIUnit<Text>("Text_TaskName"); 
+	       }
+	      return _Text_TaskName;
+	     }
+	   }
+	  private Text _Text_TaskMassge;
+	  public Text Text_TaskMassge
+	   {
+	   get{
+	      if (_Text_TaskMassge == null)
+	       {
+	         _Text_TaskMassge  = GetUIUnit<Text>("Text_TaskMassge"); 
+	       }
+	      return _Text_TaskMassge;
+	     }
+	   }
+	  private Button _Btn_TriggerTask;
+	  public Button Btn_TriggerTask
+	   {
+	   get{
+	      if (_Btn_TriggerTask == null)
+	       {
+	         _Btn_TriggerTask  = GetUIUnit<Button>("Btn_TriggerTask"); 
+	       }
+	      return _Btn_TriggerTask;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 8 - 0
Assets/Scripts/GameUI/UI/Task.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: WXgatnilUi6hFDjnsklpVlSuhgScxeRClVXLZASs7Nk8qTT5e88tf/xcHh0i
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 42 - 0
Assets/Scripts/GameUI/UI/Task/TaskInfoPanel.cs

@@ -0,0 +1,42 @@
+using Core.Language;
+using Excel2Json;
+using Fort23.Core;
+using Fort23.UTool;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "TaskInfoPanel")]
+    public partial class TaskInfoPanel : UIPanel
+    {
+        private void Init()
+        {
+            isAddStack = false;
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
+        }
+
+        public void CustomInit(int taskId)
+        {
+            TaskConfig taskConfig = ConfigComponent.Instance.Get<TaskConfig>(taskId);
+            Text_Name.text = LanguageManager.Instance.Text(taskConfig.taskName);
+            Text_desc.text = LanguageManager.Instance.Text(taskConfig.Description);
+        }
+
+        public async static CTask OpenPanel(int taskId)
+        {
+            TaskInfoPanel taskInfoPanel = await UIManager.Instance.LoadAndOpenPanel<TaskInfoPanel>(null);
+            taskInfoPanel.CustomInit(taskId);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/Task/TaskInfoPanel.cs.meta

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

+ 73 - 0
Assets/Scripts/GameUI/UI/Task/TaskInfoPanelData.cs

@@ -0,0 +1,73 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class TaskInfoPanel 
+	{
+	  #region 自定义数据 
+	  private MyImage _bg;
+	  public MyImage bg
+	   {
+	   get{
+	      if (_bg == null)
+	       {
+	         _bg  = GetUIUnit<MyImage>("bg"); 
+	       }
+	      return _bg;
+	     }
+	   }
+	  private Button _Btn_Close;
+	  public Button Btn_Close
+	   {
+	   get{
+	      if (_Btn_Close == null)
+	       {
+	         _Btn_Close  = GetUIUnit<Button>("Btn_Close"); 
+	       }
+	      return _Btn_Close;
+	     }
+	   }
+	  private Button _Btn_Ok;
+	  public Button Btn_Ok
+	   {
+	   get{
+	      if (_Btn_Ok == null)
+	       {
+	         _Btn_Ok  = GetUIUnit<Button>("Btn_Ok"); 
+	       }
+	      return _Btn_Ok;
+	     }
+	   }
+	  private Text _Text_Name;
+	  public Text Text_Name
+	   {
+	   get{
+	      if (_Text_Name == null)
+	       {
+	         _Text_Name  = GetUIUnit<Text>("Text_Name"); 
+	       }
+	      return _Text_Name;
+	     }
+	   }
+	  private Text _Text_desc;
+	  public Text Text_desc
+	   {
+	   get{
+	      if (_Text_desc == null)
+	       {
+	         _Text_desc  = GetUIUnit<Text>("Text_desc"); 
+	       }
+	      return _Text_desc;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/Task/TaskInfoPanelData.cs.meta

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

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


BIN
Excel2Json/Excel/HeroModel.xlsx


BIN
Excel2Json/Excel/HeroPowerUp.xlsx


BIN
Excel2Json/Excel/Item.xlsx


BIN
Excel2Json/Excel/Language.xlsx


BIN
Excel2Json/Excel/MonsterPowerUp.xlsx


BIN
Excel2Json/Excel/Task.xlsx


BIN
Excel2Json/Excel/skill.xlsx


BIN
Excel2Json/Excel/修仙游戏数据规划表.xlsx


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

@@ -15,8 +15,8 @@ MonoBehaviour:
   m_PixelRect:
     serializedVersion: 2
     x: 151
-    y: 53
-    width: 1053
+    y: 51
+    width: 1698
     height: 1333
   m_ShowMode: 4
   m_Title: Game
@@ -41,7 +41,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 278
-    width: 478
+    width: 773
     height: 1005
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 4000, y: 4000}
@@ -52,7 +52,7 @@ MonoBehaviour:
   - {fileID: 11}
   - {fileID: 10}
   m_Selected: 3
-  m_LastSelected: 1
+  m_LastSelected: 2
 --- !u!114 &3
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -70,14 +70,14 @@ MonoBehaviour:
   - {fileID: 2}
   m_Position:
     serializedVersion: 2
-    x: 575
+    x: 925
     y: 0
-    width: 478
+    width: 773
     height: 1283
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 8096, y: 16192}
   vertical: 1
-  controlID: 79
+  controlID: 82
   draggingID: 0
 --- !u!114 &4
 MonoBehaviour:
@@ -99,7 +99,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1053
+    width: 1698
     height: 1333
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
@@ -124,7 +124,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1053
+    width: 1698
     height: 30
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
@@ -148,12 +148,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 30
-    width: 1053
+    width: 1698
     height: 1283
   m_MinSize: {x: 200, y: 100}
   m_MaxSize: {x: 16192, y: 16192}
   vertical: 0
-  controlID: 78
+  controlID: 81
   draggingID: 0
 --- !u!114 &7
 MonoBehaviour:
@@ -172,7 +172,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 1313
-    width: 1053
+    width: 1698
     height: 20
   m_MinSize: {x: 0, y: 0}
   m_MaxSize: {x: 0, y: 0}
@@ -186,23 +186,23 @@ MonoBehaviour:
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: ProjectBrowser
+  m_Name: ProjectSettingsWindow
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 478
+    width: 773
     height: 278
-  m_MinSize: {x: 231, y: 271}
-  m_MaxSize: {x: 10001, y: 10021}
-  m_ActualView: {fileID: 15}
+  m_MinSize: {x: 311, y: 221}
+  m_MaxSize: {x: 4001, y: 4021}
+  m_ActualView: {fileID: 13}
   m_Panes:
   - {fileID: 15}
   - {fileID: 13}
-  m_Selected: 0
-  m_LastSelected: 1
+  m_Selected: 1
+  m_LastSelected: 0
 --- !u!114 &9
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -220,7 +220,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 575
+    width: 925
     height: 1283
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
@@ -249,9 +249,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 726
-    y: 361
-    width: 477
+    x: 1076
+    y: 359
+    width: 772
     height: 984
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -284,9 +284,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 726
-    y: 361
-    width: 477
+    x: 1076
+    y: 359
+    width: 772
     height: 984
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -331,9 +331,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 726
-    y: 361
-    width: 477
+    x: 1076
+    y: 359
+    width: 772
     height: 984
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -365,10 +365,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 651
-    y: 99
-    width: 684
-    height: 217
+    x: 1076
+    y: 81
+    width: 772
+    height: 257
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -385,7 +385,7 @@ MonoBehaviour:
   m_SplitterFlex: 0.2857143
   m_SearchText: 
   m_TreeViewState:
-    scrollPos: {x: 0, y: 399}
+    scrollPos: {x: 0, y: 359}
     m_SelectedIDs: 23e57dba
     m_LastClickedID: -1166154461
     m_ExpandedIDs: a01a5fa653336be20000000007f2324dc53aba5a
@@ -426,9 +426,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 726
-    y: 361
-    width: 477
+    x: 1076
+    y: 359
+    width: 772
     height: 984
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -445,7 +445,7 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: 3867ffffd870ffffb8f9ffff
+      m_ExpandedIDs: 6cfaffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -489,9 +489,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 726
-    y: 83
-    width: 477
+    x: 1076
+    y: 81
+    width: 772
     height: 257
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -529,9 +529,9 @@ MonoBehaviour:
     m_IsLocked: 0
   m_FolderTreeState:
     scrollPos: {x: 0, y: 371}
-    m_SelectedIDs: 8ae40000
-    m_LastClickedID: 58506
-    m_ExpandedIDs: 00000000a6dd000036e000008ce4000000ca9a3bffffff7f
+    m_SelectedIDs: e6e00000
+    m_LastClickedID: 57574
+    m_ExpandedIDs: 00000000d8dd000068e00000e8e0000000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -559,7 +559,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000a6dd0000
+    m_ExpandedIDs: 00000000d8dd0000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -586,7 +586,7 @@ MonoBehaviour:
   m_ListAreaState:
     m_SelectedInstanceIDs: 
     m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 1
+    m_HadKeyboardFocusLastEvent: 0
     m_ExpandedInstanceIDs: 
     m_RenameOverlay:
       m_UserAcceptedRename: 0
@@ -636,8 +636,8 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 151
-    y: 83
-    width: 574
+    y: 81
+    width: 924
     height: 1262
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -682,7 +682,7 @@ MonoBehaviour:
     m_HSlider: 0
     m_VSlider: 0
     m_IgnoreScrollWheelUntilClicked: 0
-    m_EnableMouseInput: 1
+    m_EnableMouseInput: 0
     m_EnableSliderZoomHorizontal: 0
     m_EnableSliderZoomVertical: 0
     m_UniformScale: 1
@@ -691,23 +691,23 @@ MonoBehaviour:
       serializedVersion: 2
       x: 0
       y: 21
-      width: 574
+      width: 924
       height: 1241
     m_Scale: {x: 0.76416254, y: 0.76416254}
-    m_Translation: {x: 287, y: 620.5}
+    m_Translation: {x: 462, y: 620.5}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -375.57455
+      x: -604.58344
       y: -812
-      width: 751.1491
+      width: 1209.1669
       height: 1624
     m_MinimalGUI: 1
   m_defaultScale: 0.76416254
-  m_LastWindowPixelSize: {x: 574, y: 1262}
+  m_LastWindowPixelSize: {x: 924, y: 1262}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
   m_LowResolutionForAspectRatios: 01000001000000000000

+ 2 - 0
XiuXianGame.sln.DotSettings.user

@@ -1,5 +1,6 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAbstractProgressBar_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003F40_003Fd60d7bd8_003FAbstractProgressBar_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAppStatusBar_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1f63769030ae497a94b35af8517071579d5a00_003Fbc_003F8cd214f9_003FAppStatusBar_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAsyncInstantiateOperationHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F3b_003F82aeb7a5_003FAsyncInstantiateOperationHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollectionExtensions_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fde80aed0bd3646409e8bfb15c101f005e2000_003Fb3_003F5c77f01e_003FCollectionExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACollider_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F2193ba18cb0546b2832917f7674384cf20000_003F3a_003Fa0da6a1e_003FCollider_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@@ -33,6 +34,7 @@
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AShaderVariantCollection_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F8c_003F3e54d954_003FShaderVariantCollection_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASingle_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fb18a8b3398e74bca86895881dd02956c573648_003F16_003F2be7d3ed_003FSingle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStyleSheet_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F56d039fe633a4adf8fb266a0b1797e6c17a000_003Fcb_003Fe0e387fe_003FStyleSheet_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
+	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATaskStatus_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003F39_003F7aac61ac_003FTaskStatus_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATextAsset_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F5c4a01f363eb46748231fc41bd9bdd8517e000_003F50_003F0344ee3c_003FTextAsset_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003Fck_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe4df6db7850b4c40b72002ff5da8188846ac00_003F3b_003F1a234af4_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
 	<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATime_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F52d61f6cbc024a7eab0cd1f462e4bc53104c00_003Fc6_003F8739ef35_003FTime_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.