From 3bf872366fcad9aa38a54beabff436f0c4ee8bf7 Mon Sep 17 00:00:00 2001 From: yjm484 <171359351@qq.com> Date: Tue, 18 Mar 2025 13:46:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=AA=E7=89=A9=E4=BF=AE=E6=94=B91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Cartoon FX Pack/Demo/Demo.unity.meta | 2 +- .../Assets/GameDate/Enemy/AcidRainCloud.asset | 35 ++ .../GameDate/Enemy/AcidRainCloud.asset.meta | 8 + .../Assets/GameDate/Enemy/Climavista.asset | 35 ++ .../GameDate/Enemy/Climavista.asset.meta | 8 + .../Prefab/EnemyPrefab/AcidRainCloud.prefab | 578 ++++++++++++++++++ .../EnemyPrefab/AcidRainCloud.prefab.meta | 7 + .../Prefab/EnemyPrefab/Climavista.prefab | 578 ++++++++++++++++++ .../Prefab/EnemyPrefab/Climavista.prefab.meta | 7 + .../ContaminatusImmortalis.prefab.meta | 2 +- .../Assets/Scenes/SampleScene.unity | 2 + .../Assets/Scripts/Buff/Buff.cs | 4 + .../Assets/Scripts/Buff/Buff_AcidRain.cs | 30 + .../Assets/Scripts/Buff/Buff_AcidRain.cs.meta | 11 + .../Assets/Scripts/Card/CardEntity.cs | 3 +- .../Assets/Scripts/Enemy/AcidRainCloud.cs | 138 +++++ .../Scripts/Enemy/AcidRainCloud.cs.meta | 11 + .../Assets/Scripts/Enemy/Climavista.cs | 128 ++++ .../Assets/Scripts/Enemy/Climavista.cs.meta | 11 + .../Assets/Scripts/Enemy/EnemyNode.cs | 48 +- .../Assets/Scripts/Enemy/EnemyPool.cs | 9 +- .../Assets/Scripts/Enemy/Thief.cs | 3 +- .../PlayerManager/PlayerStatsManager.cs | 22 +- .../Assets/Scripts/Tool/AbnormalCondition.cs | 2 + .../Assets/Scripts/Tool/MathTool.cs | 10 + .../Assets/Scripts/Tool/Name.cs | 22 +- .../Assets/Scripts/manager/BuffDataManager.cs | 1 + .../Scripts/manager/DestructionManager.cs | 2 +- ...harp-Editor.csproj.AssemblyReference.cache | Bin 139714 -> 134732 bytes 29 files changed, 1694 insertions(+), 23 deletions(-) create mode 100644 ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset create mode 100644 ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset create mode 100644 ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab create mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Cartoon FX Pack/Demo/Demo.unity.meta b/ColorlessWorld-2024-4-2/Assets/Cartoon FX Pack/Demo/Demo.unity.meta index 46533034..2d230918 100644 --- a/ColorlessWorld-2024-4-2/Assets/Cartoon FX Pack/Demo/Demo.unity.meta +++ b/ColorlessWorld-2024-4-2/Assets/Cartoon FX Pack/Demo/Demo.unity.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 <<<<<<<< HEAD:ColorlessWorld-2024-4-2/Assets/Cartoon FX Pack/Demo/Demo.unity.meta -guid: d3da9c55654da2c4a84689fe3ed06fc2 +guid: e296e537eca629849b7c2af153efee64 DefaultImporter: ======== guid: b1a9861072b29ff4b986818e1a6e3b07 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset new file mode 100644 index 00000000..5c21be17 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset @@ -0,0 +1,35 @@ +%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: AcidRainCloud + m_EditorClassIdentifier: + enemyName: AcidRainCloud + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 2 + stepRangeMultiplier: 1 + speed: 2 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 0 + maxHP: 38 + currentHP: 38 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 7 + attackRange: 5 + aoeRange: 2 + maxNumberOfHits: 0 + currentNumberOfHits: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset.meta new file mode 100644 index 00000000..31665ea5 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/AcidRainCloud.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5d77befe00f98245a906ec5f250baf1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset new file mode 100644 index 00000000..62391924 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset @@ -0,0 +1,35 @@ +%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: Climavista + m_EditorClassIdentifier: + enemyName: Climavista + enemyIcon: {fileID: 21300000, guid: bd8f3094e7ef01148bddd857e065ebc3, type: 3} + stepRange: 2 + stepRangeMultiplier: 1 + speed: 2 + maxMoveCoolDown: 0 + currentMoveCoolDown: 0 + shieldValue: 0 + upShieldValue: 0 + maxHP: 40 + currentHP: 40 + sufferDamageMultiply: 1 + colourType: 0 + maxSkillCoolDown: 3 + currentSkillCoolDown: 3 + damageMultiplier: 1 + damage: 0 + attackRange: 6 + aoeRange: 0 + maxNumberOfHits: 0 + currentNumberOfHits: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset.meta b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset.meta new file mode 100644 index 00000000..3b74f036 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/Climavista.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1abe4a11be3b9564db29e30f26b553f0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab new file mode 100644 index 00000000..7c8ab44e --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab @@ -0,0 +1,578 @@ +%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: 4358100366385517192} + - component: {fileID: 8215840690744605514} + m_Layer: 9 + m_Name: AcidRainCloud + 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, 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: 719232722191935980} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, 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.48 + m_Center: {x: 0, y: 0.3, z: 0} +--- !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: a5d77befe00f98245a906ec5f250baf1, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + enemy: {fileID: 0} + rangePool: [] + aoeRangePool: [] + stateText: + jumpHeight: 1 + posCount: 7 + jumpSpeed: 25 + speedCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.00000032782555 + value: 1.0011742 + inSlope: -1.4465826 + outSlope: -1.4465826 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0.7666647 + - serializedVersion: 3 + time: 0.49999422 + value: 0.700547 + inSlope: -0.011173545 + outSlope: -0.011173545 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.0000062 + value: 1.0063303 + inSlope: 1.4297178 + outSlope: 1.4297178 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.36145905 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + enemyType: 0 + enemyScript: 18 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + blockUIBar: {fileID: 0} + enemyUI: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + lasteHp: 0 + anim: {fileID: 4358100366385517192} + meleeAttackSpeed: 4 + meleeAttackSpeedCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + deathVfx: {fileID: 0} + deathParticle: {fileID: 0} + deathParticle_2: {fileID: 0} + canMove: 0 + planAction: 0 +--- !u!95 &4358100366385517192 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 68841ed7bed30c841bf31d58a61fa4e8, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &8215840690744605514 +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: 0d79ad6169a7e3249929c9b64a492eec, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyNode: {fileID: 0} + aimNode: {fileID: 0} + layerMask: + serializedVersion: 2 + m_Bits: 0 + 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.41586685, y: 0.3218321, z: -0.16021955, w: 0.8353494} + m_LocalPosition: {x: 0, y: 0, z: -0.284} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 59.43, y: 0.3, z: 0.1} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.253, y: 0.245} + m_SizeDelta: {x: 1.164, y: 0.6462} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &7371518073400580404 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6494013583369413442} + - component: {fileID: 190055425036644223} + m_Layer: 9 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6494013583369413442 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7371518073400580404} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0.000000029802319, z: 0.000000029802319, w: 1} + m_LocalPosition: {x: -0.25873265, y: -3.6226575, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 719232722191935980} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &190055425036644223 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7371518073400580404} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -696370157 + m_SortingLayer: 2 + m_SortingOrder: -2 + m_Sprite: {fileID: -1806168786, guid: c35a0018a5a9a0a43882902ae09033a5, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 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: 0} + 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} +--- !u!1 &8899859137843901848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 719232722191935980} + - component: {fileID: 5426754587987531663} + - component: {fileID: 8993153691267712734} + m_Layer: 9 + m_Name: Square + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &719232722191935980 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8899859137843901848} + serializedVersion: 2 + m_LocalRotation: {x: 0.41586685, y: 0.3218321, z: -0.16021955, w: 0.8353494} + m_LocalPosition: {x: 0.21, y: 0.675, z: 0.215} + m_LocalScale: {x: 0.13, y: 0.13, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6494013583369413442} + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5426754587987531663 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8899859137843901848} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -696370157 + m_SortingLayer: 2 + m_SortingOrder: -1 + m_Sprite: {fileID: -1272889281, guid: 5b238b3b82e3f2847bc68e382cfc219e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &8993153691267712734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8899859137843901848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f71de549a026fec48b8f116e81d3ff61, type: 3} + m_Name: + m_EditorClassIdentifier: + _camera: {fileID: 0} + maxAnglesX: 0 + minAnglesX: 0 + maxAnglesY: 0 + minAnglesY: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab.meta new file mode 100644 index 00000000..0157a7ea --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/AcidRainCloud.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 589ff9c9fe779f141b239dcae72b5b67 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab new file mode 100644 index 00000000..e9352d01 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab @@ -0,0 +1,578 @@ +%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: 4358100366385517192} + - component: {fileID: -6455832433523655302} + m_Layer: 9 + m_Name: Climavista + 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, 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: 719232722191935980} + - {fileID: 8888823514061126702} + - {fileID: 6503119109324506896} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, 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.48 + m_Center: {x: 0, y: 0.3, z: 0} +--- !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: 1abe4a11be3b9564db29e30f26b553f0, type: 2} + EnemyState: {fileID: 0} + positionX: 3 + positionY: 5 + pasth: [] + oppositePasth: [] + moveType: 0 + enemy: {fileID: 0} + rangePool: [] + aoeRangePool: [] + stateText: + jumpHeight: 1 + posCount: 7 + jumpSpeed: 25 + speedCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.00000032782555 + value: 1.0011742 + inSlope: -1.4465826 + outSlope: -1.4465826 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0.7666647 + - serializedVersion: 3 + time: 0.49999422 + value: 0.700547 + inSlope: -0.011173545 + outSlope: -0.011173545 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.0000062 + value: 1.0063303 + inSlope: 1.4297178 + outSlope: 1.4297178 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.36145905 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + enemyType: 0 + enemyScript: 19 + lineAim: {fileID: 7509110568895175458} + canLineAppre: 1 + disableAttack: {fileID: 0} + enemyUIBar: {fileID: 0} + blockUIBar: {fileID: 0} + enemyUI: {fileID: 0} + followPoint: {fileID: 8888823514061126702} + bone: {fileID: 0} + bone_Re: {fileID: 0} + lasteHp: 0 + anim: {fileID: 4358100366385517192} + meleeAttackSpeed: 4 + meleeAttackSpeedCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 34 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + deathVfx: {fileID: 0} + deathParticle: {fileID: 0} + deathParticle_2: {fileID: 0} + canMove: 0 + planAction: 0 +--- !u!95 &4358100366385517192 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1253231568001379261} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 68841ed7bed30c841bf31d58a61fa4e8, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &-6455832433523655302 +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: b46e9eb3a752a3e4eb4c052abe78f82a, type: 3} + m_Name: + m_EditorClassIdentifier: + enemyNode: {fileID: 0} + aimNode: {fileID: 0} + layerMask: + serializedVersion: 2 + m_Bits: 0 + 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.41586685, y: 0.3218321, z: -0.16021955, w: 0.8353494} + m_LocalPosition: {x: 0, y: 0, z: -0.284} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 59.43, y: 0.3, z: 0.1} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -0.253, y: 0.245} + m_SizeDelta: {x: 1.164, y: 0.6462} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &7371518073400580404 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6494013583369413442} + - component: {fileID: 190055425036644223} + m_Layer: 9 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6494013583369413442 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7371518073400580404} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0.000000029802319, z: 0.000000029802319, w: 1} + m_LocalPosition: {x: -0.25873265, y: -3.6226575, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 719232722191935980} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &190055425036644223 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7371518073400580404} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -696370157 + m_SortingLayer: 2 + m_SortingOrder: -2 + m_Sprite: {fileID: -1806168786, guid: c35a0018a5a9a0a43882902ae09033a5, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 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: 0} + 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} +--- !u!1 &8899859137843901848 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 719232722191935980} + - component: {fileID: 5426754587987531663} + - component: {fileID: 8993153691267712734} + m_Layer: 9 + m_Name: Square + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &719232722191935980 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8899859137843901848} + serializedVersion: 2 + m_LocalRotation: {x: 0.41586685, y: 0.3218321, z: -0.16021955, w: 0.8353494} + m_LocalPosition: {x: 0.21, y: 0.675, z: 0.215} + m_LocalScale: {x: 0.13, y: 0.13, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6494013583369413442} + m_Father: {fileID: 4276721484070507378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5426754587987531663 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8899859137843901848} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -696370157 + m_SortingLayer: 2 + m_SortingOrder: -1 + m_Sprite: {fileID: -1272889281, guid: 5b238b3b82e3f2847bc68e382cfc219e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &8993153691267712734 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8899859137843901848} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f71de549a026fec48b8f116e81d3ff61, type: 3} + m_Name: + m_EditorClassIdentifier: + _camera: {fileID: 0} + maxAnglesX: 0 + minAnglesX: 0 + maxAnglesY: 0 + minAnglesY: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab.meta new file mode 100644 index 00000000..2562826f --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/Climavista.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 58d538ffd37498c4b945bf5571921770 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/ContaminatusImmortalis.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/ContaminatusImmortalis.prefab.meta index 46533034..0b2ac79b 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/ContaminatusImmortalis.prefab.meta +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/EnemyPrefab/ContaminatusImmortalis.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 <<<<<<<< HEAD:ColorlessWorld-2024-4-2/Assets/Cartoon FX Pack/Demo/Demo.unity.meta -guid: d3da9c55654da2c4a84689fe3ed06fc2 +guid: fea8464e11541914b9dab281eb387c5b DefaultImporter: ======== guid: b1a9861072b29ff4b986818e1a6e3b07 diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity index 006f0160..c50dc8c2 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity @@ -37308,6 +37308,8 @@ MonoBehaviour: m_EditorClassIdentifier: openList: [] closeList: [] + startList: [] + nodeList: [] --- !u!1 &1495035683 GameObject: m_ObjectHideFlags: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs index 89766316..19e7b129 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff.cs @@ -36,6 +36,10 @@ public class Buff } + public virtual void Use() + { + + } public virtual void UIShow(GameObject buff, string key) { if (icon != null) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs new file mode 100644 index 00000000..6e2cbcb3 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class Buff_AcidRain : Buff +{ + public override void Settle() + { + + } + + + + public override void SettleEnemy(EnemyNode enemyNode) + { + + + + } + + + public override Buff NewBuff(int value) + { + Buff buff = new Buff_AcidRain(); + buff.value = value; + buff.icon = BuffDataManager.Instance.LoadImage(iconPath + "Sslx_Ui_Buff_liuxue_v01"); + return buff; + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs.meta new file mode 100644 index 00000000..a042ca33 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Buff/Buff_AcidRain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 18ad1b67159b4de448bba9ada029dbc6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs index daa49b69..de0f68e5 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs @@ -104,6 +104,7 @@ public class CardEntity : MonoBehaviour int lastCost; public int currentCost; public string currentCostType; + public bool tempIsDisposable=true; private void Start() { currentCost = cardOriginalData.Cost; @@ -1052,7 +1053,7 @@ public class CardEntity : MonoBehaviour StringBuilder sb = new StringBuilder(); - Name.CreateCardDescription(sb, cardOriginalData); + Name.CreateCardDescription(sb, cardOriginalData,this); Debug.Log("卡牌"+cardOriginalData.CardId+"描述是:" + sb); cardDescription.text = sb.ToString(); // cardDescription.text= Replace( sb.ToString()); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs new file mode 100644 index 00000000..8b543c3b --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +public class AcidRainCloud : Enemy +{ + + + + private void Start() + { + enemyNode = GetComponent(); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shootAndPollute), 0.4f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.attack), 0.6f); + enemyNode.sufferAbnormalCondition(AbnormalCondition.acidRain, 1); + } + + private void Update() + { + + } + + private void OnEnable() + { + + + } + public override IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyAction_ShootAndPollute: + yield return StartCoroutine(PolluteAction()); + break; + case EnemyActionAction_Attack: + yield return StartCoroutine(MeleeAttackAction()); + break; + } + + } + + public override IEnumerator MeleeAttackAction() + { + MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); + HashSet targetSet=new HashSet { GameManager.Instance.playerOn }; + getNodeTools.getCircleNodeForEnemy(targetSet, 1); + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + yield return StartCoroutine(enemyNode.MeleeAttackAim()); + // enemyNode.anim.SetTrigger("MeleeAttack"); + // yield return new WaitForSeconds(0.5f); + AttackDamage(enemyNode.EnemyState.damage, 1); + RandomTurnHandCardTempIsDisposable(1); + } + } + else + { + yield return StartCoroutine(moveTowardsPlayer()); + yield return new WaitForSeconds(1); + currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); + if (getNodeTools.canRemoteAttack(currentNode, enemyNode.EnemyState.attackRange)) + { + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + yield return StartCoroutine(enemyNode.MeleeAttackAim()); + // enemyNode.anim.SetTrigger("MeleeAttack"); + // yield return new WaitForSeconds(0.5f); + AttackDamage(enemyNode.EnemyState.damage, 1); + RandomTurnHandCardTempIsDisposable(1); + } + } + } + } + + public void RandomTurnHandCardTempIsDisposable(int num) + { + HashSet < CardEntity > targetSet= MathTool.GetRandomElements(new HashSet(TurnMaster.Instance.handCard.cardEntityList), num); + foreach(CardEntity cardEntity in targetSet) + { + cardEntity.tempIsDisposable = false; + } + } + public IEnumerator ThrowAttackAction(int count) + { + int range = 2; + MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); + if (currentNode.whoColour == Name.NodeColor.Black) + { + range = 3; + } + if (!enemyNode.EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.disarm)) + { + //yield return StartCoroutine(enemyNode.MeleeAttackAim()); + // enemyNode.anim.SetTrigger("MeleeAttack"); + // yield return new WaitForSeconds(0.5f); + AoeDamage(getNodeTools.getNodesCount(Name.Color.Black), count, GameManager.Instance.playerOn, range); + } + yield return null; + } + + + public IEnumerator PolluteAction() + { + AttackDamage(5,1); + RandomPollute(getNodeTools.getAllNotBlackNodes(), 6); + yield return new WaitForSeconds(0.5f); + } + + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs.meta new file mode 100644 index 00000000..a252ff9b --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/AcidRainCloud.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d79ad6169a7e3249929c9b64a492eec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs new file mode 100644 index 00000000..b998f326 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEngine.UIElements; + +public class Climavista : Enemy +{ + + + + private void Start() + { + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.shield), 0.7f); + actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.random), 0.3f); + } + + private void Update() + { + + } + + private void OnEnable() + { + + + } + public override IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 + { + Debug.Log("真正行动是:" + enemyAction); + switch (enemyAction) + { + case EnemyActionAction_Shield: + yield return StartCoroutine(ShieldAction()); + break; + case EnemyActionAction_Random: + yield return StartCoroutine(SummonAction()); + break; + } + + } + + public override IEnumerator ShieldAction() + { + int minHp = 100; + int index = 0; + for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++) + { + if ((int)EnemyManager.Instance.enemySpeedSortingList[i].EnemyState.currentHP < minHp) + { + minHp = (int)EnemyManager.Instance.enemySpeedSortingList[i].EnemyState.currentHP; + index = i; + } + } + EnemyManager.Instance.enemySpeedSortingList[index].EnemyState.shieldValue += EnemyManager.Instance.enemySpeedSortingList[index].ShieldCalculation(15); + yield return new WaitForSeconds(0.5f); + } + + public void RandomTurnHandCardTempIsDisposable(int num) + { + HashSet < CardEntity > targetSet= MathTool.GetRandomElements(new HashSet(TurnMaster.Instance.handCard.cardEntityList), num); + foreach(CardEntity cardEntity in targetSet) + { + cardEntity.tempIsDisposable = false; + } + } + public IEnumerator SummonAction() + { + GameObject target= null; + MapUnity currentNode = getNodeTools.LocationToGetNode(enemyNode.positionX, enemyNode.positionY); + HashSet set = new HashSet { GameManager.Instance.playerOn }; + getNodeTools.getCircleNode(set, 1); + HashSet targetSet = MathTool.GetRandomElements(set,1); + MapUnity enemyMapunity=targetSet.ElementAt(0); + for (int i = 0; i < EnemyManager.Instance.enemySpeedSortingList.Count; i++) + { + if (EnemyManager.Instance.enemySpeedSortingList[i].enemyScript==EnemyNode.EnemyScript.AcidRainCloud) + { + target = EnemyManager.Instance.enemySpeedSortingList[i].GetComponent(); + } + } + if (target == null||enemyMapunity==null) + { + yield return null; + } + var currentenemy = Instantiate(target, this.transform.position, this.transform.rotation); + EnemyNode newEnemyNode = currentenemy.GetComponent(); + newEnemyNode.positionX = enemyMapunity.locationX; + newEnemyNode.positionY = enemyMapunity.locationY; + MapUnity newNode = getNodeTools.LocationToGetNode(newEnemyNode.positionX, newEnemyNode.positionY); + newNode.enemyNode = newEnemyNode; + yield return null; + } + + + public IEnumerator PolluteAction() + { + AttackDamage(5,1); + RandomPollute(getNodeTools.getAllNotBlackNodes(), 6); + yield return new WaitForSeconds(0.5f); + } + + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs.meta new file mode 100644 index 00000000..85d9a197 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Climavista.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b46e9eb3a752a3e4eb4c052abe78f82a +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 5c7a0aa7..0bf9a3a7 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyNode.cs @@ -100,7 +100,9 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver Pollutinel, ContaminatusImmortalis, Leviathan, - StonePillar + StonePillar, + AcidRainCloud, + Climavista } [Header("意图行动")] @@ -796,6 +798,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver public virtual void OnDeath() { DeathVfxCal(); + enemyReward(); //enemy.OnDeath();dev-1217保留 if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.boomAndPollute)) @@ -853,6 +856,40 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } + + //逃跑 + public virtual void RunAway() + { + DeathVfxCal(); + + + switch (enemyType) + { + case EnemyType.enemy: + currentActionScript.FadeAttackRangeAll(this); + rangePool.Clear(); + EnemyManager.Instance.statePanel.SetActive(false); + RewardManager.Instance.JudgeEnemyOver(); + Destroy(this.gameObject); + break; + case EnemyType.block: + GetComponent().OnDeath(); + break; + } + + } + + public void enemyReward() + { + if (enemyScript == EnemyScript.Pharmacist) + { + + } + if (enemyScript == EnemyScript.Thief) + { + + } + } //死亡特效 public void DeathVfxCal() { @@ -1199,6 +1236,7 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver thornCal(); } bleedRealize(); + acidRainRealize(); int trueDamage = SufferDamageCalculation(damageVal); if (trueDamage > EnemyState.shieldValue) { @@ -1287,6 +1325,14 @@ public class EnemyNode : MonoBehaviour,IEnemyObserver } } + public void acidRainRealize() + { + if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.acidRain)) + { + enemy.RandomPollute(getNodeTools.getAllNotBlackNodes(), 3); + } + + } public void bleedRealize() { if (EnemyState.abnormalCondition.ContainsKey(AbnormalCondition.bleed)) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs index febd7bde..8b21a101 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs @@ -25,10 +25,11 @@ public class EnemyPool : MonoBehaviour public static Dictionary, float> eliteEnemyPool = new Dictionary, float>() { - { new List { Name.EnemyName.Pollutinel,Name.EnemyName.Pollutinel, Name.EnemyName.ContaminatusImmortalis}, 0.25f }, - { new List { Name.EnemyName.Gravitus,Name.EnemyName.PollutionSpreader, Name.EnemyName.PollutionSpreader}, 0.25f }, - { new List { Name.EnemyName.Twinbee,Name.EnemyName.ReconnaissanceBee, Name.EnemyName.ReconnaissanceBee, Name.EnemyName.Thief}, 0.25f }, - { new List { Name.EnemyName.ContaminatusImmortalis, Name.EnemyName.ContaminatusImmortalis, Name.EnemyName.PrismReflector}, 0.25f } + { new List { Name.EnemyName.Pollutinel,Name.EnemyName.Pollutinel, Name.EnemyName.ContaminatusImmortalis}, 0.2f }, + { new List { Name.EnemyName.Gravitus,Name.EnemyName.PollutionSpreader, Name.EnemyName.PollutionSpreader}, 0.2f }, + { new List { Name.EnemyName.Twinbee,Name.EnemyName.ReconnaissanceBee, Name.EnemyName.ReconnaissanceBee, Name.EnemyName.Thief}, 0.2f }, + { new List { Name.EnemyName.Climavista, Name.EnemyName.AcidRainCloud, Name.EnemyName.AcidRainCloud}, 0.2f }, + { new List { Name.EnemyName.ContaminatusImmortalis, Name.EnemyName.ContaminatusImmortalis, Name.EnemyName.PrismReflector}, 0.2f } }; public static Dictionary, float> bossEnemyPool = new Dictionary, float>() diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs index 8f4ead78..303aba53 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Thief.cs @@ -31,8 +31,7 @@ public class Thief : Enemy { if (aliveCount == 3) { - actionPool.Clear(); - actionPool.Add(EnemyPlanUIManager.Instance.NewAction(EnemyPlanUIFunction.nothing), 1.0f); + enemyNode.RunAway(); } } public override IEnumerator JudgeActionCoroutine()//等移动到位置就判断是否还能走 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs index 9562417f..e91c87f0 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs @@ -54,17 +54,17 @@ public class PlayerStatsManager : Singleton //选项效果==加一个同步UI的订阅系统 public void EffectFunction(int functionIndex, string amount) { - switch (functionIndex) + switch (functionIndex.ToString()) { //加钱 - case 1: + case Name.Reward.Money: gainMoney(int.Parse ( amount)); BroadCastSyncMoneyText();//同步UI //声音 AudioManager.Instance.GainMoneyVoicePlayer(); break; //加血 - case 2: + case Name.Reward.Hp: playerState.currentHP += int.Parse(amount); if (playerState.currentHP > playerState.maxHP) { @@ -73,42 +73,42 @@ public class PlayerStatsManager : Singleton break; //加牌-非战斗中 - case 3: + case Name.Reward.Card: cardDeck.cardDeckList.Add(amount); Debug.Log("获得卡牌:" + amount); break; //加遗物 - case 4: + case Name.Reward.LegacyNode: LegacyManager.Instance.CreateLegacyClassAsNew(amount); Debug.Log("获得遗物:" + amount); break; //随机加遗物 - case 5: + case Name.Reward.RandomLegacyNode: string className = LegacyManager.Instance.getRandomRelicForCommon(int.Parse(amount)).ElementAt(0); LegacyManager.Instance.CreateLegacyClassAsNew(className) ; Debug.Log("获得遗物:" + className); break; //打印tips - case 6: + case Name.Reward.Tip: TipManager.Instance.SendTip(amount); break; //加锻造点 - case 7: + case Name.Reward.ForgingPoint: playerState .forgingPoint += int.Parse(amount); Debug.Log("获得锻造点:" + amount); break; //加移动力 - case 8: + case Name.Reward.CurrentStepRange: playerState.currentStepRange += int.Parse(amount); Debug.Log("获得移动力:" + amount); break; //加费用 - case 9: + case Name.Reward.CurrentCost: playerState.currentCost += int.Parse(amount); Debug.Log("获得费用:" + amount); break; //加药水 - case 10: + case Name.Reward.Potion: potionList.potionList.Add(amount); PotionManager.Instance.ReflashPotionFromHaven(); Debug.Log("获得药水:" + amount); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs index 9281cec5..273d3ecf 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/AbnormalCondition.cs @@ -111,6 +111,8 @@ public class AbnormalCondition : Singleton public const string Invisible = "96"; //石肤 public const string stoneSkin = "97"; + //酸雨 + public const string acidRain = "98"; public static readonly List canNegativeNumberList = new List { angerUpperDamage, shieldUpperValue, addDrawCard }; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs index 03e3bc98..2e4261ca 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/MathTool.cs @@ -298,6 +298,16 @@ public class MathTool return new HashSet(set.OrderBy(x => rand.Next()).Take(a)); } + public static HashSet GetRandomElements(HashSet set, int a) + { + System.Random rand = new System.Random(); + if (a >= set.Count) + { + return new HashSet(set); + } + return new HashSet(set.OrderBy(x => rand.Next()).Take(a)); + } + public static HashSet GetRandomElements(HashSet set, int a) { System.Random rand = new System.Random(); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs index af9c6204..f541792b 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Name.cs @@ -39,6 +39,8 @@ public static class Name public const string ContaminatusImmortalis = "ContaminatusImmortalis"; public const string Leviathan = "Leviathan"; public const string StonePillar = "StonePillar"; + public const string Climavista = "Climavista"; + public const string AcidRainCloud = "AcidRainCloud"; } public const string value = "value"; @@ -94,7 +96,20 @@ public static class Name } - public static void CreateCardDescription(StringBuilder sb,CardOriginalData cardOriginalData) + public static class Reward + { + public const string Money = "1"; + public const string Hp = "2"; + public const string Card = "3"; + public const string LegacyNode = "4"; + public const string RandomLegacyNode = "5"; + public const string Tip = "6"; + public const string ForgingPoint = "7"; + public const string CurrentStepRange = "8"; + public const string CurrentCost = "9"; + public const string Potion = "10"; + } + public static void CreateCardDescription(StringBuilder sb,CardOriginalData cardOriginalData,CardEntity cardEntity) { bool isFirst = true; foreach (KeyValuePair kvp in cardOriginalData.commonFunctionVal) @@ -113,6 +128,11 @@ public static class Name } getSingleDescription(sb, kvp); } + if(!cardEntity.tempIsDisposable||!cardOriginalData + .IsDisposable) + { + sb.Append(",消耗"); + } /*foreach (KeyValuePair> kvp in cardOriginalData.conditionAndFunctionVal) { if (!kvp.Key.Equals(none)) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs index c792be99..9f7b1487 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/BuffDataManager.cs @@ -58,6 +58,7 @@ public class BuffDataManager : Singleton abnormalCondition.Add("93", new Buff_Calm()); abnormalCondition.Add("96", new Buff_Invisible()); abnormalCondition.Add("97", new Buff_StoneSkin()); + abnormalCondition.Add("98", new Buff_AcidRain()); abnormalCondition.Add("106", new Buff_flashPoint()); diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs index 4fd7b4ad..4cb6ad6f 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/DestructionManager.cs @@ -12,7 +12,7 @@ public class DestructionManager : Singleton // Start is called before the first frame update public IEnumerator destoryAndUseCard(GameObject target, CardOriginalData cardOriginalData, HashSet influencePreviewPool, int cardIndex,MapUnity targetNode) { - if (!cardOriginalData.IsDisposable) + if (!cardOriginalData.IsDisposable&&!target.GetComponent().tempIsDisposable) { TurnMaster.Instance.usedCard.usedCardList.Add(target.GetComponent().CardId); } diff --git a/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache b/ColorlessWorld-2024-4-2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache index dc8057a1798a151d20d8e614e47ded7c4dc72f60..affcc8f2f056be7d0b5f45d84087e7f0ef1feff2 100644 GIT binary patch literal 134732 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 literal 139714 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 F{|8|8tOx)A