Browse Source

关卡选择进行中

pull/18/head
软件204张景程 1 year ago
parent
commit
e7cad33b42
  1. 2
      ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset
  2. 499
      ColorlessWorld-2024-4-2/Assets/Scenes/ChooseLevelScene_1.unity
  3. 1774
      ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity
  4. 10
      ColorlessWorld-2024-4-2/Assets/Scenes/StartMainScence.unity
  5. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction.meta
  6. 15
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs
  7. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs.meta
  8. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Aoe.cs
  9. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Aoe.cs.meta
  10. 8
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Attack.cs
  11. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Attack.cs.meta
  12. 13
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_DeBuff.cs
  13. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_DeBuff.cs.meta
  14. 13
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Random.cs
  15. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Random.cs.meta
  16. 13
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shield.cs
  17. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shield.cs.meta
  18. 9
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shoot.cs
  19. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shoot.cs.meta
  20. 13
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_UpBuff.cs
  21. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_UpBuff.cs.meta
  22. 9
      ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelDevelopManager.cs
  23. 191
      ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelGenerator.cs
  24. 14
      ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs
  25. 22
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs
  26. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs.meta
  27. 76
      ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs
  28. 90
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/EnemyPlanUIManager.cs
  29. 11
      ColorlessWorld-2024-4-2/Assets/Scripts/manager/EnemyPlanUIManager.cs.meta
  30. 0
      ColorlessWorld-2024-4-2/Temp/FSTimeGet-2355d34cfd6de4e429e0bf2730d5ad67
  31. 0
      ColorlessWorld-2024-4-2/Temp/FSTimeGet-46c5f95559fb3424582416ea35e815a1
  32. BIN
      ColorlessWorld-2024-4-2/Temp/FSTimeGet-a6a86f40953d55244a3c8124de6cc353
  33. 0
      ColorlessWorld-2024-4-2/Temp/FSTimeGet-caa11f5234755ab449899d29679d8b19
  34. 0
      ColorlessWorld-2024-4-2/Temp/UnityLockfile
  35. BIN
      ColorlessWorld-2024-4-2/Temp/__Backupscenes/0.backup
  36. BIN
      ColorlessWorld-2024-4-2/Temp/workerlic
  37. BIN
      ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache
  38. BIN
      ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache

2
ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset

@ -13,4 +13,4 @@ MonoBehaviour:
m_Name: LevelState_1
m_EditorClassIdentifier:
levelStep: 0
levelIndexList: 020000000000000003000000060000000700000000000000
levelIndexList: 020000000100000000000000050000000400000000000000

499
ColorlessWorld-2024-4-2/Assets/Scenes/ChooseLevelScene_1.unity

