diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset new file mode 100644 index 00000000..da2db38e --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3} + m_Name: BlackSheep + m_EditorClassIdentifier: + enemyName: skullGuardian + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 3 + stepRangeMultiplier: 1 + speed: 2 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 5 + maxHP: 15 + currentHP: 15 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 5 + attackRange: 1 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset.meta new file mode 100644 index 00000000..4dc10650 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/BlackSheep.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af4e3351b767d68459d5c6daff8a8d3f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset new file mode 100644 index 00000000..7640884f --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3} + m_Name: DarkCloud + m_EditorClassIdentifier: + enemyName: skullGuardian + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 2 + stepRangeMultiplier: 1 + speed: 1 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 7 + maxHP: 0 + currentHP: 25 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 4 + attackRange: 3 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset.meta new file mode 100644 index 00000000..8c26cfe5 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/DarkCloud.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f21c58f8d6a27d46b17e0f301860cd2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset new file mode 100644 index 00000000..e7892cd2 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3} + m_Name: Grinfiend + m_EditorClassIdentifier: + enemyName: skullGuardian + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 2 + stepRangeMultiplier: 1 + speed: 5 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 7 + maxHP: 20 + currentHP: 20 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 3 + attackRange: 2 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset.meta new file mode 100644 index 00000000..d0cb4f0b --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Grinfiend.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1160ee60e34650743a819c67f31ac225 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset new file mode 100644 index 00000000..e5c3dbb3 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3} + m_Name: Mushroom + m_EditorClassIdentifier: + enemyName: skullGuardian + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 3 + stepRangeMultiplier: 1 + speed: 4 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 7 + maxHP: 15 + currentHP: 15 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 3 + attackRange: 1 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset.meta new file mode 100644 index 00000000..a5e05248 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Mushroom.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 09e1bcd7742ccab47bd18261f81a1550 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset new file mode 100644 index 00000000..025d2163 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 20f70984b262f8d4382bf5262dddb83e, type: 3} + m_Name: Polymaw + m_EditorClassIdentifier: + enemyName: skullGuardian + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 2 + stepRangeMultiplier: 1 + speed: 1 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 5 + maxHP: 35 + currentHP: 35 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 8 + attackRange: 1 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset.meta new file mode 100644 index 00000000..48c7dcd6 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Polymaw.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9962950842bb6847acaa06e18b7a10a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index 355275c1..ff9f81e1 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset @@ -18,6 +18,6 @@ MonoBehaviour: - 1002 - 1002 - 1003 - - 1003 + - 1111 - 1004 - 1004 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab index a3873bac..9832a45c 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab @@ -96,7 +96,7 @@ MonoBehaviour: m_ChildAlignment: 4 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 25, y: 20} + m_CellSize: {x: 10, y: 20} m_Spacing: {x: 0, y: 0} m_Constraint: 0 m_ConstraintCount: 2 @@ -406,6 +406,7 @@ MonoBehaviour: castRange: {fileID: 5584794665957624749} colorConditon: {fileID: 4414271769496108467, guid: 1fd0d425cafce3f4588b40c9cfe1ac25, type: 3} + cardDataSummary: {fileID: 688789690455570313} --- !u!114 &5545682449418996990 MonoBehaviour: m_ObjectHideFlags: 0 @@ -637,7 +638,7 @@ MonoBehaviour: m_ChildAlignment: 0 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 30, y: 20} + m_CellSize: {x: 10, y: 20} m_Spacing: {x: 0, y: 0} m_Constraint: 0 m_ConstraintCount: 2 @@ -831,7 +832,7 @@ MonoBehaviour: m_ChildAlignment: 0 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 30, y: 20} + m_CellSize: {x: 10, y: 20} m_Spacing: {x: 0, y: 0} m_Constraint: 0 m_ConstraintCount: 2 @@ -1085,7 +1086,7 @@ MonoBehaviour: m_ChildAlignment: 0 m_StartCorner: 0 m_StartAxis: 0 - m_CellSize: {x: 30, y: 20} + m_CellSize: {x: 15, y: 20} m_Spacing: {x: 0, y: 0} m_Constraint: 0 m_ConstraintCount: 2 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Fun.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Fun.prefab index 20bd6b26..dee2322e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Fun.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Fun.prefab @@ -1,84 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &76789426523473230 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 784601012073086527} - - component: {fileID: 2398296442944049121} - - component: {fileID: 7721055263591341660} - m_Layer: 0 - m_Name: FunVal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &784601012073086527 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 76789426523473230} - 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: 8199308902575652709} - 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: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0, y: 0.5} ---- !u!222 &2398296442944049121 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 76789426523473230} - m_CullTransparentMesh: 1 ---- !u!114 &7721055263591341660 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 76789426523473230} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 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: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 0 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 5 --- !u!1 &4818544559399868804 GameObject: m_ObjectHideFlags: 0 @@ -200,3 +121,127 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1001 &2262797742357571770 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8199308902575652709} + m_Modifications: + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_SizeDelta.x + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_SizeDelta.y + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2195466461428280820, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + propertyPath: m_Name + value: FunVal + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ef66a5db78741da4d93f90fcdcb7176a, type: 3} +--- !u!224 &784601012073086527 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1550475189794395781, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + m_PrefabInstance: {fileID: 2262797742357571770} + m_PrefabAsset: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab index 5b924218..3324f66a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &3463743346225269131 +--- !u!1 &2948337350984551391 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,7 +8,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 7830476438711236699} + - component: {fileID: 8352083469037628100} + - component: {fileID: 819172502198749263} + - component: {fileID: 4690037205236639509} m_Layer: 0 m_Name: Node m_TagString: Untagged @@ -16,79 +18,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &7830476438711236699 +--- !u!224 &8352083469037628100 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3463743346225269131} + m_GameObject: {fileID: 2948337350984551391} 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: 3989144342279409849} - - {fileID: 2701269701150204204} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &7808783523905008034 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3989144342279409849} - - component: {fileID: 5758572311601459762} - - component: {fileID: 406060572217073000} - m_Layer: 0 - m_Name: Node - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3989144342279409849 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7808783523905008034} - 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_ConstrainProportionsScale: 1 m_Children: [] - m_Father: {fileID: 7830476438711236699} + m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 7, y: -7.9} + m_AnchoredPosition: {x: 7, y: -7.9000244} m_SizeDelta: {x: 7.5, y: 7.5} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5758572311601459762 +--- !u!222 &819172502198749263 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7808783523905008034} + m_GameObject: {fileID: 2948337350984551391} m_CullTransparentMesh: 1 ---- !u!114 &406060572217073000 +--- !u!114 &4690037205236639509 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7808783523905008034} + m_GameObject: {fileID: 2948337350984551391} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -112,82 +75,3 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &8737556827872546065 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2701269701150204204} - - component: {fileID: 6661400064922555463} - - component: {fileID: 393080899069940464} - m_Layer: 0 - m_Name: NodeDescription - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2701269701150204204 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8737556827872546065} - 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: 7830476438711236699} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 18.13, y: -16.57} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &6661400064922555463 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8737556827872546065} - m_CullTransparentMesh: 1 ---- !u!114 &393080899069940464 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8737556827872546065} - 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.122641504, g: 0.10355108, b: 0.10355108, 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: 8 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 0 - m_MaxSize: 40 - m_Alignment: 0 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab.meta index 3e043a52..ef7ea8ab 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab.meta +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Node.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 38f4837b968f61e4b94afcb5535f877c +guid: f4c36c2c021e0954897974b7ad041903 PrefabImporter: externalObjects: {} userData: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab new file mode 100644 index 00000000..29123507 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab @@ -0,0 +1,242 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3463743346225269131 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7830476438711236699} + m_Layer: 0 + m_Name: NodeResult + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7830476438711236699 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3463743346225269131} + 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: 3989144342279409849} + - {fileID: 2701269701150204204} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8737556827872546065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2701269701150204204} + - component: {fileID: 6661400064922555463} + - component: {fileID: 393080899069940464} + m_Layer: 0 + m_Name: NodeDescription + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2701269701150204204 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8737556827872546065} + 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: 7830476438711236699} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 18.13, y: -16.57} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6661400064922555463 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8737556827872546065} + m_CullTransparentMesh: 1 +--- !u!114 &393080899069940464 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8737556827872546065} + 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.122641504, g: 0.10355108, b: 0.10355108, 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: 8 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 1 +--- !u!1001 &4950799650148104829 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7830476438711236699} + m_Modifications: + - target: {fileID: 2948337350984551391, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_Name + value: Node + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_SizeDelta.x + value: 7.5 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_SizeDelta.y + value: 7.5 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -7.9 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f4c36c2c021e0954897974b7ad041903, type: 3} +--- !u!224 &3989144342279409849 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8352083469037628100, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + m_PrefabInstance: {fileID: 4950799650148104829} + m_PrefabAsset: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab.meta new file mode 100644 index 00000000..3e043a52 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/NodeResult.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 38f4837b968f61e4b94afcb5535f877c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab new file mode 100644 index 00000000..070a8646 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab @@ -0,0 +1,81 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2195466461428280820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1550475189794395781} + - component: {fileID: 4480913845061429083} + - component: {fileID: 8377153066574739174} + m_Layer: 0 + m_Name: Val + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1550475189794395781 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2195466461428280820} + 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: 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: -10, y: 0.04} + m_SizeDelta: {x: 10, y: 20} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &4480913845061429083 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2195466461428280820} + m_CullTransparentMesh: 1 +--- !u!114 &8377153066574739174 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2195466461428280820} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 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: 14 + 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: 5 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab.meta new file mode 100644 index 00000000..8bb90dce --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Fun/Val.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ef66a5db78741da4d93f90fcdcb7176a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab new file mode 100644 index 00000000..fe0b3dd8 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab @@ -0,0 +1,381 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1253231568001379261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4276721484070507378} + - component: {fileID: 7989887375954300062} + - component: {fileID: 230642570694684005} + - component: {fileID: 2630096967588951713} + m_Layer: 9 + m_Name: BlackSheep + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4276721484070507378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0} + m_LocalPosition: {x: 20, y: 0.36, z: 5.12} + m_LocalScale: {x: 0.1, y: 1, z: 0.12} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 382303586006028689} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0} +--- !u!135 &7989887375954300062 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.45 + m_Center: {x: 0, y: 0.4, z: -1.8} +--- !u!114 &230642570694684005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3} + m_Name: + m_EditorClassIdentifier: + templateEnemyState: {fileID: 11400000, guid: af4e3351b767d68459d5c6daff8a8d3f, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + rangePool: [] + aoeRangePool: [] + enemyType: 0 + enemyScript: 17 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + canMove: 0 + planAction: 0 +--- !u!114 &2630096967588951713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cff9b96bf0935a34e99e64276d588a22, type: 3} + m_Name: + m_EditorClassIdentifier: + layerMask: + serializedVersion: 2 + m_Bits: 0 + time: 0.2 + moveSpeed: 4 +--- !u!1 &2687402414900403258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8888823514061126702} + m_Layer: 0 + m_Name: FollowPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8888823514061126702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2687402414900403258} + m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424} + m_LocalPosition: {x: 0, y: 0, z: 6.3000016} + m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + 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.537} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5299401543336672401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382303586006028689} + - component: {fileID: 1417110473463724327} + - component: {fileID: 6829741816573684846} + m_Layer: 9 + m_Name: Enemy_1 + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382303586006028689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + serializedVersion: 2 + m_LocalRotation: {x: 0.018499402, y: 0, z: 0, w: 0.9998289} + m_LocalPosition: {x: -0.65, y: 0.406, z: -2.04} + m_LocalScale: {x: 1.8167788, y: 1.1626, z: 0.85490113} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0} +--- !u!33 &1417110473463724327 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6829741816573684846 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7509110568895175458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6503119109324506896} + - component: {fileID: 4532292198235687560} + - component: {fileID: 1857277813970574203} + m_Layer: 9 + m_Name: AimLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6503119109324506896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &4532292198235687560 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 6, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0031585693 + value: 0.11028418 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + 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 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 +--- !u!114 &1857277813970574203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3} + m_Name: + m_EditorClassIdentifier: + lineRenderer: {fileID: 4532292198235687560} + density: 2 + speed: 0.005 + currentdisappearTime: 0 + aimGamgObject: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab.meta new file mode 100644 index 00000000..1dc0bb6a --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/BlackSheep.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 16f2f07defe9c394fb4a5698554bc882 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab new file mode 100644 index 00000000..94110f61 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab @@ -0,0 +1,381 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1253231568001379261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4276721484070507378} + - component: {fileID: 7989887375954300062} + - component: {fileID: 230642570694684005} + - component: {fileID: 8542190414455016803} + m_Layer: 9 + m_Name: DarkCloud + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4276721484070507378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0} + m_LocalPosition: {x: 20, y: 0.36, z: 5.12} + m_LocalScale: {x: 0.1, y: 1, z: 0.12} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 382303586006028689} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0} +--- !u!135 &7989887375954300062 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.45 + m_Center: {x: 0, y: 0.4, z: -1.8} +--- !u!114 &230642570694684005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3} + m_Name: + m_EditorClassIdentifier: + templateEnemyState: {fileID: 11400000, guid: 8f21c58f8d6a27d46b17e0f301860cd2, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + rangePool: [] + aoeRangePool: [] + enemyType: 0 + enemyScript: 16 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + canMove: 0 + planAction: 2 +--- !u!114 &8542190414455016803 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 620ad3aeb3d0caf41b4b401901b81e66, type: 3} + m_Name: + m_EditorClassIdentifier: + layerMask: + serializedVersion: 2 + m_Bits: 0 + time: 0.2 + moveSpeed: 4 +--- !u!1 &2687402414900403258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8888823514061126702} + m_Layer: 0 + m_Name: FollowPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8888823514061126702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2687402414900403258} + m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424} + m_LocalPosition: {x: 0, y: 0, z: 6.3000016} + m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + 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.537} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5299401543336672401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382303586006028689} + - component: {fileID: 1417110473463724327} + - component: {fileID: 6829741816573684846} + m_Layer: 9 + m_Name: Enemy_1 + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382303586006028689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + serializedVersion: 2 + m_LocalRotation: {x: 0.018499402, y: 0, z: 0, w: 0.9998289} + m_LocalPosition: {x: -0.65, y: 0.406, z: -2.04} + m_LocalScale: {x: 1.8167788, y: 1.1626, z: 0.85490113} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0} +--- !u!33 &1417110473463724327 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6829741816573684846 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7509110568895175458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6503119109324506896} + - component: {fileID: 4532292198235687560} + - component: {fileID: 1857277813970574203} + m_Layer: 9 + m_Name: AimLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6503119109324506896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &4532292198235687560 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 6, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0031585693 + value: 0.11028418 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + 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 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 +--- !u!114 &1857277813970574203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3} + m_Name: + m_EditorClassIdentifier: + lineRenderer: {fileID: 4532292198235687560} + density: 2 + speed: 0.005 + currentdisappearTime: 0 + aimGamgObject: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab.meta new file mode 100644 index 00000000..c3c857e8 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DarkCloud.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 860a25280c40f1040915b02a770609af +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DrowsyShroom.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DrowsyShroom.prefab index 8eaf730c..09191f1d 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DrowsyShroom.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/DrowsyShroom.prefab @@ -46,7 +46,7 @@ GameObject: - component: {fileID: 4329292649138574935} - component: {fileID: 3140390759043427805} - component: {fileID: 6438854566616150671} - - component: {fileID: 8271929896847479414} + - component: {fileID: 5522829299888798367} m_Layer: 9 m_Name: DrowsyShroom m_TagString: Enemy @@ -115,7 +115,7 @@ MonoBehaviour: rangePool: [] aoeRangePool: [] enemyType: 0 - enemyScript: 13 + enemyScript: 16 lineAim: {fileID: 9148701444070785466} canLineAppre: 1 disableAttack: {fileID: 0} @@ -125,7 +125,7 @@ MonoBehaviour: bone_Re: {fileID: 0} canMove: 0 planAction: 2 ---- !u!114 &8271929896847479414 +--- !u!114 &5522829299888798367 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -134,14 +134,14 @@ MonoBehaviour: m_GameObject: {fileID: 650302351288945714} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5020a3e65f711024bbf871c4b7f33988, type: 3} + m_Script: {fileID: 11500000, guid: 620ad3aeb3d0caf41b4b401901b81e66, type: 3} m_Name: m_EditorClassIdentifier: layerMask: serializedVersion: 2 m_Bits: 0 - time: 0.2 - moveSpeed: 4 + time: 0 + moveSpeed: 0 --- !u!1 &1106227742990737778 GameObject: m_ObjectHideFlags: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab new file mode 100644 index 00000000..c9fa2dad --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab @@ -0,0 +1,382 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1253231568001379261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4276721484070507378} + - component: {fileID: 7989887375954300062} + - component: {fileID: 230642570694684005} + - component: {fileID: 6494687775698520074} + m_Layer: 9 + m_Name: Grinfiend + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4276721484070507378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0} + m_LocalPosition: {x: 20, y: 0.36, z: 5.12} + m_LocalScale: {x: 0.1, y: 1, z: 0.12} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 382303586006028689} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0} +--- !u!135 &7989887375954300062 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.45 + m_Center: {x: 0, y: 0.4, z: -1.8} +--- !u!114 &230642570694684005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3} + m_Name: + m_EditorClassIdentifier: + templateEnemyState: {fileID: 11400000, guid: 1160ee60e34650743a819c67f31ac225, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + rangePool: [] + aoeRangePool: [] + enemyType: 0 + enemyScript: 18 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + canMove: 0 + planAction: 2 +--- !u!114 &6494687775698520074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d18a1c278edb3e04e865dd3b52d63e2f, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyNode: {fileID: 0} + layerMask: + serializedVersion: 2 + m_Bits: 0 + time: 0.2 + moveSpeed: 4 +--- !u!1 &2687402414900403258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8888823514061126702} + m_Layer: 0 + m_Name: FollowPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8888823514061126702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2687402414900403258} + m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424} + m_LocalPosition: {x: 0, y: 0, z: 6.3000016} + m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + 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.537} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5299401543336672401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382303586006028689} + - component: {fileID: 1417110473463724327} + - component: {fileID: 6829741816573684846} + m_Layer: 9 + m_Name: Enemy_1 + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382303586006028689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + serializedVersion: 2 + m_LocalRotation: {x: 0.018499402, y: 0, z: 0, w: 0.9998289} + m_LocalPosition: {x: -0.65, y: 0.406, z: -2.04} + m_LocalScale: {x: 1.8167788, y: 1.1626, z: 0.85490113} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0} +--- !u!33 &1417110473463724327 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6829741816573684846 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7509110568895175458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6503119109324506896} + - component: {fileID: 4532292198235687560} + - component: {fileID: 1857277813970574203} + m_Layer: 9 + m_Name: AimLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6503119109324506896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &4532292198235687560 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 6, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0031585693 + value: 0.11028418 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + 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 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 +--- !u!114 &1857277813970574203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3} + m_Name: + m_EditorClassIdentifier: + lineRenderer: {fileID: 4532292198235687560} + density: 2 + speed: 0.005 + currentdisappearTime: 0 + aimGamgObject: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab.meta new file mode 100644 index 00000000..2df46518 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Grinfiend.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3d83bb7c6cfaa71439ad6302d0dceb51 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab new file mode 100644 index 00000000..a6ad7e08 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab @@ -0,0 +1,382 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1253231568001379261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4276721484070507378} + - component: {fileID: 7989887375954300062} + - component: {fileID: 230642570694684005} + - component: {fileID: 7710354117342686505} + m_Layer: 9 + m_Name: Mushroom + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4276721484070507378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0} + m_LocalPosition: {x: 20, y: 0.36, z: 5.12} + m_LocalScale: {x: 0.1, y: 1, z: 0.12} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 382303586006028689} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0} +--- !u!135 &7989887375954300062 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.45 + m_Center: {x: 0, y: 0.4, z: -1.8} +--- !u!114 &230642570694684005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3} + m_Name: + m_EditorClassIdentifier: + templateEnemyState: {fileID: 11400000, guid: 09e1bcd7742ccab47bd18261f81a1550, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + rangePool: [] + aoeRangePool: [] + enemyType: 0 + enemyScript: 20 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + canMove: 0 + planAction: 0 +--- !u!114 &7710354117342686505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da70d494672e9b742b621a143865cad7, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyNode: {fileID: 0} + layerMask: + serializedVersion: 2 + m_Bits: 0 + time: 0.2 + moveSpeed: 4 +--- !u!1 &2687402414900403258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8888823514061126702} + m_Layer: 0 + m_Name: FollowPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8888823514061126702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2687402414900403258} + m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424} + m_LocalPosition: {x: 0, y: 0, z: 6.3000016} + m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + 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.537} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5299401543336672401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382303586006028689} + - component: {fileID: 1417110473463724327} + - component: {fileID: 6829741816573684846} + m_Layer: 9 + m_Name: Enemy_1 + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382303586006028689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + serializedVersion: 2 + m_LocalRotation: {x: 0.018499402, y: 0, z: 0, w: 0.9998289} + m_LocalPosition: {x: -0.65, y: 0.406, z: -2.04} + m_LocalScale: {x: 1.8167788, y: 1.1626, z: 0.85490113} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0} +--- !u!33 &1417110473463724327 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6829741816573684846 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7509110568895175458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6503119109324506896} + - component: {fileID: 4532292198235687560} + - component: {fileID: 1857277813970574203} + m_Layer: 9 + m_Name: AimLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6503119109324506896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &4532292198235687560 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 6, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0031585693 + value: 0.11028418 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + 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 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 +--- !u!114 &1857277813970574203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3} + m_Name: + m_EditorClassIdentifier: + lineRenderer: {fileID: 4532292198235687560} + density: 2 + speed: 0.005 + currentdisappearTime: 0 + aimGamgObject: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab.meta new file mode 100644 index 00000000..3b023669 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Mushroom.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e7af8b56c0915664585cb503433ecd3e +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab new file mode 100644 index 00000000..b89f17d9 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab @@ -0,0 +1,382 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1253231568001379261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4276721484070507378} + - component: {fileID: 7989887375954300062} + - component: {fileID: 230642570694684005} + - component: {fileID: 6598078494741193390} + m_Layer: 9 + m_Name: Polymaw + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4276721484070507378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.9657449, z: -0.2594933, w: 0} + m_LocalPosition: {x: 20, y: 0.36, z: 5.12} + m_LocalScale: {x: 0.1, y: 1, z: 0.12} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 382303586006028689} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 30.08, y: 180, z: 0} +--- !u!135 &7989887375954300062 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.45 + m_Center: {x: 0, y: 0.4, z: -1.8} +--- !u!114 &230642570694684005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b93e606dce1c400408bd059eaaa399b2, type: 3} + m_Name: + m_EditorClassIdentifier: + templateEnemyState: {fileID: 11400000, guid: a9962950842bb6847acaa06e18b7a10a, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + rangePool: [] + aoeRangePool: [] + enemyType: 0 + enemyScript: 19 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + canMove: 0 + planAction: 0 +--- !u!114 &6598078494741193390 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 441ffc4abe92e93468e7d196c1d2417f, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyNode: {fileID: 0} + layerMask: + serializedVersion: 2 + m_Bits: 0 + time: 0.2 + moveSpeed: 4 +--- !u!1 &2687402414900403258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8888823514061126702} + m_Layer: 0 + m_Name: FollowPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8888823514061126702 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2687402414900403258} + m_LocalRotation: {x: 0.00004351113, y: -0.7101218, z: 0.7040763, w: 0.0019181424} + m_LocalPosition: {x: 0, y: 0, z: 6.3000016} + m_LocalScale: {x: 9.999354, y: 8.328876, z: 1.0000705} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + 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.537} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5299401543336672401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 382303586006028689} + - component: {fileID: 1417110473463724327} + - component: {fileID: 6829741816573684846} + m_Layer: 9 + m_Name: Enemy_1 + m_TagString: Enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &382303586006028689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + serializedVersion: 2 + m_LocalRotation: {x: 0.018499402, y: 0, z: 0, w: 0.9998289} + m_LocalPosition: {x: -0.65, y: 0.406, z: -2.04} + m_LocalScale: {x: 1.8167788, y: 1.1626, z: 0.85490113} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 2.12, y: 0, z: 0} +--- !u!33 &1417110473463724327 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6829741816573684846 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5299401543336672401} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4f1cc3f6d514aa44a9759eda985dba4b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7509110568895175458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6503119109324506896} + - component: {fileID: 4532292198235687560} + - component: {fileID: 1857277813970574203} + m_Layer: 9 + m_Name: AimLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6503119109324506896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -4} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!120 &4532292198235687560 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6dae87f6dbe79e34fb7adcae048807dd, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 6, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0031585693 + value: 0.11028418 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + 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 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 +--- !u!114 &1857277813970574203 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7509110568895175458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e85732096b0d414f9d6f9ea2e10f06f, type: 3} + m_Name: + m_EditorClassIdentifier: + lineRenderer: {fileID: 4532292198235687560} + density: 2 + speed: 0.005 + currentdisappearTime: 0 + aimGamgObject: {fileID: 0} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab.meta new file mode 100644 index 00000000..16b93ba7 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Polymaw.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5215b7bf3c1792d44b7f72561a3051a1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity index ccd8580e..f4878357 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity @@ -4240,6 +4240,10 @@ MonoBehaviour: shield: {fileID: 21300000, guid: f570dfeb705959d4d9551aadbb8817d4, type: 3} step: {fileID: 21300000, guid: 5312c2d969ace5843abc2c7201679b9d, type: 3} weak: {fileID: 262922594, guid: f9991f9de5deef7488a05908175569c3, type: 3} + imageInCondition: {fileID: 2948337350984551391, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + textInCondition: {fileID: 2195466461428280820, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} --- !u!1 &282261046 GameObject: m_ObjectHideFlags: 0 @@ -5141,6 +5145,50 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &329040648 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 329040649} + - component: {fileID: 329040650} + m_Layer: 0 + m_Name: CardManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &329040649 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 329040648} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 348176937} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &329040650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 329040648} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &330585543 GameObject: m_ObjectHideFlags: 0 @@ -5733,6 +5781,7 @@ Transform: - {fileID: 1251297425} - {fileID: 1766672721} - {fileID: 430040821} + - {fileID: 329040649} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &350066633 @@ -25150,7 +25199,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: -20.700012, y: -24.700012} + m_AnchoredPosition: {x: -20.699951, y: -24.699951} m_SizeDelta: {x: 419.5, y: 373.7} m_Pivot: {x: 0, y: 0} --- !u!114 &1504140804 @@ -31034,7 +31083,7 @@ MonoBehaviour: lineOffSet: {x: 1, y: 0, z: 0} columnOffSet: {x: 0, y: 0, z: 0.865} enemyGenerateDataList: - - enemyPrefab: {fileID: 1880325291853289959, guid: 5c61e2225184e76439df52aa53207c18, + - enemyPrefab: {fileID: 1253231568001379261, guid: e7af8b56c0915664585cb503433ecd3e, type: 3} locationX: 4 locationY: 4 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs new file mode 100644 index 00000000..6a0ec8e3 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs @@ -0,0 +1,29 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_Wet : Buff +{ + public override void Settle() + { + //base.Settle(); + } + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + //base.Settle(); + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_Wet(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_huozhong_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs.meta new file mode 100644 index 00000000..d278e792 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_Wet.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aede7897a5991d44c8302037842a826d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs index 81199952..a867a5e2 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardDrag.cs @@ -544,7 +544,7 @@ public class CardDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDrag else { //卡牌释放效果 - yield return StartCoroutine(cardEntity.settle(0, currentNode)); + yield return StartCoroutine(cardEntity.settle(0, GameManager.Instance.playerOn)); } yield break; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs index de7eff34..3b6cdfb7 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs @@ -9,6 +9,7 @@ using TreeEditor; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; +using UnityEngine.Windows; using static Name; using static UnityEngine.EventSystems.EventTrigger; using static UnityEngine.InputSystem.Controls.DiscreteButtonControl; @@ -88,6 +89,8 @@ public class CardEntity : MonoBehaviour public Text castRange; [Header("条件颜色的判断")] public GameObject colorConditon; + [Header("卡牌数据总结")] + public GameObject cardDataSummary; public Dictionary> cardFunToLose = new Dictionary>(); private void Start() @@ -99,6 +102,7 @@ public class CardEntity : MonoBehaviour { checkAndUpdateCondition(); createCardCost(); + createCastRange(); } IEnumerator SyncVuleText() { @@ -141,7 +145,7 @@ public class CardEntity : MonoBehaviour Player player = GameManager.Instance.player; player.anim.SetTrigger("attack"); - Vector3 dis = Input.mousePosition + Vector3.forward * 15; + Vector3 dis = UnityEngine.Input.mousePosition + Vector3.forward * 15; Vector3 pos = Camera.main.ScreenToWorldPoint(dis); player.FlipLocalScale(pos); } @@ -277,7 +281,7 @@ public class CardEntity : MonoBehaviour } createTrueFun(); summarizeNodeColor(); - createCastRange(); + } @@ -325,25 +329,31 @@ public class CardEntity : MonoBehaviour text.text = funVal; } - private void conditionCal(string conditon,int conditonListindex,int colorConditionindex) + private void conditionCal(string condition,int conditonListindex,int colorConditionindex) { - Transform childToCopy = colorConditon.transform; - GameObject colorConditonChild = Instantiate(colorConditon); - colorConditonChild.transform.SetParent(conditionList[conditonListindex].transform); - colorConditonChild.transform.position = conditionList[conditonListindex].transform.position; - colorConditonChild.transform.localRotation = childToCopy.localRotation; - colorConditonChild.transform.localScale = childToCopy.localScale; - string pattern = @"(\w+)([><=])(\d+)"; + + //string pattern = @"(\w+)([><=])(\d+)"; cardOriginalData.originFunctionVal.Clear(); + Debug.Log("condition是"+condition); + Debug.Log("CardManager" + CardManager.Instance); + List stringList= CardManager.Instance.splitStringIntoComponents(condition); + for (int i = 0; i < stringList.Count; i++) + { + CardResourcesManager.Instance.addChildToConditon(stringList[i], conditionList[conditonListindex]); + } //Debug.Log("外面condition是" + kvp.Key); - Match match = Regex.Match(conditon, pattern); + //Match match = Regex.Match(conditon, pattern); + // 使用正则表达式将字符串按比较符号分割成三部分:左侧、操作符、右侧 + var match = Regex.Match(condition, @"(.+?)([><=]+)(.+)"); if (match.Success) { - string color = match.Groups[1].Value; // 颜色部分 + string firstPart = match.Groups[1].Value; // 第一部分 string op = match.Groups[2].Value; // 运算符部分 - string number = match.Groups[3].Value; // 数值部分 + string secondPart = match.Groups[3].Value; // 第三部分 // int colorCount = getNodeTools.getNodesCount(color); - Debug.Log("cardId是" + cardOriginalData.CardId + "conditonListindex是" + conditonListindex + "colorConditionindex是" + colorConditionindex + + + /*Debug.Log("cardId是" + cardOriginalData.CardId + "conditonListindex是" + conditonListindex + "colorConditionindex是" + colorConditionindex ); GameObject nodeModule = conditionList[conditonListindex].transform.GetChild(colorConditionindex).gameObject; GameObject nodeImage = nodeModule.transform.GetChild(0).gameObject; @@ -369,7 +379,7 @@ public class CardEntity : MonoBehaviour break; } string result = op + number; - description.text = result; + description.text = result;*/ } } @@ -382,17 +392,18 @@ public class CardEntity : MonoBehaviour Match match = Regex.Match(conditon, pattern); if (match.Success) { - string color = match.Groups[1].Value; // 颜色部分 + string firstPart = match.Groups[1].Value; // 第一部分 string op = match.Groups[2].Value; // 运算符部分 - int number = int.Parse(match.Groups[3].Value); // 数值部分 - int colorCount = getNodeTools.getNodesCount(color); + string secondPart = match.Groups[3].Value; // 第二部分 + int firstPartCount = CardManager.Instance.evaluateExpression(firstPart); + int secondPartCount = CardManager.Instance.evaluateExpression(secondPart); int thresholdShift = 0; //蓝色地块优势 if (MapUnityManager.Instance.getAdvNode().Equals(Name.Color.Blue)) { thresholdShift = 2; } - if (performComparison(colorCount, op, number, thresholdShift)) + if (performComparison(firstPartCount, op, secondPartCount, thresholdShift)) { check= true; } @@ -408,25 +419,28 @@ public class CardEntity : MonoBehaviour return check; } - private void resultsScreenCal() + private void resultsScreenCal(GameObject father) { for (int i = 0; i < cardOriginalData.TrueFunctionVal.Count; i++) { + + string keyName = Name.switchNumToString(cardOriginalData.TrueFunctionVal.ElementAt(i).Key); + string valueName= keyName + Name.value; - GameObject fun= trueFun.transform.GetChild(i).gameObject; - GameObject funImage = fun.transform.GetChild(0).gameObject; - GameObject funVal = fun.transform.GetChild(1).gameObject; - Image image = funImage.GetComponent(); - Text description = funVal.GetComponent(); - imageCal(image, cardOriginalData.TrueFunctionVal.ElementAt(i).Key); + GameObject keyChild = father.transform.Find(keyName).GameObject(); + GameObject valueChild = father.transform.Find(valueName).GameObject(); + Text description = valueChild.GetComponent(); + //imageCal(image, cardOriginalData.TrueFunctionVal.ElementAt(i).Key); //Debug.Log("cardId是" + cardOriginalData.CardId + "功能是" + cardOriginalData.TrueFunctionVal.ElementAt(i).Key + "数值是" + cardOriginalData.TrueFunctionVal.ElementAt(i).Value); if (int.Parse(cardOriginalData.TrueFunctionVal.ElementAt(i).Value)<=0) { - fun.SetActive(false); + keyChild.SetActive(false); + valueChild.SetActive(false); } else { - fun.SetActive(true); + keyChild.SetActive(true); + valueChild.SetActive(true); description.text = cardOriginalData.TrueFunctionVal.ElementAt(i).Value; } } @@ -524,16 +538,12 @@ public class CardEntity : MonoBehaviour } for (int i = 0; i < cardOriginalData.originFunctionVal.Count; i++) { - Transform childToCopy = trueFunPrefab.transform; - GameObject trueFunChild = Instantiate(trueFunPrefab); - trueFunChild.transform.SetParent(trueFun.transform); - trueFunChild.transform.position = trueFun.transform.position; - trueFunChild.transform.localRotation = childToCopy.localRotation; - trueFunChild.transform.localScale = childToCopy.localScale; - + string stringKey = Name.switchNumToString(cardOriginalData.originFunctionVal.ElementAt(i).Key); + GameObject image=CardResourcesManager.Instance.addChildToConditon(stringKey, cardDataSummary); + image.name = stringKey; + GameObject text = CardResourcesManager.Instance.addChildToConditon(cardOriginalData.originFunctionVal.ElementAt(i).Value, cardDataSummary); + text.name = stringKey+Name.value; } - Image condition = trueFun.GetComponent(); - //condition.color = UnityEngine.Color.green; } private void createFun(KeyValuePair> kvp,int index) @@ -543,19 +553,8 @@ public class CardEntity : MonoBehaviour for (int i = 0; i < functions.Length; i++) { - Transform childToCopy = trueFunPrefab.transform; - GameObject funChild = Instantiate(trueFunPrefab); - funChild.transform.SetParent(conditionList[index].transform); - funChild.transform.position = conditionList[index].transform.position; - funChild.transform.localRotation = childToCopy.localRotation; - funChild.transform.localScale = childToCopy.localScale; - GameObject funImage = funChild.transform.GetChild(0).gameObject; - GameObject funVal = funChild.transform.GetChild(1).gameObject; - Image image = funImage.GetComponent(); - Text description = funVal.GetComponent(); - Debug.Log("functions是" + functions[i] + "vals是" + vals[i]); - getFun(image, functions[i], vals[i], description); - + CardResourcesManager.Instance.addChildToConditon(Name.switchNumToString(functions[i]), conditionList[index]); + CardResourcesManager.Instance.addChildToConditon(vals[i], conditionList[index]); } //condition.color = UnityEngine.Color.green; @@ -563,7 +562,17 @@ public class CardEntity : MonoBehaviour private void createCastRange() { - castRange.text=cardOriginalData.CastingRange.ToString(); + if (GameManager.Instance.playerOn.whoColour.Equals(Name.NodeColor.Green)) + { + int range = cardOriginalData.CastingRange + 1; + Debug.Log("range是" + range); + castRange.text = range.ToString(); + } + else + { + castRange.text = cardOriginalData.CastingRange.ToString(); + } + } private void summarizeNodeColor() @@ -577,7 +586,11 @@ public class CardEntity : MonoBehaviour }; for (int i = 0; i < cardOriginalData.nodesColor.Length; i++) { - nodeColorResult[cardOriginalData.nodesColor[i]]++; + if (!cardOriginalData.nodesColor[i].Equals(Name.none)) + { + nodeColorResult[cardOriginalData.nodesColor[i]]++; + } + } for (int i = 0; i < nodeColorResult.Count; i++) @@ -678,7 +691,7 @@ public class CardEntity : MonoBehaviour } } } - resultsScreenCal(); + resultsScreenCal(cardDataSummary); } private void createCardRelease() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs index 5ea74a99..cfcd3916 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardOriginalDataList.cs @@ -110,16 +110,25 @@ public class CardOriginalDataList : Singleton Dictionary ReadExcel(string filePath) { Dictionary cardOriginalDataList = new Dictionary(); - - string[] lines = File.ReadAllLines(filePath); - // 跳过标题行(如果CSV文件有标题行的话) - for (int i = 1; i < lines.Length; i++) + using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + using (StreamReader reader = new StreamReader(fs)) { - // 用逗号分隔每行数据 - string[] values = lines[i].Split(','); - CardOriginalData cardOriginalData = new CardOriginalData(); - loadDatafromCsv(values, cardOriginalData); - cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData); + bool isFirstLine = true; + while (!reader.EndOfStream) + { + string line = reader.ReadLine(); + if (isFirstLine) + { + isFirstLine = false; + continue; // 跳过标题行 + } + + // 用逗号分隔每行数据 + string[] values = line.Split(','); + CardOriginalData cardOriginalData = new CardOriginalData(); + loadDatafromCsv(values, cardOriginalData); + cardOriginalDataList.Add(cardOriginalData.CardId, cardOriginalData); + } } return cardOriginalDataList; } @@ -128,7 +137,7 @@ public class CardOriginalDataList : Singleton { //CardOriginalData cardOriginalData = CardOriginalData.Instance; cardOriginalData.CardId = values[0]; - cardOriginalData.ChineseName = values[1]; + //cardOriginalData.ChineseName = values[1]; cardOriginalData.Cost = int.Parse(values[2]); cardOriginalData.Rarity = int.Parse(values[3]); cardOriginalData.CastingRange = int.Parse(values[4]); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs index 602135f0..21ee1da8 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardResourcesManager.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.UI; public class CardResourcesManager : Singleton { @@ -16,8 +17,80 @@ public class CardResourcesManager : Singleton public Sprite shield; public Sprite step; public Sprite weak; + + [Header("条件中的图片")] + public GameObject imageInCondition; + [Header("条件中的字符")] + public GameObject textInCondition; private void Start() { DontDestroyOnLoad(this.gameObject); } + + public GameObject addChildToConditon(string input,GameObject father) + { + GameObject colorConditonChild; + if (isTextOrImage(input)) + { + Transform childToCopy = textInCondition.transform; + colorConditonChild = Instantiate(textInCondition); + colorConditonChild.transform.SetParent(father.transform); + colorConditonChild.transform.position = father.transform.position; + colorConditonChild.transform.localRotation = childToCopy.localRotation; + colorConditonChild.transform.localScale = childToCopy.localScale; + Text description = colorConditonChild.GetComponent(); + description.text = input; + } + else + { + Transform childToCopy = imageInCondition.transform; + colorConditonChild = Instantiate(imageInCondition); + colorConditonChild.transform.SetParent(father.transform); + colorConditonChild.transform.position = father.transform.position; + colorConditonChild.transform.localRotation = childToCopy.localRotation; + colorConditonChild.transform.localScale = childToCopy.localScale; + getImage(colorConditonChild, input); + } + return colorConditonChild; + } + + public bool isTextOrImage(string input) + { + return System.Text.RegularExpressions.Regex.IsMatch(input, @"^[><=]|\d+$"); + } + + public void getImage(GameObject input,string imageString) + { + Image image = input.GetComponent(); + switch (imageString) + { + case Name.Color.Blue: + image.sprite = blueNodeImage; + break; + case Name.Color.Green: + image.sprite = greenNodeImage; + break; + case Name.Color.Red: + image.sprite = redNodeImage; + break; + case Name.Color.White: + image.sprite = whiteNodeImage; + break; + case Name.Color.Black: + image.sprite = blackNodeImage; + break; + case Name.CardFunctionString.damage: + image.sprite = attack; + break; + case Name.CardFunctionString.shield: + image.sprite = shield; + break; + case Name.CardFunctionString.weak: + image.sprite = weak; + break; + case Name.CardFunctionString.step: + image.sprite = step; + break; + } + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs new file mode 100644 index 00000000..546ec6e8 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs @@ -0,0 +1,291 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class BlackSheep : MonoBehaviour +{ + public EnemyNode enemyNode; + + [Header("瞄准射线图层剔除")] + public LayerMask layerMask; + + [Header("计数标量")] + public float time; + float lastTime = 0; + [Header("移动速度标量")] + public float moveSpeed; + //怪物行动 + public EnemyAction enemyAction; + + public Dictionary actionPool = new Dictionary(); + + private void Start() + { + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.2f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.4f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attackAndShield), 0.4f); + } + + private void Update() + { + + } + + private void OnEnable() + { + + + } + public void enemyTurn() + { + + StartCoroutine(JudgNextActionCoroutine()); + + } + + public void ChooseAction() + { + enemyAction = new EnemyActionAction_Attack(); + Debug.Log("actionPool大小" + actionPool.Count()); + if (enemyNode == null) + { + Debug.Log("enemyNode大小"); + } + enemyAction = enemyNode.GetRandomAction(actionPool); + Debug.Log("行动是:" + enemyAction); + enemyNode.enemyUIBar.SwitchIntention(enemyAction); + + } + + + + IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyActionAction_Attack: + yield return StartCoroutine(MeleeAttackAction()); + break; + case EnemyActionAction_Shield: + yield return StartCoroutine(ShieldAction()); + break; + case EnemyAction_ShootAndPollute: + yield return StartCoroutine(MeleeAttackAndPolluteAction()); + break; + } + + + + } + + IEnumerator MeleeAttackAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + IEnumerator MeleeAttackAndPolluteAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + GameManager.Instance.playerOn.whoColour = Name.NodeColor.Black; + if (GameManager.Instance.playerOn.unitPool[0] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + if (GameManager.Instance.playerOn.unitPool[5] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + GameManager.Instance.playerOn.whoColour = Name.NodeColor.Black; + if (GameManager.Instance.playerOn.unitPool[0] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[0]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + if (GameManager.Instance.playerOn.unitPool[5] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + } + } + } + } + + IEnumerator ShieldAction() + { + enemyNode.EnemyState.shieldValue += 5; + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + + IEnumerator moveTowardsPlayer() + { + enemyNode.FindPathTowardsPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + IEnumerator moveAwayFromPlayer() + { + enemyNode.FindPathAwayFromPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + private int getMoveStep() + { + if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count) + { + return enemyNode.getStepRange() + 1; + } + else + { + return enemyNode.pasth.Count; + } + } + + IEnumerator moveOneStep(MapUnity nexMapUnity) + { + enemyNode.bleedCal(); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + MapUnity disNode = nexMapUnity; + currentNode.blocked = false; + currentNode.enemyNode = null; + enemyNode.positionX = disNode.locationX; + enemyNode.positionY = disNode.locationY; + disNode.enemyNode = enemyNode; + yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode)); + } + + + + + + IEnumerator JudgNextActionCoroutine() + { + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + + } + else + { + yield return StartCoroutine(JudgeActionCoroutine()); + } + //下回合意图 + ArcherAim(); + + //让下一个敌人运动 + EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing; + } + IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置 + { + while (true) + { + float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position); + + if (dDistance < 0.1f) + { + break; + } + this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed); + + yield return 0; + } + + //判断腐蚀 + enemyNode.CorrodeRealize(endMapUnity); + //判断流血 + enemyNode.bleedRealize(endMapUnity); + yield break; + } + + + + + public void ArcherAim() + { + Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; + Ray ray = new Ray(this.transform.position, dir); + if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) + { + enemyNode.lineAim.GetComponent().aimGamgObject = raycastHit.collider.gameObject; + } + + } + + public void AttackDamage(int damage) + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode); + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs.meta new file mode 100644 index 00000000..e44b2185 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/BlackSheep.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cff9b96bf0935a34e99e64276d588a22 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs new file mode 100644 index 00000000..d0015239 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs @@ -0,0 +1,300 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class DarkCloud : MonoBehaviour +{ + EnemyNode enemyNode; + + [Header("瞄准射线图层剔除")] + public LayerMask layerMask; + + [Header("计数标量")] + public float time; + float lastTime = 0; + [Header("移动速度标量")] + public float moveSpeed; + //怪物行动 + public EnemyAction enemyAction; + + public Dictionary actionPool = new Dictionary(); + + private void Start() + { + enemyNode = GetComponent(); + + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shoot), 0.4f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.3f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shield), 0.3f); + enemyNode.sufferAbnormalCondition(AbnormalCondition.corrode, 1); + enemyNode.sufferAbnormalCondition(AbnormalCondition.boomAndPollute, 1); + } + + private void Update() + { + + } + + private void OnEnable() + { + + + } + public void enemyTurn() + { + + StartCoroutine(JudgNextActionCoroutine()); + + } + + public void ChooseAction() + { + enemyAction = new EnemyActionAction_Shoot(); + Debug.Log("actionPool大小"+ actionPool.Count()); + if (enemyNode == null) + { + Debug.Log("enemyNode大小"); + } + enemyAction = enemyNode.GetRandomAction(actionPool); + Debug.Log("行动是:" + enemyAction); + enemyNode.enemyUIBar.SwitchIntention(enemyAction); + + } + + + + IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyActionAction_Shoot: + yield return StartCoroutine(RemoteAttackAction()); + break; + case EnemyActionAction_Shield: + yield return StartCoroutine(ShieldAction()); + break; + case EnemyAction_ShootAndPollute: + yield return StartCoroutine(RemoteAttackAndPolluteAction()); + break; + } + + + + } + + IEnumerator MeleeAttackAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + IEnumerator RemoteAttackAction() + { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + + yield return new WaitForSeconds(1); + yield return StartCoroutine(moveAwayFromPlayer()); + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + } + } + + IEnumerator RemoteAttackAndPolluteAction() + { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + if (GameManager.Instance.playerOn.unitPool[1] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1]; + mapUnityA.whoColour=Name.NodeColor.Black; + } + if (GameManager.Instance.playerOn.unitPool[5] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + + } + + yield return new WaitForSeconds(1); + yield return StartCoroutine(moveAwayFromPlayer()); + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + } + } + IEnumerator ShieldAction() + { + enemyNode.EnemyState.shieldValue += 10; + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + HashSet targetNodes=new HashSet { currentNode }; + getNodeTools.getCircleNodeForEnemy(targetNodes,1); + foreach (MapUnity node in targetNodes) + { + node.whoColour = Name.NodeColor.Black; + } + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + } + } + + + IEnumerator moveTowardsPlayer() + { + enemyNode.FindPathTowardsPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + IEnumerator moveAwayFromPlayer() + { + enemyNode.FindPathAwayFromPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + private int getMoveStep() + { + if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count) + { + return enemyNode.getStepRange() + 1; + } + else + { + return enemyNode.pasth.Count; + } + } + + IEnumerator moveOneStep(MapUnity nexMapUnity) + { + enemyNode.bleedCal(); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + MapUnity disNode = nexMapUnity; + currentNode.blocked = false; + currentNode.enemyNode = null; + enemyNode.positionX = disNode.locationX; + enemyNode.positionY = disNode.locationY; + disNode.enemyNode = enemyNode; + yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode)); + } + + + + + + IEnumerator JudgNextActionCoroutine() + { + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + + } + else + { + Debug.Log("开始"); + yield return StartCoroutine(JudgeActionCoroutine()); + } + Debug.Log("结束"); + //下回合意图 + ArcherAim(); + + //让下一个敌人运动 + EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing; + } + IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置 + { + while (true) + { + float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position); + + if (dDistance < 0.1f) + { + break; + } + this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed); + + yield return 0; + } + + //判断腐蚀 + enemyNode.CorrodeRealize(endMapUnity); + //判断流血 + enemyNode.bleedRealize(endMapUnity); + yield break; + } + + + + + public void ArcherAim() + { + Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; + Ray ray = new Ray(this.transform.position, dir); + if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) + { + enemyNode.lineAim.GetComponent().aimGamgObject = raycastHit.collider.gameObject; + } + + } + + public void AttackDamage(int damage) + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode); + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs.meta new file mode 100644 index 00000000..4bdfefe3 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/DarkCloud.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 620ad3aeb3d0caf41b4b401901b81e66 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs index da2d3df2..f28f5246 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -72,7 +72,12 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver emberWraith, drowsyShroom, bone, - corrosiveSludge + corrosiveSludge, + darkCloud, + blackSheep, + grinfiend, + polymaw, + mushroom } [Header("意图行动")] public bool canMove; //可以移动 @@ -103,6 +108,10 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver if (enemyType == EnemyType.enemy) enemyUIBar = GetComponent(); + if (enemyUIBar == null) + { + CreatEnemyUIBar(this); + } } private void OnDisable() { @@ -114,10 +123,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } private void Start() { - if(enemyUIBar ==null ) - { - CreatEnemyUIBar(this); - } + } @@ -218,6 +224,31 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver CorrosiveSludge corrosiveSludge = GetComponent(); corrosiveSludge.ChooseAction(); break; + case EnemyScript.darkCloud: + DarkCloud darkCloud = GetComponent(); + darkCloud.ChooseAction(); + break; + case EnemyScript.blackSheep: + BlackSheep blackSheep = GetComponent(); + blackSheep.enemyNode = this; + blackSheep.ChooseAction(); + + break; + case EnemyScript.grinfiend: + Grinfiend grinfiend = GetComponent(); + grinfiend.enemyNode = this; + grinfiend.ChooseAction(); + break; + case EnemyScript.polymaw: + Polymaw polymaw = GetComponent(); + polymaw.enemyNode = this; + polymaw.ChooseAction(); + break; + case EnemyScript.mushroom: + Mushroom mushroom = GetComponent(); + mushroom.enemyNode = this; + mushroom.ChooseAction(); + break; } } @@ -236,6 +267,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver return action.Key; } } + Debug.Log("actionPool2222大小" + actionPool.Count()); return actionPool.Keys.Last(); } @@ -319,6 +351,26 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver CorrosiveSludge corrosiveSludge = GetComponent(); corrosiveSludge.enemyTurn(); break; + case EnemyScript.darkCloud: + DarkCloud darkCloud = GetComponent(); + darkCloud.enemyTurn(); + break; + case EnemyScript.blackSheep: + BlackSheep blackSheep = GetComponent(); + blackSheep.enemyTurn(); + break; + case EnemyScript.grinfiend: + Grinfiend grinfiend = GetComponent(); + grinfiend.enemyTurn(); + break; + case EnemyScript.polymaw: + Polymaw polymaw = GetComponent(); + polymaw.enemyTurn(); + break; + case EnemyScript.mushroom: + Mushroom mushroom = GetComponent(); + mushroom.enemyTurn(); + break; } } public void SettlementSkill() @@ -716,6 +768,12 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver return; } + if (condition.Equals(AbnormalCondition.wet)) + { + sufferWet(condition, value); + return; + } + if (condition.Equals(AbnormalCondition.levelSleep)) { sufferLevelSleep(condition, value); @@ -892,6 +950,29 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } + private void sufferWet(string condition, int value) + { + int nowValue = 0; + if (EnemyState.abnormalCondition.ContainsKey(condition)) + { + nowValue = EnemyState.abnormalCondition[condition].value; + } + int trueValue = nowValue + value; + if (trueValue >= 10) + { + sufferAbnormalCondition(AbnormalCondition.coma, 1); + EnemyState.abnormalCondition.Remove(condition); + + } + else + { + EnemyState.abnormalCondition.Remove(condition); + AddEnemyAbnormalCondition(condition, trueValue); + } + + //enemyUIBar.RefreshEnemyBuffIcon(); + + } private void sufferLevelSleep(string condition, int value) { //firseed的特殊处理 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs new file mode 100644 index 00000000..f0a67339 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs @@ -0,0 +1,319 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class Grinfiend : MonoBehaviour +{ + public EnemyNode enemyNode; + + [Header("瞄准射线图层剔除")] + public LayerMask layerMask; + + [Header("计数标量")] + public float time; + float lastTime = 0; + [Header("移动速度标量")] + public float moveSpeed; + //怪物行动 + public EnemyAction enemyAction; + + public Dictionary actionPool = new Dictionary(); + + private void Start() + { + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shoot), 0.2f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.deBuff), 0.8f); + } + + private void Update() + { + + } + + private void OnEnable() + { + + + } + public void enemyTurn() + { + + StartCoroutine(JudgNextActionCoroutine()); + + } + + public void ChooseAction() + { + enemyAction = new EnemyActionAction_Shoot(); + enemyAction = enemyNode.GetRandomAction(actionPool); + Debug.Log("行动是:" + enemyAction); + enemyNode.enemyUIBar.SwitchIntention(enemyAction); + + } + + + + IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyActionAction_Shoot: + yield return StartCoroutine(RemoteAttackAction()); + break; + case EnemyActionAction_DeBuff: + yield return StartCoroutine(DebuffAction()); + break; + } + + + + } + + IEnumerator MeleeAttackAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + IEnumerator RemoteAttackAction() + { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + + yield return new WaitForSeconds(1); + yield return StartCoroutine(moveAwayFromPlayer()); + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + } + } + + IEnumerator RemoteAttackAndPolluteAction() + { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + if (GameManager.Instance.playerOn.unitPool[1] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1]; + mapUnityA.whoColour=Name.NodeColor.Black; + } + if (GameManager.Instance.playerOn.unitPool[5] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + + } + + yield return new WaitForSeconds(1); + yield return StartCoroutine(moveAwayFromPlayer()); + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + } + } + + public string GetRandomAction(Dictionary actions) + { + System.Random random = new System.Random(); + double randValue = random.NextDouble(); // 生成一个 [0, 1) 之间的随机数 + double cumulative = 0.0; + + foreach (var action in actions) + { + cumulative += action.Value; + if (randValue < cumulative) + { + return action.Key; + } + } + return null; // 如果没有匹配到,则返回 null(理论上不会出现此情况) + } + IEnumerator DebuffAction() + { + Dictionary debuffPool = new Dictionary() + { + {"para", 0.2 }, + {"weak", 0.4 }, + {"vulnerable", 0.4 } + }; + + string action = GetRandomAction(debuffPool); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + switch (action) + { + case "para": + Debug.Log("寄生:"); + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.parasitism, 1); + break; + case "weak": + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.weak, 1); + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.addDrawCard, -1); + break; + case "vulnerable": + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.vulnerable, 1); + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, 1); + break; + + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + } + } + + + IEnumerator moveTowardsPlayer() + { + enemyNode.FindPathTowardsPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + IEnumerator moveAwayFromPlayer() + { + enemyNode.FindPathAwayFromPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + private int getMoveStep() + { + if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count) + { + return enemyNode.getStepRange() + 1; + } + else + { + return enemyNode.pasth.Count; + } + } + + IEnumerator moveOneStep(MapUnity nexMapUnity) + { + enemyNode.bleedCal(); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + MapUnity disNode = nexMapUnity; + currentNode.blocked = false; + currentNode.enemyNode = null; + enemyNode.positionX = disNode.locationX; + enemyNode.positionY = disNode.locationY; + disNode.enemyNode = enemyNode; + yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode)); + } + + + + + + IEnumerator JudgNextActionCoroutine() + { + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + + } + else + { + yield return StartCoroutine(JudgeActionCoroutine()); + } + //下回合意图 + ArcherAim(); + + //让下一个敌人运动 + EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing; + } + IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置 + { + while (true) + { + float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position); + + if (dDistance < 0.1f) + { + break; + } + this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed); + + yield return 0; + } + + //判断腐蚀 + enemyNode.CorrodeRealize(endMapUnity); + //判断流血 + enemyNode.bleedRealize(endMapUnity); + yield break; + } + + + + + public void ArcherAim() + { + Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; + Ray ray = new Ray(this.transform.position, dir); + if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) + { + enemyNode.lineAim.GetComponent().aimGamgObject = raycastHit.collider.gameObject; + } + + } + + public void AttackDamage(int damage) + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode); + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs.meta new file mode 100644 index 00000000..fe77b5ea --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Grinfiend.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d18a1c278edb3e04e865dd3b52d63e2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs new file mode 100644 index 00000000..a4ce6c5a --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs @@ -0,0 +1,370 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class Mushroom : MonoBehaviour +{ + public EnemyNode enemyNode; + + [Header("瞄准射线图层剔除")] + public LayerMask layerMask; + + [Header("计数标量")] + public float time; + float lastTime = 0; + [Header("移动速度标量")] + public float moveSpeed; + //怪物行动 + public EnemyAction enemyAction; + + public Dictionary actionPool = new Dictionary(); + + private void Start() + { + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.2f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.aoe), 0.4f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.weak), 0.2f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.deBuff), 0.2f); + } + + private void Update() + { + + } + + private void OnEnable() + { + + + } + public void enemyTurn() + { + + StartCoroutine(JudgNextActionCoroutine()); + + } + + public void ChooseAction() + { + enemyAction = new EnemyActionAction_Attack(); + enemyAction = enemyNode.GetRandomAction(actionPool); + Debug.Log("行动是:" + enemyAction); + enemyNode.enemyUIBar.SwitchIntention(enemyAction); + + } + + + + IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyActionAction_Attack: + yield return StartCoroutine(MeleeAttackAction()); + break; + case EnemyAction_Weak: + yield return StartCoroutine(MeleeAttackAndWeakAction()); + break; + case EnemyActionAction_Aoe: + yield return StartCoroutine(SkillAction()); + break; + case EnemyActionAction_DeBuff: + yield return StartCoroutine(MeleeAttackAndDebuffAction()); + break; + } + + + + } + + IEnumerator SkillAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + HashSet targetNodes = new HashSet { currentNode }; + getNodeTools.getCircleNodeForEnemy(targetNodes, 1); + foreach (MapUnity node in targetNodes) + { + node.whoColour = Name.NodeColor.Black; + if (node.Equals(GameManager.Instance.playerOn)) + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(7), enemyNode); + } + } + enemyNode.currentActionScript.FadeAttackRangeAll(enemyNode); + enemyNode.aoeRangePool.Clear(); + yield break; + + } + IEnumerator MeleeAttackAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + IEnumerator MeleeAttackAndWeakAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.weak, 1); + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.weak, 1); + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + IEnumerator MeleeAttackAndDebuffAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, 1); + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, 1); + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + IEnumerator RemoteAttackAction() + { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + + yield return new WaitForSeconds(1); + yield return StartCoroutine(moveAwayFromPlayer()); + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + } + } + + IEnumerator RemoteAttackAndPolluteAction() + { + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.immunity, 1); + //Usermanager.Instance.SufferPlayerAbnormalCondition(AbnormalCondition.banStep, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.immunity, 1); + //enemyNode.sufferAbnormalCondition(AbnormalCondition.boom, 1); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + if (GameManager.Instance.playerOn.unitPool[1] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[1]; + mapUnityA.whoColour=Name.NodeColor.Black; + } + if (GameManager.Instance.playerOn.unitPool[5] != null) + { + MapUnity mapUnityA = GameManager.Instance.playerOn.unitPool[5]; + mapUnityA.whoColour = Name.NodeColor.Black; + } + + } + + yield return new WaitForSeconds(1); + yield return StartCoroutine(moveAwayFromPlayer()); + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + } + } + IEnumerator ShieldAction() + { + enemyNode.EnemyState.shieldValue += 5; + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(enemyNode.EnemyState.damage); + } + } + } + } + + + IEnumerator moveTowardsPlayer() + { + enemyNode.FindPathTowardsPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + IEnumerator moveAwayFromPlayer() + { + enemyNode.FindPathAwayFromPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + private int getMoveStep() + { + if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count) + { + return enemyNode.getStepRange() + 1; + } + else + { + return enemyNode.pasth.Count; + } + } + + IEnumerator moveOneStep(MapUnity nexMapUnity) + { + enemyNode.bleedCal(); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + MapUnity disNode = nexMapUnity; + currentNode.blocked = false; + currentNode.enemyNode = null; + enemyNode.positionX = disNode.locationX; + enemyNode.positionY = disNode.locationY; + disNode.enemyNode = enemyNode; + yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode)); + } + + + + + + IEnumerator JudgNextActionCoroutine() + { + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + + } + else + { + yield return StartCoroutine(JudgeActionCoroutine()); + } + //下回合意图 + ArcherAim(); + + //让下一个敌人运动 + EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing; + } + IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置 + { + while (true) + { + float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position); + + if (dDistance < 0.1f) + { + break; + } + this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed); + + yield return 0; + } + + //判断腐蚀 + enemyNode.CorrodeRealize(endMapUnity); + //判断流血 + enemyNode.bleedRealize(endMapUnity); + yield break; + } + + + + + public void ArcherAim() + { + Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; + Ray ray = new Ray(this.transform.position, dir); + if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) + { + enemyNode.lineAim.GetComponent().aimGamgObject = raycastHit.collider.gameObject; + } + + } + + public void AttackDamage(int damage) + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(damage), enemyNode); + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs.meta new file mode 100644 index 00000000..b54a1865 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Mushroom.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: da70d494672e9b742b621a143865cad7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs new file mode 100644 index 00000000..7f8c039d --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs @@ -0,0 +1,307 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using static Name; + +public class Polymaw : MonoBehaviour +{ + public EnemyNode enemyNode; + + [Header("瞄准射线图层剔除")] + public LayerMask layerMask; + + [Header("计数标量")] + public float time; + float lastTime = 0; + [Header("移动速度标量")] + public float moveSpeed; + //怪物行动 + public EnemyAction enemyAction; + + public Dictionary actionPool = new Dictionary(); + + private void Start() + { + enemyNode = GetComponent(); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.aoe), 0.2f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.25f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attackAndShield), 0.25f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.3f); + } + + private void Update() + { + + + } + + public void enemyTurn() + { + StartCoroutine(JudgNextActionCoroutine()); + + } + + public void ChooseAction() + { + enemyAction = new EnemyActionAction_Attack(); + enemyAction = enemyNode.GetRandomAction(actionPool); + Debug.Log("行动是:" + enemyAction); + enemyNode.enemyUIBar.SwitchIntention(enemyAction); + + } + + + + IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyActionAction_Aoe: + yield return StartCoroutine(SkillAction()); + break; + case EnemyActionAction_Attack: + yield return StartCoroutine(MeleeAttackAction()); + break; + case EnemyAction_AttackAndShield: + yield return StartCoroutine(MeleeAttackAndShieldAction()); + break; + case EnemyAction_ShootAndPollute: + yield return StartCoroutine(MeleeAttackAndPolluteAction()); + break; + + } + + + + } + + + + + IEnumerator moveTowardsPlayer() + { + enemyNode.FindPathTowardsPlayer(); + enemyNode.CorrodeRealize(enemyNode.pasth[0]); + Debug.Log("FindPathTowardsPlayer成功"); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + Debug.Log("剩余步数还有"+ enemyNode.pasth.Count); + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + IEnumerator moveAwayFromPlayer() + { + enemyNode.FindPathAwayFromPlayer(); + for (int i = 1; i < getMoveStep(); i++) + { + if (enemyNode.pasth.Count > 1) + { + yield return StartCoroutine(moveOneStep(enemyNode.pasth[i])); + } + } + } + + private int getMoveStep() + { + if (enemyNode.getStepRange() + 1 <= enemyNode.pasth.Count) + { + return enemyNode.getStepRange() + 1; + } + else + { + return enemyNode.pasth.Count; + } + } + + IEnumerator moveOneStep(MapUnity nexMapUnity) + { + enemyNode.bleedCal(); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + MapUnity disNode = nexMapUnity; + currentNode.blocked = false; + currentNode.enemyNode = null; + enemyNode.positionX = disNode.locationX; + enemyNode.positionY = disNode.locationY; + disNode.enemyNode = enemyNode; + yield return StartCoroutine(SkeletonArcherMoveCoroutine(disNode)); + } + + IEnumerator MeleeAttackAction() + { + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + Debug.Log("if成功"); + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(); + } + } + else + { + Debug.Log("else成功"); + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(); + } + } + } + } + + IEnumerator MeleeAttackAndPolluteAction() + { + MapUnity currentNode = GameManager.Instance.playerOn; + HashSet targetNodes = new HashSet { currentNode }; + getNodeTools.getCircleNodeForEnemy(targetNodes, 1); + + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + Debug.Log("if成功"); + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(); + foreach (MapUnity node in targetNodes) + { + node.whoColour = Name.NodeColor.Black; + } + } + } + else + { + Debug.Log("else成功"); + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(); + foreach (MapUnity node in targetNodes) + { + node.whoColour = Name.NodeColor.Black; + } + } + } + } + } + IEnumerator MeleeAttackAndShieldAction() + { + enemyNode.EnemyState.shieldValue += 5; + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + Debug.Log("if成功"); + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(); + + } + } + else + { + Debug.Log("else成功"); + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + AttackDamage(); + } + } + } + } + + IEnumerator SkillAction() + { + enemyNode.EnemyState.abnormalCondition.Clear(); + GameManager.Instance.SyncColourCountUI(); + MapUnity currentNode = GameManager.Instance.X[enemyNode.positionX].Y[enemyNode.positionY]; + HashSet targetNodes = new HashSet { currentNode }; + getNodeTools.getCircleNodeForEnemy(targetNodes, 2); + foreach (MapUnity node in targetNodes) + { + node.whoColour = Name.NodeColor.Black; + if (node.Equals(GameManager.Instance.playerOn)) + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(5), enemyNode); + } + } + enemyNode.currentActionScript.FadeAttackRangeAll(enemyNode); + enemyNode.aoeRangePool.Clear(); + yield break; + + } + + + + IEnumerator JudgNextActionCoroutine() + { + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + { + + } + else + { + yield return StartCoroutine(JudgeActionCoroutine()); + } + //下回合意图 + ArcherAim(); + + //让下一个敌人运动 + EnemyManager.Instance.enemyTurnState = EnemyManager.EnemyTurnState.runing; + } + IEnumerator SkeletonArcherMoveCoroutine(MapUnity endMapUnity)//移动到位置 + { + while (true) + { + float dDistance = Vector3.Distance(this.gameObject.transform.position, endMapUnity.transform.position); + + if (dDistance < 0.1f) + { + break; + } + this.gameObject.transform.position = Vector3.Lerp(this.gameObject.transform.position, endMapUnity.transform.position, Time.deltaTime * moveSpeed); + + yield return 0; + } + + //判断腐蚀 + enemyNode.CorrodeRealize(endMapUnity); + //判断流血 + enemyNode.bleedRealize(endMapUnity); + yield break; + } + + + + + public void ArcherAim() + { + Vector3 dir = GameManager.Instance.player.transform.position - this.transform.position; + Ray ray = new Ray(this.transform.position, dir); + if (Physics.Raycast(ray, out RaycastHit raycastHit, 500, layerMask.value)) + { + enemyNode.lineAim.GetComponent().aimGamgObject = raycastHit.collider.gameObject; + } + + } + + public void AttackDamage() + { + Usermanager.Instance.SufferDamage(enemyNode.DamageCalculation(enemyNode.EnemyState.damage), enemyNode); + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs.meta new file mode 100644 index 00000000..afb7e0dd --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Polymaw.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 441ffc4abe92e93468e7d196c1d2417f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs index e822d668..b4ca2ebd 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/SkullGuardian.cs @@ -169,7 +169,7 @@ public class SkullGuardian : MonoBehaviour IEnumerator JudgNextActionCoroutine() { - if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)) + if (enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.sleep)|| enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.coma)) { } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs new file mode 100644 index 00000000..03d5d058 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler3_4 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler3_4(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + ge3_4Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + ge3_4Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + ge3_4Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + ge3_4Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + ge3_4Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + ge3_4Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void ge3_4Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs.meta new file mode 100644 index 00000000..c5d66bea --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler3_4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee23d524cb109b144806061ad00221d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs new file mode 100644 index 00000000..53e748ae --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler5_4 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler5_4(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get5_4Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get5_4Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get5_4Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get5_4Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get5_4Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get5_4Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get5_4Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(4, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs.meta new file mode 100644 index 00000000..75976c19 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0412374fb63c99840955db609c8ecdbd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs new file mode 100644 index 00000000..b6f9853e --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler5_5 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler5_5(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get5_5Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get5_5Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get5_5Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get5_5Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get5_5Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get5_5Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get5_5Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)].unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)].unitPool[counter.Add(3, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs.meta new file mode 100644 index 00000000..09ebd0db --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler5_5.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 48e09c0c78435294d8132a86967ce115 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs new file mode 100644 index 00000000..7cec08e3 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler6_4 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler6_4(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get6_4Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get6_4Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get6_4Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get6_4Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get6_4Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get6_4Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get6_4Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(4, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs.meta new file mode 100644 index 00000000..9c99a1d7 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9f4786997568ba46afae10721039604 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs new file mode 100644 index 00000000..5541cdd5 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler6_5 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler6_5(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get6_5Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get6_5Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get6_5Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get6_5Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get6_5Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get6_5Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get6_5Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)].unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)].unitPool[counter.Add(2, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs.meta new file mode 100644 index 00000000..f0158f82 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_5.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9e6d3c5f60aa2b40923181b7fb141e8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs new file mode 100644 index 00000000..ef150c25 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler6_6 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler6_6(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get6_6Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get6_6Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get6_6Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get6_6Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get6_6Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get6_6Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get6_6Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(1, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(1, offset)].unitPool[counter.Add(1, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)].unitPool[counter.Add(4, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs.meta new file mode 100644 index 00000000..9b6381a8 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_6.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7eb69c362d8eaf0408cb4a72bd0c6006 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs new file mode 100644 index 00000000..09419e43 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler6_7 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler6_7(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get6_7Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get6_7Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get6_7Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get6_7Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get6_7Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get6_7Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get6_7Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs.meta new file mode 100644 index 00000000..0145f2bb --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler6_7.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 158bf0b62a9968440b6aeb6469823f28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs new file mode 100644 index 00000000..d48b55b1 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class EffectRangeHandler7_3 : EffectRangeHandlerBase +{ + private ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); + public EffectRangeHandler7_3(MapUnity currentNode, float euler) + { + influencePreviewPool.Clear(); + influencePreviewPool.Add(currentNode); + angleActions = new Dictionary>> + { + { 30.0f, () => + { + get7_3Node(currentNode,getOffsetFromEuler(30.0f)); + return influencePreviewPool; + } + }, + { 90.0f, () => + { + get7_3Node(currentNode,getOffsetFromEuler(90.0f)); + return influencePreviewPool; + } + }, + { 150.0f, () => + { + get7_3Node(currentNode,getOffsetFromEuler(150.0f)); + return influencePreviewPool; + } + }, + { 210.0f, () => + { + get7_3Node(currentNode,getOffsetFromEuler(210.0f)); + return influencePreviewPool; + } + }, + { 270.0f, () => + { + get7_3Node(currentNode,getOffsetFromEuler(270.0f)); + return influencePreviewPool; + } + }, + { 330.0f, () => + { + get7_3Node(currentNode,getOffsetFromEuler(330.0f)); + return influencePreviewPool; + } + } + }; + + } + + private void get7_3Node(MapUnity currentNode, int offset) + { + try + { + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(4, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(2, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(1, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(5, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]); + tryGetNodeInfluencedable(currentNode.unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)].unitPool[counter.Add(3, offset)]); + } + catch (Exception ex) + { + //nothing to do + } + + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs.meta new file mode 100644 index 00000000..861e879d --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandler7_3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c7cdf6b800287f34abb6e8283d8d83a5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs index 90925e5a..c2c8c847 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Handler/EffectRangeHandlerBase.cs @@ -35,6 +35,41 @@ public class EffectRangeHandlerBase : EffectRangeHandler return canPass; } + public int getOffsetFromEuler(float euler) + { + int offset = 0; + switch (euler) + { + case 30.0f: + offset= 5; break; + case 90.0f: + offset = 0; break; + case 150.0f: + offset = 1; break; + case 210.0f: + offset = 2; break; + case 270.0f: + offset = 3; break; + case 330.0f: + offset = 4; break; + } + return offset; + } + + + /*public bool tryGetNodeFromEulerAndBase(MapUnity currentNode,float euler,int baseNum) + { + int + bool canPass = true; + switch (euler) + { + case 30.0f: + + } + + return canPass; + }*/ + public HashSet HandleAngleWithResult(float angle) { foreach (var kvp in angleActions) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs index 90ebe11d..f4a1cef7 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs @@ -64,6 +64,8 @@ public class AbnormalCondition : Singleton public const string doubleSettle = "35"; //下回合能量+1 public const string nextTurnExtraOneCost = "36"; + //潮湿 + public const string wet = "48"; public static readonly List canNegativeNumberList = new List { angerUpperDamage, shieldUpperValue, addDrawCard }; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs index f4b8a4fe..13104d82 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/CardFunction.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class CardFunction +public static class CardFunction { //伤害 public const string cardDamage = "1"; @@ -94,5 +94,7 @@ public class CardFunction public const string randomAttactCardToHand = "46"; //恢复血量 public const string recoverHp = "47"; + //潮湿 + public const string wet = "48"; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EffectRange.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EffectRange.cs index a1fe83a4..b888d786 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EffectRange.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EffectRange.cs @@ -15,6 +15,8 @@ public class EffectRange public const string range3_3 = "3_3"; + public const string range3_4 = "3_4"; + public const string range4_1 = "4_1"; public const string range4_2 = "4_2"; @@ -27,20 +29,34 @@ public class EffectRange public const string range5_3 = "5_3"; + public const string range5_4 = "5_4"; + + public const string range5_5 = "5_5"; + public const string range6_1 = "6_1"; public const string range6_2 = "6_2"; public const string range6_3 = "6_3"; + public const string range6_4 = "6_4"; + + public const string range6_5 = "6_5"; + + public const string range6_6 = "6_6"; + + public const string range6_7 = "6_7"; + public const string range7_1 = "7_1"; public const string range7_2 = "7_2"; + public const string range7_3 = "7_3"; + public const string range8_1 = "8_1"; public const string range8_2 = "8_2"; - public static readonly List speRange = new List {range2, range3_1, range3_2, range3_3, range4_1, - range4_2, range4_3, range5_1, range5_2, range5_3, range6_1, range6_2, range6_3, range7_1, range7_2, range8_1 , range8_2}; + public static readonly List speRange = new List {range2, range3_1, range3_2, range3_3, range3_4,range4_1, + range4_2, range4_3, range5_1, range5_2, range5_3, range5_4,range5_5,range6_1, range6_2, range6_3,range6_4,range6_5,range6_6,range6_7, range7_1, range7_2, range7_3,range8_1 , range8_2}; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs index 906e12b3..7df47c4a 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/EnemyPlanUIFunction.cs @@ -24,7 +24,7 @@ public class EnemyPlanUIFunction public const string nothing = "9"; //睡觉 public const string sleep = "10"; - //行走和污染 + //攻击和污染 public const string shootAndPollute = "11"; //攻击和护盾 public const string attackAndShield = "12"; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs index b79cd7a0..ebf8a7ee 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs @@ -14,6 +14,8 @@ public static class Name } public const string none="None"; + + public const string value = "value"; public static class Legacy { public const string LegacyNode_StrongBody = "LegacyNode_StrongBody"; @@ -48,6 +50,19 @@ public static class Name } + public static class CardElement + { + public const string redCount = "red"; + public const string blueCount = "blue"; + public const string greenCount = "green"; + public const string whiteCount = "white"; + public const string blackCount = "black"; + public const string plus = "+"; + public const string minus = "-"; + public const string equal = "="; + + } + public static class CardType { public const int Attack = 1; @@ -93,6 +108,36 @@ public static class Name public const string Black = "black"; } + public static class CardFunctionString + { + public const string damage = "damage"; + public const string shield = "shield"; + public const string weak = "weak"; + public const string step = "step"; + } + + public static string switchNumToString(string num) + { + string result= ""; + switch (num) + { + case CardFunction.cardDamage: + result = CardFunctionString.damage; + break; + case CardFunction.cardShield: + result = CardFunctionString.shield; + break; + case CardFunction.weak: + result = CardFunctionString.weak; + break; + case CardFunction.step: + result = CardFunctionString.step; + break; + } + + return result; + } + public static class Condition { public const string None = "none"; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs index 1c7aecff..e4bfe576 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs @@ -543,17 +543,25 @@ public class getNodeTools {EffectRange.range3_1,new EffectRangeHandler3_1(currentNode,euler) }, {EffectRange.range3_2,new EffectRangeHandler3_2(currentNode,euler) }, {EffectRange.range3_3,new EffectRangeHandler3_3(currentNode,euler) }, + {EffectRange.range3_4,new EffectRangeHandler3_4(currentNode,euler) }, {EffectRange.range4_1,new EffectRangeHandler4_1(currentNode,euler) }, {EffectRange.range4_2,new EffectRangeHandler4_2(currentNode,euler) }, {EffectRange.range4_3,new EffectRangeHandler4_3(currentNode,euler) }, {EffectRange.range5_1,new EffectRangeHandler5_1(currentNode,euler) }, {EffectRange.range5_2,new EffectRangeHandler5_2(currentNode,euler) }, {EffectRange.range5_3,new EffectRangeHandler5_3(currentNode,euler) }, + {EffectRange.range5_4,new EffectRangeHandler5_4(currentNode,euler) }, + {EffectRange.range5_5,new EffectRangeHandler5_5(currentNode,euler) }, {EffectRange.range6_1,new EffectRangeHandler6_1(currentNode,euler) }, {EffectRange.range6_2,new EffectRangeHandler6_2(currentNode,euler) }, {EffectRange.range6_3,new EffectRangeHandler6_3(playerOnNode,euler) }, + {EffectRange.range6_4,new EffectRangeHandler6_4(currentNode,euler) }, + {EffectRange.range6_5,new EffectRangeHandler6_5(currentNode,euler) }, + {EffectRange.range6_6,new EffectRangeHandler6_6(currentNode,euler) }, + {EffectRange.range6_7,new EffectRangeHandler6_7(currentNode,euler) }, {EffectRange.range7_1,new EffectRangeHandler7_1(currentNode,euler) }, {EffectRange.range7_2,new EffectRangeHandler7_2(currentNode,euler) }, + {EffectRange.range7_3,new EffectRangeHandler7_3(currentNode,euler) }, {EffectRange.range8_1,new EffectRangeHandler8_1(currentNode,euler) }, {EffectRange.range8_2,new EffectRangeHandler8_2(playerOnNode,euler) }, }; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs index 478797f9..c5947bff 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs @@ -37,6 +37,7 @@ public class BuffDataManager : Singleton abnormalCondition.Add("33", new Buff_BoomAndDamage()); abnormalCondition.Add("35", new Buff_DoubleSettle()); abnormalCondition.Add("36", new Buff_NextTurnExtraOneCost()); + abnormalCondition.Add("48", new Buff_Wet()); abnormalCondition.Add("106", new Buff_flashPoint()); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs index cff7b534..158fc6a8 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/CardManager.cs @@ -30,11 +30,79 @@ public class CardManager : Singleton newCardOriginalData.conditionAndFunctionVal.Remove(condition); newCardOriginalData.conditionAndFunctionVal.Add(newCondition, value); } - string newCardId=AddElementToDictionary(CardOriginalDataList.Instance.existCardOriginalDataList, cardOriginalData.CardId, newCardOriginalData); return newCardId; } + public List splitStringIntoComponents(string input) + { + // 使用正则表达式将颜色、符号和数字分离出来,并支持其他符号如减号 + var matches = System.Text.RegularExpressions.Regex.Matches(input, @"[a-zA-Z]+|[><=]+|\d+|\+"); + return matches.Select(match => match.Value).ToList(); + } + + public int evaluateExpression(string input) + { + // 使用正则表达式将输入字符串拆分为组件 + var components = splitStringIntoComponents(input); + int result = 0; + int currentNumber = 0; + string currentOperation = ""; + + foreach (var component in components) + { + if (int.TryParse(component, out int number)) + { + currentNumber = number; + } + else if (component == "+" || component == "-" || component == "*" || component == "/") + { + currentOperation = component; + } + else + { + currentNumber = getNodeTools.getNodesCount(component); + } + // 如果没有操作符,设置初始值为 currentNumber + if (result == 0 && string.IsNullOrEmpty(currentOperation)) + { + result = currentNumber; + } + else + { + switch (currentOperation) + { + case "+": + result += currentNumber; + break; + case "-": + result -= currentNumber; + break; + case "*": + result *= currentNumber; + break; + case "/": + if (currentNumber != 0) + { + result /= currentNumber; + } + else + { + throw new DivideByZeroException("除数不能为零"); + } + break; + } + } + } + + return result; + } + public int getIntFromString(string input) + { + int result = 0; + + return result; + } public string switchCardColor(string orginalCardId, CardOriginalData cardOriginalData, string newColor) { //CardOriginalData newCardOriginalData = new CardOriginalData(); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs index 9f3c8e5a..dbcdfe89 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/SettlementManager.cs @@ -38,11 +38,17 @@ public class SettlementManager : Singleton private void dyeingWork(CardOriginalData cardOriginalData,MapUnity targetNode) { ZeroToFiveCircularCounter counter = new ZeroToFiveCircularCounter(); - int offset = 0; + int offset = 3; Vector3 face = targetNode.transform.position - GameManager.Instance.playerOn.transform.position; - float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180; - offset=getEulerOffset(offset, euler); - targetNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[0]); + if (!targetNode.Equals(GameManager.Instance.playerOn)) + { + float euler = Vector3.SignedAngle(-GameManager.Instance.playerOn.transform.forward, face, GameManager.Instance.playerOn.transform.up) + 180; + offset = getEulerOffset(offset, euler); + } + if (!cardOriginalData.nodesColor[0].Equals(Name.none)) + { + targetNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[0]); + } Debug.Log("offset是" + offset); for (int i = 0; i < cardOriginalData.nodesMark.Length; i++) { @@ -53,8 +59,10 @@ public class SettlementManager : Singleton MapUnity oldNode = endNode; endNode = oldNode.unitPool[counter.Add(offset, int.Parse(marks[j]))]; } - endNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[i+1]); - Debug.Log("endNode的color是"+ endNode.whoColour); + if (endNode != null) + { + endNode.whoColour = Name.stringColorToint(cardOriginalData.nodesColor[i + 1]); + } } } @@ -473,6 +481,7 @@ public class SettlementManager : Singleton case CardFunction.fireSeed: case CardFunction.vulnerable: case CardFunction.banStep: + case CardFunction.wet: abnormalConditionWork(kvp.Key, int.Parse(kvp.Value), influencePreviewPool); break; case CardFunction.step: diff --git a/ColorlessWorld-2024-4-2/Assets/data/card_data_3.csv b/ColorlessWorld-2024-4-2/Assets/data/card_data_3.csv index d8fc88b7..87b9875b 100644 --- a/ColorlessWorld-2024-4-2/Assets/data/card_data_3.csv +++ b/ColorlessWorld-2024-4-2/Assets/data/card_data_3.csv @@ -3,3 +3,14 @@ 1002,寰厜,1,1,1,2,0,none,2,5,0,red;red,CardIcon/2 1003,鍏夎緣鏉栧嚮,2,2,1,4_1,0,none;red>3_green>1,1;5_1,9;2_5,0;0_0;0_0_0,red;red;red;red,CardIcon/4_1 1004,鏄熻緣鎶ょ浘,2,2,2,3_2,0,none;red>5,2;2,8;1,2;-2,red;red;red,CardIcon/3_2 +1101,,1,2,1,5_4,0,red>4;red>6,1;25,8;3,0;0_-1;0_1;0_0,red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1102,,1,1,2,5_5,0,red>3,2,7,1;-1;1_0;-1_0,red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1103,,1,1,1,4_1,0,red>1,1,10,0;0_0;0_0_0,red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1104,,1,1,3,3_4,0,red>2,25,8,0;-1,red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1105,,2,2,2,6_5,0,red>2;red>10,1;5,12;2,0;-1;0_-1;-1_-1;0_0,red;red;red;red;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1106,,1,1,1,4_1,0,red>3_green>2,1,8,0;0_0;0_0_0,red;red;green;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1107,,2,2,2,6_7,0,red>7;blue<4,25;4,6;4,0;-1;1;0_0;0_0_0,red;red;red;red;green;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1108,,2,2,2,6_4,0,red>7;green>4,1;4,12;6,0;-1;1;0_1;0_-1,red;red;red;red;green;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1109,,2,2,2,7_3,0,red<15;blue<6,1_25;19,7_8;2,0;-1;1;-2;2;0_0,green;green;red;red;red;red;green,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1110,,1,1,2,3_4,0,red>3,1,6,0;-1,red;red;blue,CardIcon/Sslx_Card_Kamizn_Hudun_v01 +1111,,2,2,0,6_3,0,red>6;blue>2,1;48,6;5,0;1;-1;-2;2;3,None;blue;blue;blue;red;red;red,CardIcon/Sslx_Card_Kamizn_Hudun_v01