@ -285,7 +285,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1881501434}
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: ScenceLoadManager, Assembly-CSharp
m_MethodName: QuitGame
m_Mode: 1
@ -585,6 +585,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 796244794}
- {fileID: 937604851}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -667,6 +668,96 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 302031942}
m_CullTransparentMesh: 1
--- !u!1 &358169735
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 358169736}
- component: {fileID: 358169739}
- component: {fileID: 358169738}
- component: {fileID: 358169737}
m_Layer: 5
m_Name: Viewport
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &358169736
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358169735}
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: 838446348}
m_Father: {fileID: 937604851}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &358169737
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358169735}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 0
--- !u!114 &358169738
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358169735}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 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: 10917, guid: 0000000000000000f000000000000000, type: 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
--- !u!222 &358169739
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358169735}
m_CullTransparentMesh: 1
--- !u!1 &361816919
GameObject:
m_ObjectHideFlags: 0
@ -936,6 +1027,42 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 419451965}
m_CullTransparentMesh: 1
--- !u!1 &446925406
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 446925407}
m_Layer: 5
m_Name: Sliding Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &446925407
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 446925406}
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: 758244621}
m_Father: {fileID: 1259326318}
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: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &462480111
GameObject:
m_ObjectHideFlags: 0
@ -1094,7 +1221,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1881501434}
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: ScenceLoadManager, Assembly-CSharp
m_MethodName: LoadTargetLevel
m_Mode: 3
@ -1277,7 +1404,7 @@ LineRenderer:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 676871980}
m_Enabled: 1
m_Enabled: 0
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
@ -1391,7 +1518,13 @@ MonoBehaviour:
m_EditorClassIdentifier:
lineRenderer: {fileID: 676871982}
generatorPoint: {fileID: 1423961488}
generatorCount: 6
originalPoint: {x: 0, y: 0, z: 0}
generatorLine: 11
generatorColumn: 5
lineOffset: 15
columnOffset: 22
levelPrefab: {fileID: 8779078235435078892, guid: c9aa9ddaa8554844f803e2c22d3b17be,
type: 3}
levelPrefabList:
- {fileID: 8779078235435078892, guid: c9aa9ddaa8554844f803e2c22d3b17be, type: 3}
- {fileID: 8779078235435078892, guid: c9aa9ddaa8554844f803e2c22d3b17be, type: 3}
@ -1403,6 +1536,81 @@ MonoBehaviour:
- {fileID: 3078551910747698100, guid: 287ce1e0469b3834d9755ff86a081d6f, type: 3}
BossLevelPrefabList:
- {fileID: 1885417030641983838, guid: 901545c3f11968544836db15d83586de, type: 3}
--- !u!1 &758244620
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 758244621}
- component: {fileID: 758244623}
- component: {fileID: 758244622}
m_Layer: 5
m_Name: Handle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &758244621
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 758244620}
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: 446925407}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &758244622
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 758244620}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 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: 10905, guid: 0000000000000000f000000000000000, type: 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
--- !u!222 &758244623
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 758244620}
m_CullTransparentMesh: 1
--- !u!1 &796244793
GameObject:
m_ObjectHideFlags: 0
@ -1478,6 +1686,42 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 796244793}
m_CullTransparentMesh: 1
--- !u!1 &838446347
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 838446348}
m_Layer: 5
m_Name: Content
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &838446348
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 838446347}
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: 1423961491}
m_Father: {fileID: 358169736}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 1443.2365}
m_SizeDelta: {x: 0, y: 2505.839}
m_Pivot: {x: 0, y: 1}
--- !u!1 &854347190
GameObject:
m_ObjectHideFlags: 0
@ -1555,6 +1799,114 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 854347190}
m_CullTransparentMesh: 1
--- !u!1 &937604850
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 937604851}
- component: {fileID: 937604854}
- component: {fileID: 937604853}
- component: {fileID: 937604852}
m_Layer: 5
m_Name: Scroll View
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &937604851
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 937604850}
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: 358169736}
- {fileID: 1259326318}
m_Father: {fileID: 193346603}
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: 13.678, y: -0.000035265}
m_SizeDelta: {x: 1180.322, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &937604852
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 937604850}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 838446348}
m_Horizontal: 1
m_Vertical: 1
m_MovementType: 1
m_Elasticity: 0.1
m_Inertia: 1
m_DecelerationRate: 0.135
m_ScrollSensitivity: 1
m_Viewport: {fileID: 358169736}
m_HorizontalScrollbar: {fileID: 0}
m_VerticalScrollbar: {fileID: 1259326319}
m_HorizontalScrollbarVisibility: 2
m_VerticalScrollbarVisibility: 2
m_HorizontalScrollbarSpacing: -3
m_VerticalScrollbarSpacing: -3
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!114 &937604853
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 937604850}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
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: 10907, guid: 0000000000000000f000000000000000, type: 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
--- !u!222 &937604854
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 937604850}
m_CullTransparentMesh: 1
--- !u!1 &1043051853
GameObject:
m_ObjectHideFlags: 0
@ -1600,7 +1952,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
levelDevelopData: {fileID: 11400000, guid: 587726a845a2bc7498172485a1bd194b, type: 2}
levelFather: {fileID: 796244793}
levelFather: {fileID: 838446347}
levelList: []
--- !u!1 &1238442316
GameObject:
@ -1704,6 +2056,132 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &1259326317
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1259326318}
- component: {fileID: 1259326321}
- component: {fileID: 1259326320}
- component: {fileID: 1259326319}
m_Layer: 5
m_Name: Scrollbar Vertical
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1259326318
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1259326317}
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: 446925407}
m_Father: {fileID: 937604851}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 33.373, y: 0}
m_Pivot: {x: 1, y: 1}
--- !u!114 &1259326319
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1259326317}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, 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: 758244622}
m_HandleRect: {fileID: 758244621}
m_Direction: 2
m_Value: -0.01220156
m_Size: 0.36358255
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!114 &1259326320
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1259326317}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 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: 10907, guid: 0000000000000000f000000000000000, type: 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
--- !u!222 &1259326321
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1259326317}
m_CullTransparentMesh: 1
--- !u!1 &1423961488
GameObject:
m_ObjectHideFlags: 0
@ -1768,15 +2246,15 @@ RectTransform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1423961488}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 80}
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
m_LocalPosition: {x: 0, y: 0, z: -93.53074}
m_LocalScale: {x: 0.93530744, y: 0.93530744, z: 0.93530744}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 0}
m_Father: {fileID: 838446348}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: -60}
m_AnchoredPosition: {x: -445, y: 100}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0}
--- !u!1 &1566104373
@ -2214,7 +2692,7 @@ MonoBehaviour:
m_GameObject: {fileID: 1881501432}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4e609945f10ddd4289c176395cebad5, type: 3}
m_Script: {fileID: 11500000, guid: a89c4e241092d8d4e9db66087ec8d193, type: 3}
m_Name:
m_EditorClassIdentifier:
loadScreen: {fileID: 1768763678}
@ -2439,4 +2917,3 @@ SceneRoots:
- {fileID: 193346603}
- {fileID: 1824419355}
- {fileID: 1768763682}
- {fileID: 1423961491}

1774
ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity

File diff suppressed because it is too large

10
ColorlessWorld-2024-4-2/Assets/Scenes/StartMainScence.unity

@ -604,7 +604,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1621631700}
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: ScenceLoadManager, Assembly-CSharp
m_MethodName: QuitGame
m_Mode: 1
@ -1355,7 +1355,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1621631699}
- component: {fileID: 1621631700}
- component: {fileID: 1621631701}
m_Layer: 0
m_Name: ScenceManager
m_TagString: Untagged
@ -1378,7 +1378,7 @@ Transform:
m_Children: []
m_Father: {fileID: 315632828}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1621631700
--- !u!114 &1621631701
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -1387,7 +1387,7 @@ MonoBehaviour:
m_GameObject: {fileID: 1621631698}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c4e609945f10ddd4289c176395cebad5, type: 3}
m_Script: {fileID: 11500000, guid: a89c4e241092d8d4e9db66087ec8d193, type: 3}
m_Name:
m_EditorClassIdentifier:
loadScreen: {fileID: 1122200155}
@ -1955,7 +1955,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1621631700}
- m_Target: {fileID: 1621631701}
m_TargetAssemblyTypeName: ScenceLoadManager, Assembly-CSharp
m_MethodName: LoadTargetLevel
m_Mode: 3

8
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction.meta

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

15
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs

@ -0,0 +1,15 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyAction
{
public Sprite sprite;
public virtual void SettleText( EnemyNode enemyNode ,Text attackDamageText)
{
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier).ToString();
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyAction.cs.meta

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

8
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Aoe.cs

@ -0,0 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyActionAction_Aoe : EnemyAction
{
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Aoe.cs.meta

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

8
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Attack.cs

@ -0,0 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyActionAction_Attack : EnemyAction
{
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Attack.cs.meta

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

13
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_DeBuff.cs

@ -0,0 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyActionAction_DeBuff : EnemyAction
{
public override void SettleText(EnemyNode enemyNode, Text attackDamageText)
{
attackDamageText.text = "?";
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_DeBuff.cs.meta

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

13
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Random.cs

@ -0,0 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyActionAction_Random : EnemyAction
{
public override void SettleText(EnemyNode enemyNode, Text attackDamageText)
{
attackDamageText.text = "?";
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Random.cs.meta

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

13
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shield.cs

@ -0,0 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyActionAction_Shield : EnemyAction
{
public override void SettleText(EnemyNode enemyNode, Text attackDamageText)
{
attackDamageText.text = (enemyNode.EnemyState.upShieldValue).ToString();
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shield.cs.meta

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

9
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shoot.cs

@ -0,0 +1,9 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyActionAction_Shoot : EnemyAction
{
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_Shoot.cs.meta

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

13
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_UpBuff.cs

@ -0,0 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyActionAction_UpBuff :EnemyAction
{
public override void SettleText(EnemyNode enemyNode, Text attackDamageText)
{
attackDamageText.text = "?";
}
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/EnemyPlanFunction/EnemyActionAction_UpBuff.cs.meta

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

9
ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelDevelopManager.cs

@ -8,4 +8,13 @@ public class LevelDevelopManager : Singleton<LevelDevelopManager>
public GameObject levelFather;
public List<LevelNode> levelList = new List<LevelNode>();//关卡列表
public List<LevelList> levelMap = new List<LevelList>();//关卡列表
[System.Serializable]
public class LevelList
{
public List<LevelNode> levelColumn = new List<LevelNode>();//关卡列表
}
}

191
ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelGenerator.cs

@ -6,48 +6,73 @@ using UnityEngine.UI;
public class LevelGenerator : Singleton<LevelGenerator>
{
public LineRenderer lineRenderer;
public GameObject generatorPoint;
public GameObject generatorPoint;//初始位置
public Vector3 originalPoint;
[Header("½ÚµãÉú³ÉÊýÁ¿")]
public int generatorCount;
[Header("节点生成行(横)")]
public int generatorLine;
[Header("节点生成列(竖)")]
public int generatorColumn;
[Header("节点生成列(竖)间距")]
public int lineOffset;
[Header("节点生成行(横)间距")]
public int columnOffset;
[Header("生成路线数量")]
public int pathAmount;
[Header("½ÚµãÉú³É×ÊÔ´")]
public GameObject levelPrefab ;
public List<GameObject> levelPrefabList = new List<GameObject>();
public List<GameObject> BossLevelPrefabList = new List<GameObject>();
private void Start()
{
if(LevelDevelopManager .Instance .levelDevelopData .levelStep <=0)
originalPoint= generatorPoint.transform.position;
if (LevelDevelopManager .Instance .levelDevelopData .levelStep <=0)
{
GeneratorLevelMap(generatorCount - 1);
GenerateLevelMap(generatorLine,generatorColumn);
}
else
{
GeneratorLevelMapFormSave();
// GeneratorLevelMapFormSave();
}
}
public void GeneratorLevelMap( int nodeCount )
public void GenerateLevelMap(int generatorLine, int generatorColumn)
{
GenerateGridMap(generatorLine, generatorColumn);
List<int> pathList = GeneratePathSatrtPoint(pathAmount);
GeneratePath(pathList);
}
//生成网格
public void GenerateGridMap( int generatorLine,int generatorColumn)
{
LevelDevelopManager.Instance.levelList.Clear();
LevelDevelopManager.Instance.levelDevelopData.levelIndexList.Clear();
generatorPoint.transform.position = new Vector3(0, -60, 80);
for (int i =0;i<nodeCount;i++)
for (int i =0;i<generatorLine;i++)
{
generatorPoint.transform.position = new Vector3(0, generatorPoint.transform.position.y+15, 80);
int index = Random.Range(0, levelPrefabList.Count);
LevelDevelopManager.Instance.levelDevelopData.levelIndexList.Add(index);
var level= Instantiate(levelPrefabList[index] ,generatorPoint.transform.position, Quaternion.identity);
level.transform.SetParent(LevelDevelopManager .Instance . levelFather.transform);
LevelNode levelNode = level.GetComponent<LevelNode>();
LevelDevelopManager.Instance.levelList.Add(levelNode);
levelNode.stepIndex = LevelDevelopManager.Instance.levelList.Count-1;
lineRenderer.SetPosition(i, level.transform.position);
for (int j = 0; j < generatorColumn; j++)
{
generatorPoint.transform.position = new Vector3(generatorPoint.transform.position.x+lineOffset, generatorPoint.transform.position.y , 80);
GenerateLevelNode(i);
/* int index = Random.Range(0, levelPrefabList.Count);
LevelDevelopManager.Instance.levelDevelopData.levelIndexList.Add(index);
level.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform);
LevelNode levelNode = level.GetComponent<LevelNode>();
LevelDevelopManager.Instance.levelList.Add(levelNode);
levelNode.stepIndex = LevelDevelopManager.Instance.levelList.Count - 1;
lineRenderer.SetPosition(i, level.transform.position);*/
}
generatorPoint.transform.position = new Vector3(originalPoint.x, generatorPoint.transform.position.y + columnOffset, 80);
}
generatorPoint.transform.position = new Vector3(0, generatorPoint.transform.position.y + 15, 80);
/* generatorPoint.transform.position = new Vector3(0, generatorPoint.transform.position.y + 15, 80);
int indexBoss = Random.Range(0, BossLevelPrefabList.Count);
LevelDevelopManager.Instance.levelDevelopData.levelIndexList.Add(indexBoss);
var bossLevel = Instantiate(BossLevelPrefabList[indexBoss], generatorPoint.transform.position, Quaternion.identity);
@ -55,39 +80,109 @@ public class LevelGenerator : Singleton<LevelGenerator>
LevelNode levelNodeBoss = bossLevel.GetComponent<LevelNode>();
LevelDevelopManager.Instance.levelList.Add(levelNodeBoss);
levelNodeBoss.stepIndex = LevelDevelopManager.Instance.levelList.Count-1;
*/
}
//生成路线起点
public List<int> GeneratePathSatrtPoint(int pathAmount)
{
List<int> startPoints = new List<int>();
int uniquePoints =0 ;
lineRenderer.SetPosition(nodeCount, bossLevel.transform.position);
while(uniquePoints <2)
{
uniquePoints = 0;
startPoints.Clear();
for (int i = 0; i < pathAmount; i++)
{
int index = Random.Range(0, generatorColumn);
if(!startPoints.Contains(index))
{
uniquePoints += 1;
}
startPoints.Add(index);
}
}
return startPoints;
}
//生成路线
public void GeneratePath(List<int> pathList)
{
foreach (var column in pathList )
{
int currentColum = column;
LevelDevelopManager.Instance.levelMap[0].levelColumn[currentColum].isUse=true;
public void GeneratorLevelMapFormSave()
for (int line = 1; line <= generatorLine; line++)
{
while (true)
{
int pathOffset = Random.Range(-1, 2);
if (CheckChoosePath(line, currentColum, pathOffset))
{
LevelNode LevelNode = LevelDevelopManager.Instance.levelMap[line-1].levelColumn[currentColum];
currentColum += pathOffset;
LevelNode nextLevelNode = LevelDevelopManager.Instance.levelMap[line ].levelColumn[currentColum];
LevelNode.nextLevelNodes.Add(nextLevelNode);
nextLevelNode.fatherLevelNodes.Add(LevelNode);
Debug.Log(line + "," + currentColum);
nextLevelNode.isUse = true;
break;
}
}
}
}
}
//检查路线选择是否合理
public bool CheckChoosePath( int line,int column, int pathOffset)
{
LevelDevelopManager.Instance.levelList.Clear();
generatorPoint.transform.position = new Vector3(0, -60, 80);
for (int i = 0; i < LevelDevelopManager.Instance.levelDevelopData.levelIndexList.Count; i++)
int nextcolumn = column += pathOffset;
if (nextcolumn < 0 || nextcolumn > generatorColumn)
{
if(i== LevelDevelopManager.Instance.levelDevelopData.levelIndexList.Count-1)
return false;
}
if(pathOffset ==-1)
{
LevelNode levelNode= LevelDevelopManager.Instance.levelMap[line - 1].levelColumn[column - 1];
if(levelNode .isUse ==true )
{
generatorPoint.transform.position = new Vector3(0, generatorPoint.transform.position.y + 15, 80);
var levelBoss = Instantiate(BossLevelPrefabList[LevelDevelopManager.Instance.levelDevelopData.levelIndexList[i]], generatorPoint.transform.position, Quaternion.identity);
levelBoss.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform);
LevelNode levelNodeBoss = levelBoss.GetComponent<LevelNode>();
LevelDevelopManager.Instance.levelList.Add(levelNodeBoss);
levelNodeBoss.stepIndex = LevelDevelopManager.Instance.levelList.Count - 1;
lineRenderer.SetPosition(i, levelBoss.transform.position);
}
else
foreach (var node in levelNode .nextLevelNodes )
{
if (node.column > nextcolumn)
{
return false;
}
}
}
}
if (pathOffset == 1)
{
LevelNode levelNode = LevelDevelopManager.Instance.levelMap[line - 1].levelColumn[column + 1];
if (levelNode.isUse == true)
{
generatorPoint.transform.position = new Vector3(0, generatorPoint.transform.position.y + 15, 80);
var level = Instantiate(levelPrefabList[LevelDevelopManager.Instance.levelDevelopData.levelIndexList[i]], generatorPoint.transform.position, Quaternion.identity);
level.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform);
LevelNode levelNode = level.GetComponent<LevelNode>();
LevelDevelopManager.Instance.levelList.Add(levelNode);
levelNode.stepIndex = LevelDevelopManager.Instance.levelList.Count - 1;
lineRenderer.SetPosition(i, level.transform.position);
}
foreach (var node in levelNode.nextLevelNodes)
{
if (node.column < nextcolumn)
{
return false;
}
}
}
}
return true;
}
public void GenerateLevelNode(int line)
{
var level = Instantiate(levelPrefab, generatorPoint.transform.position, levelPrefab.transform.rotation);
level.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform);
LevelDevelopManager.Instance.levelMap[line].levelColumn.Add(level.GetComponent<LevelNode>());
}
public void GeneratorLevelMapFormSave()
{
}
}

14
ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs

@ -4,8 +4,16 @@ using UnityEngine;
public class LevelNode : MonoBehaviour
{
public bool canEnter;//标识关卡是否可用
public int stepIndex;//生成的关卡进度位置
public bool canEnter;//标识关卡当前能否进入
public bool isUse;//标识关卡是否可被路线选中
public int line;//行
public int column;//列
[Header("父节点(从哪来)")]
public List<LevelNode> fatherLevelNodes = new List<LevelNode>();
[Header("子节点(到哪去)")]
public List<LevelNode> nextLevelNodes = new List<LevelNode>();
private void Start()
@ -15,7 +23,7 @@ public class LevelNode : MonoBehaviour
public void JudgeCanEnter()
{
if (LevelDevelopManager.Instance.levelDevelopData.levelStep != stepIndex)
if (LevelDevelopManager.Instance.levelDevelopData.levelStep != line)
{
canEnter = false;
}

22
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs

@ -0,0 +1,22 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyPlanUIFunction
{
//攻击
public const string attack = "1";
//射击
public const string shoot = "2";
//范围AOE
public const string aoe = "3";
//护盾
public const string shield = "4";
//UpBuff
public const string upBuff = "5";
//DeBuff
public const string deBuff = "6";
//随机
public const string random = "7";
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs.meta

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

76
ColorlessWorld-2024-4-2/Assets/Scripts/UI/EnemyUIBar.cs

@ -16,18 +16,9 @@ public class EnemyUIBar : MonoBehaviour
EnemyNode enemyNode;
[Header("Òâͼͼ±ê")]
public Sprite attackIcon;
public Sprite shootIcon;
public Sprite aoeIcon;
public Sprite shieldIcon;
public Sprite upBuffIcon;
public Sprite deBuffIcon;
public Sprite randomIcon;
public Image planImage;
public Text attackDamageText;
public GameObject moveIcon;
[Header("Buffͼ±êÏÔʾ")]
public List<GameObject> buffIconList = new List<GameObject>();
@ -50,71 +41,20 @@ public class EnemyUIBar : MonoBehaviour
currentHPText.text = enemyNode.EnemyState.currentHP.ToString();
maxHPText.text = enemyNode.EnemyState.maxHP.ToString();
//俳算吭夕UI
if (lastTime >0)
{
lastTime -= Time.deltaTime;
}
else
{
SwitchIntention(enemyNode.planAction);
SwitchMoveIntention(enemyNode.canMove);
lastTime = time;
}
}
//俳算吭夕UI
private void SwitchIntention(EnemyNode.PlanAction planAction)
public void SwitchIntentionBTN(int index)
{
switch (enemyNode.planAction)
{
case EnemyNode.PlanAction.attack:
planImage.sprite = attackIcon;
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier).ToString ();
break;
case EnemyNode.PlanAction.dashAttack:
planImage.sprite = attackIcon;
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier*2f).ToString();
break;
case EnemyNode.PlanAction.sheield:
planImage.sprite = shieldIcon;
attackDamageText.text = (enemyNode.EnemyState.upShieldValue).ToString();
break;
case EnemyNode.PlanAction.shoot:
planImage.sprite = shootIcon;
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier).ToString();
break;
case EnemyNode.PlanAction.aoe:
planImage.sprite = aoeIcon;
break;
case EnemyNode.PlanAction.upBuff:
planImage.sprite = upBuffIcon;
break;
case EnemyNode.PlanAction.deBuff:
planImage.sprite = deBuffIcon;
break;
case EnemyNode.PlanAction.random:
planImage.sprite = randomIcon;
break;
}
SwitchIntention(enemyNode, index.ToString());
}
private void SwitchMoveIntention(bool canMove)
//俳算吭夕
public void SwitchIntention(EnemyNode enemyNode, string enemyPlanAction)
{
switch (canMove)
{
case true:
moveIcon.SetActive(true);
break;
case false:
moveIcon.SetActive(false);
break;
}
}
planImage.sprite = EnemyPlanUIManager.enemyPlanUIIconDictionary[enemyPlanAction].sprite;
//報炎傅唯
EnemyPlanUIManager.enemyPlanUIIconDictionary[enemyPlanAction].SettleText(enemyNode, attackDamageText);
}
//報炎傅唯
private void OnMouseOver()
{
EnemyManager.Instance. statePanel.SetActive(true);

90
ColorlessWorld-2024-4-2/Assets/Scripts/manager/EnemyPlanUIManager.cs

@ -0,0 +1,90 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnemyPlanUIManager : Singleton<EnemyPlanUIManager>
{
public static Dictionary<string, EnemyAction> enemyPlanUIIconDictionary = new Dictionary<string, EnemyAction>();//Ò쳣״̬
[Header("Òâͼͼ±ê")]
public Sprite attackIcon;
public Sprite shootIcon;
public Sprite aoeIcon;
public Sprite shieldIcon;
public Sprite upBuffIcon;
public Sprite deBuffIcon;
public Sprite randomIcon;
private void OnEnable()
{
AddEnemyPlanUIIcon(EnemyPlanUIFunction.attack,new EnemyActionAction_Attack(),attackIcon);
AddEnemyPlanUIIcon(EnemyPlanUIFunction.shoot, new EnemyActionAction_Shoot(), shootIcon);
AddEnemyPlanUIIcon(EnemyPlanUIFunction.aoe, new EnemyActionAction_Aoe(), aoeIcon);
AddEnemyPlanUIIcon(EnemyPlanUIFunction.shield, new EnemyActionAction_Shield(), shieldIcon);
AddEnemyPlanUIIcon(EnemyPlanUIFunction.upBuff, new EnemyActionAction_UpBuff(), upBuffIcon);
AddEnemyPlanUIIcon(EnemyPlanUIFunction.deBuff, new EnemyActionAction_DeBuff(), deBuffIcon);
AddEnemyPlanUIIcon(EnemyPlanUIFunction.random, new EnemyActionAction_Random(), randomIcon);
}
public void AddEnemyPlanUIIcon(string enemyPlanUIFunction,EnemyAction enemyAction ,Sprite icon)
{
enemyAction.sprite = icon;
enemyPlanUIIconDictionary.Add(enemyPlanUIFunction, enemyAction);
}
#region
/*
//Çл»ÒâͼUI
private void SwitchIntention(EnemyNode.PlanAction planAction , EnemyNode enemyNode)
{
switch (enemyNode.planAction)
{
case EnemyNode.PlanAction.attack:
planImage.sprite = attackIcon;
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier).ToString();
break;
case EnemyNode.PlanAction.dashAttack:
planImage.sprite = attackIcon;
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier * 2f).ToString();
break;
case EnemyNode.PlanAction.sheield:
planImage.sprite = shieldIcon;
attackDamageText.text = (enemyNode.EnemyState.upShieldValue).ToString();
break;
case EnemyNode.PlanAction.shoot:
planImage.sprite = shootIcon;
attackDamageText.text = (enemyNode.EnemyState.damage * enemyNode.EnemyState.damageMultiplier).ToString();
break;
case EnemyNode.PlanAction.aoe:
planImage.sprite = aoeIcon;
break;
case EnemyNode.PlanAction.upBuff:
planImage.sprite = upBuffIcon;
break;
case EnemyNode.PlanAction.deBuff:
planImage.sprite = deBuffIcon;
break;
case EnemyNode.PlanAction.random:
planImage.sprite = randomIcon;
break;
}
}
private void SwitchMoveIntention(bool canMove)
{
switch (canMove)
{
case true:
moveIcon.SetActive(true);
break;
case false:
moveIcon.SetActive(false);
break;
}
}
*/
#endregion
}

11
ColorlessWorld-2024-4-2/Assets/Scripts/manager/EnemyPlanUIManager.cs.meta

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

0
ColorlessWorld-2024-4-2/Temp/FSTimeGet-2355d34cfd6de4e429e0bf2730d5ad67

0
ColorlessWorld-2024-4-2/Temp/FSTimeGet-46c5f95559fb3424582416ea35e815a1

BIN
ColorlessWorld-2024-4-2/Temp/FSTimeGet-a6a86f40953d55244a3c8124de6cc353

Binary file not shown.

0
ColorlessWorld-2024-4-2/Temp/FSTimeGet-caa11f5234755ab449899d29679d8b19

0
ColorlessWorld-2024-4-2/Temp/UnityLockfile

BIN
ColorlessWorld-2024-4-2/Temp/__Backupscenes/0.backup

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/Temp/workerlic

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache

Binary file not shown.

BIN
ColorlessWorld-2024-4-2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache

Binary file not shown.
Loading…
Cancel
Save