From c61ccb46a59fcadc9503b82138a1b7a5d8b73c20 Mon Sep 17 00:00:00 2001 From: NTG Date: Tue, 28 Nov 2023 22:45:40 +0900 Subject: [PATCH] =?UTF-8?q?$43=20FieldBoss01=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + FieldBoss01 BT 구현 + FieldBoss01가 사용하는 스킬(LineRush, LavaEruption, BigLavaEruption, VolcanicEruption) 추가 + 보스 전용 HpSlider 추가 --- .../Assets/01.Scenes/03.Stage_Test.unity | 410 +++++++++++++++++- .../03.Stage_Test/NavMesh-StageMap.asset | Bin 12796 -> 13292 bytes .../Task/Enemy/Action/ExecuteSkill.cs | 33 ++ .../Task/Enemy/Action/ExecuteSkill.cs.meta | 11 + .../Variable/Set/CompareSharedFloat2.cs | 65 +++ .../Variable/Set/CompareSharedFloat2.cs.meta | 11 + .../Variable/Set/ReturnSuccessAction.cs | 14 + .../Variable/Set/ReturnSuccessAction.cs.meta | 11 + .../Variable/Set/SetSharedIntPlus.cs | 26 ++ .../Variable/Set/SetSharedIntPlus.cs.meta | 11 + .../Enemy/Type/FieldBoss/FieldBoss.cs | 79 +++- .../Enemy/Type/FieldBoss/Type/FieldBoss01.cs | 42 +- .../Skill/ActiveSkill/ActiveSkill.cs | 8 +- .../Skill/ActiveSkill/Type/IceAge.cs | 8 +- .../Skill/ActiveSkill/Type/LavaEruption.cs | 36 +- .../Skill/ActiveSkill/Type/LineRush.cs | 64 ++- .../ActiveSkill/Type/VolcanicEruption.cs | 84 ++++ .../ActiveSkill/Type/VolcanicEruption.cs.meta | 11 + .../Skill/Data/So/ActiveSkillDataSo.asset | 2 + .../Enemies/FieldBosses/FieldBoss01.prefab | 16 +- .../05.Prefabs/HpSliders/EnemyHpSlider.prefab | 20 + .../HpSliders/PlayerHpSlider.prefab | 20 + .../ActiveSkills/BigLavaEruption.prefab | 121 ++++++ .../ActiveSkills/BigLavaEruption.prefab.meta | 7 + .../Skills/ActiveSkills/IceAge.prefab | 12 +- .../Skills/ActiveSkills/LavaEruption.prefab | 16 +- .../Skills/ActiveSkills/LineRush.prefab | 14 +- .../ActiveSkills/VolcanicEruption.prefab | 121 ++++++ .../ActiveSkills/VolcanicEruption.prefab.meta | 7 + .../Particles/LiquidExplosionLava.prefab | 2 +- .../09.BehaviorTree/Enemy/FieldBoss01.asset | 26 +- 31 files changed, 1211 insertions(+), 97 deletions(-) create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs.meta create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs.meta create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs.meta create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs create mode 100644 BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs.meta create mode 100644 BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs create mode 100644 BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs.meta create mode 100644 BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab create mode 100644 BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab.meta create mode 100644 BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab create mode 100644 BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab.meta diff --git a/BlueWater/Assets/01.Scenes/03.Stage_Test.unity b/BlueWater/Assets/01.Scenes/03.Stage_Test.unity index e4100ab03..d62b56c34 100644 --- a/BlueWater/Assets/01.Scenes/03.Stage_Test.unity +++ b/BlueWater/Assets/01.Scenes/03.Stage_Test.unity @@ -122,6 +122,185 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1001 &6958519 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1063731841} + m_Modifications: + - target: {fileID: 6935276923615949947, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_SizeDelta.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 6935276923615949947, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161161, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Value + value: 38.3 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_SizeDelta.x + value: 550 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_SizeDelta.y + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalScale.x + value: 1.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalScale.y + value: 2.4999998 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalScale.z + value: 4.9999995 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_ConstrainProportionsScale + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161207, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Name + value: FieldBossHpSlider + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279574, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279574, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 6935276924355341542, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + insertIndex: 1 + addedObject: {fileID: 606152253} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 27422d4ba1ec18843b41367444c27888, type: 3} +--- !u!224 &6958520 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + m_PrefabInstance: {fileID: 6958519} + m_PrefabAsset: {fileID: 0} +--- !u!224 &6958521 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6935276924355341542, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + m_PrefabInstance: {fileID: 6958519} + m_PrefabAsset: {fileID: 0} --- !u!1 &26417291 GameObject: m_ObjectHideFlags: 0 @@ -2213,6 +2392,215 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 09ed14b0db9527c488698baff3a23352, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1001 &606152252 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 6958521} + m_Modifications: + - target: {fileID: 3117305648944083602, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276923615949944, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276923615949947, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_SizeDelta.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 6935276923615949947, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276924355341560, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_SizeDelta.x + value: 550 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_SizeDelta.y + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 7.1249886 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_ConstrainProportionsScale + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925009161207, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Name + value: DamageEffectSlider + objectReference: {fileID: 0} + - target: {fileID: 6935276925344686068, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925344686068, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925344686068, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279529, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Color.b + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279529, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Color.g + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279529, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_Color.r + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279574, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6935276925499279574, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 27422d4ba1ec18843b41367444c27888, type: 3} +--- !u!224 &606152253 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6935276925009161206, guid: 27422d4ba1ec18843b41367444c27888, + type: 3} + m_PrefabInstance: {fileID: 606152252} + m_PrefabAsset: {fileID: 0} --- !u!1 &744195804 GameObject: m_ObjectHideFlags: 0 @@ -2566,7 +2954,7 @@ MonoBehaviour: m_Center: {x: 0, y: 2, z: 0} m_LayerMask: serializedVersion: 2 - m_Bits: 8 + m_Bits: 2097160 m_UseGeometry: 0 m_DefaultArea: 0 m_GenerateLinks: 0 @@ -2596,7 +2984,7 @@ GameObject: - component: {fileID: 949778309} - component: {fileID: 949778308} - component: {fileID: 949778307} - m_Layer: 3 + m_Layer: 21 m_Name: Obstacle (1) m_TagString: Untagged m_Icon: {fileID: 0} @@ -2949,7 +3337,6 @@ GameObject: - component: {fileID: 1052315036} - component: {fileID: 1052315035} - component: {fileID: 1052315034} - - component: {fileID: 1052315037} m_Layer: 3 m_Name: Ground m_TagString: Untagged @@ -3044,18 +3431,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1052315032} m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!210 &1052315037 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1052315032} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_SortAtRoot: 0 --- !u!1 &1058417085 GameObject: m_ObjectHideFlags: 0 @@ -3183,6 +3558,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 393497261} + - {fileID: 6958520} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -4078,7 +4454,7 @@ GameObject: - component: {fileID: 1363690291} - component: {fileID: 1363690287} - component: {fileID: 1363690290} - m_Layer: 3 + m_Layer: 21 m_Name: Obstacle m_TagString: Untagged m_Icon: {fileID: 0} @@ -5469,7 +5845,7 @@ PrefabInstance: - target: {fileID: 9062185183980613901, guid: 211c62e69325b584bb719f236f0e2d5c, type: 3} propertyPath: m_LocalPosition.x - value: 1.49 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9062185183980613901, guid: 211c62e69325b584bb719f236f0e2d5c, type: 3} diff --git a/BlueWater/Assets/01.Scenes/03.Stage_Test/NavMesh-StageMap.asset b/BlueWater/Assets/01.Scenes/03.Stage_Test/NavMesh-StageMap.asset index e44faa4afb09f3b44cf695fc089cdb58796a6351..4a7d50f35c200042ba825e2db9ecda122c0274aa 100644 GIT binary patch delta 3641 zcma)8Z){Ul6u@4N544m94RedpYB z?z!jP^E>zVZmzksw)bA=yh|U&_6D8)Dt;!ofR6`#TnjCC?dUtjp9{V2En@SSmmMWr z1-~8&1iodAtx7+c3DEQQ#KZ)@8jEYkNg2e7#o@WJrI{1?Ej>NQdwaAd$c#Cdlex%+ zF{jRSzOH%>g=G#SY{2nyOCkBww`!?H~pgYxFBMp3r^tLmFFp z%mipN#`^m{P2o8)aV2$rv`8e<*4ldP%C8m41YObM>0Y&A36^P{`+$Q%n0M7>2P zEt)K^diu?LCetnE=g-@mKXQ17SZkMQGk$nRc$qu{q%4P9mnY&N)ouJNtBcVAi2*x2 zVS|j}yS9O-+rjhNq83 z&ky+)+A&VfgjIPA|Auk+&_I&`uFZCgk9@T=4QK+_AMWoLatpyy$+b0aypUg#=}y6k zlssWs$V)TbHW{62;eBnZr&$HXh8Fg{cgWa`ry`+JKuQfSe~JL)pfV^}y9h`GQa&7+ zQA=K`a;OLn8D`~*ayWT=qTJG@-@_Ygqbn83psy5vKqd!_G!p-3Hrx>4W;GVp{l;AddVLmkPO7k!xZ7&W2^nsw{+ z5N_~57+FEgs%lyx!82uS3XGz6g+PDU2J8Kll4kE{-D)z}DPmUT#5}swEP=`ymxHTU<*JEo-@1paQ{6|-f z!;3!z1R+L=M!l?yj#m=uAlbM+JJhtk_ixvRXFjN?tgpXvI|s*`7d>qr7qj|m>1uCQ_)EhkXYlz#|8DK z*EUDIsl$e7@O0CPVgo-Y-Q?c2_p6h6bgaWr*`O`db%7R}+*;Jv0cu~X`>G^^UgTqscH~94&-P$QXocF=wdYOXjdz z1bUb9r6>4U!cbOM?>3F(d>& zm3mYhk=>5Iv2@wf;A82Z6O9IipAGsWfBcr;*BSqLUnZkDSwV5lpttxs2GFg${{pbZQ8W4!PGQuz!;MfkRnM9 z&*%q`NGOXXkfyPXTHAhTn?^;`KU~u^h{ncGrb$iu#RQdvnrPZ8_MG4Do4dz>pE}9j z&hE_4?#%pl_T7BP;@**B*M`M&rJoeKiq^^>3!j#^3Uj3=xYhl^z>I7QzMEr;sK^l) zNEVQHgT7~54Iy^MUW)sK5ciXsh!rks*>;byX}7_Ffh)vbhP|fH2LJkSc>44y@0F1O zPeXk)3SRCH1)>I7aAP6Jf;|`g3PIZ`TW;dE3X9~lJk{5IUO=9 zXXULDdwCIKQ%k@d+)5KOM=%8%4q^`YvvHf670)XZ9dD!M@q9DI3_=OO5yU z*yF(g5Brv&DKRbbeufm)f^vF^N6F42_mnFe7C@H%vLF0$zLbdv|N@BF)Mh)DwQ}A61h?iLJm#L zAgLhCaR6AJO`-KTEYN{cN!eW)lz&&}%bB2$l2a!h7L*zcjn za=6e-jo1G}>wkBQiB<9zdp(j5{mu56)`?${LsoE8{{63(51uTjFMF+BqV2wSGQY8+tPc38MqHZ7*|T65~?3#nH;x{ApjLqxF0CR zC&Y-lj|!D!&zW* zvsAO3^;@e8x+Fs6Q$r8Rqvn(ADoXmD=cfy*Dl2@UOR0GH$o$S7Ju$A(;JJ!VPV}Yt z!GW2S&goOLG3KOGQJygY5`w!Hh?^G$e^An*SSt>WGP&xH^A$V zE4P$9Dod-)g4~oXa>mNCi^wB}ODf%qoJIAp7!0F_nOP?5O9v1=i4?4ulpQ@hehi!hbzmj28C(C!qO_H|2Jqk zb`UH5FNoxoEv*s(rE0IDK-2r8p3&>yMLzXS9qOLnwk^7S*EhG%->SW7=DWm9Y%+9s PQ+xZhjdf8u8x8*l^h~Hs diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs new file mode 100644 index 000000000..c6cd0ccc5 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs @@ -0,0 +1,33 @@ +using System; +using BehaviorDesigner.Runtime; +using BehaviorDesigner.Runtime.Tasks; +using UnityEngine; +using Action = BehaviorDesigner.Runtime.Tasks.Action; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + [TaskCategory("Custom/FieldBossAction")] + [Serializable] + public class ExecuteSkill : Action + { + [SerializeField] private SharedInt skillIndex; + + private FieldBoss fieldBoss; + + public override void OnAwake() + { + fieldBoss = GetComponent(); + } + + public override void OnStart() + { + fieldBoss.ExecuteActiveSkill(fieldBoss.GetActiveSkillList()[skillIndex.Value]); + } + + public override TaskStatus OnUpdate() + { + return fieldBoss.GetSkillCoroutine() ? TaskStatus.Running : TaskStatus.Success; + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs.meta b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs.meta new file mode 100644 index 000000000..f1713184a --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/ExecuteSkill.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c9b64cd5f655e1419328819eff1267f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs new file mode 100644 index 000000000..af12a1b1d --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs @@ -0,0 +1,65 @@ +using System; +using BehaviorDesigner.Runtime; +using BehaviorDesigner.Runtime.Tasks; +using UnityEngine; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public enum Inequality + { + NONE = 0, + LESS_THEN, + LESS_THEN_OR_EQUAL_TO, + GREATER_THEN, + GREATER_THEN_OR_EQUAL_TO + } + + [TaskCategory("Common")] + [Serializable] + public class CompareSharedFloat2 : Conditional + { + [RequiredField] + public SharedFloat variable; + + [Header("비교값 float 설정")] + public float compareTo; + + [Header("부등호 설정 - Tooltip 참고")] + [BehaviorDesigner.Runtime.Tasks.Tooltip("LessThen : variable < compareTo\n" + + "LessThenOrEqualTo : variable <= compareTo\n" + + "GreaterThen : variable > compareTo\n" + + "GreaterThenOrEqualTo : variable < compareTo\n")] + public Inequality inequality; + + /// + /// 비교 값이 true면 Success, false면 Running + /// + public override TaskStatus OnUpdate() + { + return CompareInequality(variable.Value) ? TaskStatus.Success : TaskStatus.Failure; + } + + public override void OnReset() + { + compareTo = 0; + } + + /// + /// 부등호 선택에 따른 bool값 리턴 + /// + /// + private bool CompareInequality(float value) + { + return inequality switch + { + Inequality.NONE => throw new Exception("부등호 미설정 오류"), + Inequality.LESS_THEN => value < compareTo, + Inequality.LESS_THEN_OR_EQUAL_TO => value <= compareTo, + Inequality.GREATER_THEN => value > compareTo, + Inequality.GREATER_THEN_OR_EQUAL_TO => value >= compareTo, + _ => throw new ArgumentOutOfRangeException() + }; + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs.meta b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs.meta new file mode 100644 index 000000000..c1fcc2900 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/CompareSharedFloat2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 03f2c712e2cc21949aedb5bc749081f9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs new file mode 100644 index 000000000..ecfb51914 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs @@ -0,0 +1,14 @@ +using BehaviorDesigner.Runtime.Tasks; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + [TaskCategory("Common")] + public class ReturnSuccessAction : Action + { + public override TaskStatus OnUpdate() + { + return TaskStatus.Success; + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs.meta b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs.meta new file mode 100644 index 000000000..080b9ca2e --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/ReturnSuccessAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 424f221338d80c54fb78300f4e166c31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs new file mode 100644 index 000000000..4c0b954de --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs @@ -0,0 +1,26 @@ +using BehaviorDesigner.Runtime; +using BehaviorDesigner.Runtime.Tasks; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + [TaskCategory("Common")] + public class SetSharedIntPlus : Action + { + [RequiredField] + public SharedInt targetVariable; + + public override TaskStatus OnUpdate() + { + targetVariable.Value++; + + return TaskStatus.Success; + } + + public override void OnReset() + { + targetVariable = 0; + } + } +} + diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs.meta b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs.meta new file mode 100644 index 000000000..f73586748 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Variable/Set/SetSharedIntPlus.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 479d4b87b0bc757488fc17e11253afea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/FieldBoss.cs b/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/FieldBoss.cs index dc48dfa2f..109eca9eb 100644 --- a/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/FieldBoss.cs +++ b/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/FieldBoss.cs @@ -1,7 +1,10 @@ +using System; +using System.Collections; using System.Collections.Generic; using BehaviorDesigner.Runtime; using Sirenix.OdinInspector; using UnityEngine; +using UnityEngine.UI; // ReSharper disable once CheckNamespace namespace BlueWaterProject @@ -27,12 +30,21 @@ namespace BlueWaterProject [SerializeField] protected List activeSkillList; + [SerializeField] private Slider hpSlider; + [SerializeField] private Slider damageEffectSlider; + [SerializeField] private float damageEffectSpeed = 0.1f; + // 컴포넌트 protected Rigidbody rb; public Collider MyCollider { get; set; } protected BehaviorTree bt; protected Transform unitRoot; protected SkillController skillController; + + // 일반 변수 + protected bool skillCoroutine; + protected bool isCollisionAttack; + protected float collisionDamage; #endregion @@ -52,13 +64,27 @@ namespace BlueWaterProject } skillController = FindAnyObjectByType(); + var overlayCanvas = GameObject.Find("OverlayCanvas").transform; + hpSlider = overlayCanvas.Find("FieldBossHpSlider").GetComponent(); + damageEffectSlider = hpSlider.transform.Find("Fill Area/Background/DamageEffectSlider").GetComponent(); gameObject.SetActive(false); + hpSlider.gameObject.SetActive(false); } protected virtual void Start() { TargetLayer = LayerMask.GetMask("Player"); - SetCurrentHp(MaxHp); + + SetMaxHp(); + } + + protected void OnCollisionStay(Collision other) + { + if (!isCollisionAttack || !other.gameObject.CompareTag("InIslandPlayer")) return; + + var iDamageable = other.gameObject.GetComponent(); + iDamageable.TakeDamage(collisionDamage); + isCollisionAttack = false; } #endregion @@ -92,10 +118,16 @@ namespace BlueWaterProject public void BossSpawn(Collider target) { + SetMaxHp(); + gameObject.SetActive(true); + hpSlider.gameObject.SetActive(true); Target = target; + Invoke(nameof(EnableBehaviorTree), 2f); } + + private void EnableBehaviorTree() => bt.EnableBehavior(); public virtual void ExecuteActiveSkill(ActiveSkill activeSkill) { @@ -103,11 +135,50 @@ namespace BlueWaterProject //StartCoroutine(CoolDown(myActiveSkill.ActiveSkillData.Cooldown, () => usedActiveSkill = false)); } - private void SetCurrentHp(float value) - { - CurrentHp = value; + protected IEnumerator CoolDown(float waitTime, Action onCooldownComplete) + { + var time = 0f; + + while (time <= waitTime) + { + time += Time.deltaTime; + yield return null; + } + + onCooldownComplete?.Invoke(); } + private void SetMaxHp() + { + CurrentHp = MaxHp; + hpSlider.maxValue = MaxHp; + hpSlider.value = MaxHp; + damageEffectSlider.maxValue = MaxHp; + damageEffectSlider.value = MaxHp; + } + + private void SetCurrentHp(float value) + { + var previousHp = CurrentHp; + + CurrentHp = value; + hpSlider.value = value; + + StartCoroutine(DamageEffect(previousHp, CurrentHp)); + } + + private IEnumerator DamageEffect(float previousHp, float currentHp) + { + while (damageEffectSlider.value > currentHp) + { + damageEffectSlider.value -= damageEffectSpeed; // 속도 조절 가능 + yield return null; + } + } + + public bool GetSkillCoroutine() => skillCoroutine; + public List GetActiveSkillList() => activeSkillList; + #endregion } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/Type/FieldBoss01.cs b/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/Type/FieldBoss01.cs index 73b8c1126..b9749170b 100644 --- a/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/Type/FieldBoss01.cs +++ b/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldBoss/Type/FieldBoss01.cs @@ -29,6 +29,10 @@ namespace BlueWaterProject activeSkillList.Add(skillController.GetSkillByName("LavaEruption")); activeSkillList.Add(skillController.GetSkillByName("LineRush")); + activeSkillList.Add(skillController.GetSkillByName("BigLavaEruption")); + activeSkillList.Add(skillController.GetSkillByName("VolcanicEruption")); + + collisionDamage = activeSkillList[1].ActiveSkillData.Damage; } #endregion @@ -49,21 +53,55 @@ namespace BlueWaterProject public override void ExecuteActiveSkill(ActiveSkill activeSkill) { + skillCoroutine = true; + + var endSkillTime = 0f; if (activeSkill.ActiveSkillData.Name.Equals("LavaEruption")) { for (var i = 0; i < 7; i++) { var lava = Instantiate(activeSkill); lava.Execute(TargetLayer, Target.bounds.center); + endSkillTime = lava.GetEndSkillTime(); } } else if (activeSkill.ActiveSkillData.Name.Equals("LineRush")) { var rush = Instantiate(activeSkill); rush.SetUser(transform); - rush.Execute(TargetLayer, Target.bounds.center); + rush.Execute(TargetLayer, Target.bounds.center, GhostPlay, GhostStop); + endSkillTime = rush.GetEndSkillTime(); } - //StartCoroutine(CoolDown(myActiveSkill.ActiveSkillData.Cooldown, () => usedActiveSkill = false)); + else if (activeSkill.ActiveSkillData.Name.Equals("BigLavaEruption")) + { + var bigLava = Instantiate(activeSkill); + bigLava.Execute(TargetLayer, Target.bounds.center); + endSkillTime = bigLava.GetEndSkillTime(); + } + else if (activeSkill.ActiveSkillData.Name.Equals("VolcanicEruption")) + { + for (var i = 0; i < 20; i++) + { + var lava = Instantiate(activeSkill); + lava.SetUser(transform); + lava.Execute(TargetLayer, Target.bounds.center); + endSkillTime = lava.GetEndSkillTime(); + } + } + StartCoroutine(CoolDown(endSkillTime, () => skillCoroutine = false)); + } + + private void GhostPlay() + { + isCollisionAttack = true; + ghost.Clear(); + ghost.Play(); + } + + private void GhostStop() + { + isCollisionAttack = false; + ghost.Stop(); } #endregion diff --git a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/ActiveSkill.cs b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/ActiveSkill.cs index 274483157..c59549d94 100644 --- a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/ActiveSkill.cs +++ b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/ActiveSkill.cs @@ -29,6 +29,8 @@ namespace BlueWaterProject protected Transform user; protected Collider[] hitColliders; + protected LayerMask groundLayer; + protected float endSkillTime; // Hash protected static readonly int FillHash = Shader.PropertyToID("_Fill"); @@ -37,7 +39,7 @@ namespace BlueWaterProject #region Unity built-in methods - private void Awake() + protected virtual void Awake() { InitComponent(); HideIndicator(); @@ -74,6 +76,7 @@ namespace BlueWaterProject indicator.material = new Material(indicator.material); indicator.material.SetFloat(FillHash, 0f); hitColliders = new Collider[ActiveSkillData.MaxAttackTargets]; + groundLayer = LayerMask.GetMask("Ground"); } protected void HideIndicator() @@ -102,7 +105,7 @@ namespace BlueWaterProject HideIndicator(); } - public abstract void Execute(LayerMask targetLayer, Vector3 targetPos); + public abstract void Execute(LayerMask targetLayer, Vector3 targetPos, Action action1 = null, Action action2 = null, Action action3 = null); protected void CastingMove() { @@ -132,6 +135,7 @@ namespace BlueWaterProject } public void SetUser(Transform value) => user = value; + public float GetEndSkillTime() => endSkillTime; #endregion } diff --git a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/IceAge.cs b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/IceAge.cs index fa68f84b8..4dca0c037 100644 --- a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/IceAge.cs +++ b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/IceAge.cs @@ -7,14 +7,14 @@ namespace BlueWaterProject { public class IceAge : ActiveSkill { - public override void Execute(LayerMask targetLayer, Vector3 targetPos) + public override void Execute(LayerMask targetLayer, Vector3 targetPos, Action action1 = null, Action action2 = null, Action action3 = null) { StartCoroutine(SkillCoroutine(targetLayer, targetPos)); } private IEnumerator SkillCoroutine(LayerMask targetLayer, Vector3 targetPos) { - indicator.transform.position = targetPos; + transform.position = targetPos; indicator.enabled = true; if (ActiveSkillData.CastingTime > 0) @@ -40,13 +40,13 @@ namespace BlueWaterProject HideIndicator(); if (ActiveSkillData.ExplodeEffect != null) { - var skillEffect = Instantiate(ActiveSkillData.ExplodeEffect, indicator.transform.position, ActiveSkillData.ExplodeEffect.transform.rotation); + var skillEffect = Instantiate(ActiveSkillData.ExplodeEffect, transform.position, ActiveSkillData.ExplodeEffect.transform.rotation); skillEffect.Clear(); skillEffect.Play(); } Array.Clear(hitColliders, 0,ActiveSkillData.MaxAttackTargets); - var maxSize = Physics.OverlapSphereNonAlloc(indicator.transform.position, ActiveSkillData.Range, hitColliders, targetLayer); + var maxSize = Physics.OverlapSphereNonAlloc(transform.position, ActiveSkillData.Range, hitColliders, targetLayer); for (var i = 0; i < maxSize; i++) { diff --git a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LavaEruption.cs b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LavaEruption.cs index e696df7f0..6adc79794 100644 --- a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LavaEruption.cs +++ b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LavaEruption.cs @@ -10,17 +10,41 @@ namespace BlueWaterProject { [SerializeField] private float randomRadius = 3f; [SerializeField] private float projectileDelay = 2f; + + private void OnDrawGizmos() + { + Gizmos.DrawWireSphere(transform.position, ActiveSkillData.Range); + } - public override void Execute(LayerMask targetLayer, Vector3 targetPos) + public override void Execute(LayerMask targetLayer, Vector3 targetPos, Action action1 = null, Action action2 = null, Action action3 = null) { StartCoroutine(SkillCoroutine(targetLayer, targetPos)); } + + protected override void Awake() + { + base.Awake(); + + endSkillTime = projectileDelay + ActiveSkillData.CastingTime; + } private IEnumerator SkillCoroutine(LayerMask targetLayer, Vector3 targetPos) { - var randomPos = Random.insideUnitSphere * randomRadius; - randomPos.y = targetPos.y; - indicator.transform.position = targetPos + randomPos; + var destination = Vector3.zero; + for (var i = 0; i < 1000; i++) + { + var randomPos = Random.insideUnitSphere * randomRadius; + randomPos.y = targetPos.y; + destination = targetPos + randomPos; + + if (Physics.Raycast(destination, Vector3.down, out var hit, 5f, groundLayer)) + { + Debug.DrawLine(destination, destination + Vector3.down * 5f, Color.red, 5f); + //print(i + "번쨰 " + hit.collider.name); + break; + } + } + transform.position = destination; indicator.enabled = true; IsCasting = true; @@ -45,13 +69,13 @@ namespace BlueWaterProject HideIndicator(); if (ActiveSkillData.ExplodeEffect != null) { - var skillEffect = Instantiate(ActiveSkillData.ExplodeEffect, indicator.transform.position, ActiveSkillData.ExplodeEffect.transform.rotation); + var skillEffect = Instantiate(ActiveSkillData.ExplodeEffect, transform.position, ActiveSkillData.ExplodeEffect.transform.rotation); skillEffect.Clear(); skillEffect.Play(); } Array.Clear(hitColliders, 0,ActiveSkillData.MaxAttackTargets); - var maxSize = Physics.OverlapSphereNonAlloc(indicator.transform.position, ActiveSkillData.Range, hitColliders, targetLayer); + var maxSize = Physics.OverlapSphereNonAlloc(transform.position, ActiveSkillData.Range, hitColliders, targetLayer); for (var i = 0; i < maxSize; i++) { diff --git a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LineRush.cs b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LineRush.cs index 414c1e935..60c25007d 100644 --- a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LineRush.cs +++ b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/LineRush.cs @@ -10,30 +10,46 @@ namespace BlueWaterProject { [SerializeField] private float rushOffset = 10f; [SerializeField] private float rushSpeed = 10f; - [SerializeField] private ParticleSystem ghost; + [SerializeField] private float doubleRushDelay = 0.5f; - public override void Execute(LayerMask targetLayer, Vector3 targetPos) + public override void Execute(LayerMask targetLayer, Vector3 targetPos, Action action1 = null, Action action2 = null, Action action3 = null) { - StartCoroutine(SkillCoroutine(targetLayer, targetPos)); + StartCoroutine(SkillCoroutine(targetLayer, targetPos, action1, action2)); } + + // protected override void Awake() + // { + // base.Awake(); + // + // endSkillTime = ActiveSkillData.CastingTime; + // } - private IEnumerator SkillCoroutine(LayerMask targetLayer, Vector3 targetPos) + private IEnumerator SkillCoroutine(LayerMask targetLayer, Vector3 targetPos, Action ghostPlay, Action ghostStop) { var userPos = user.position; + targetPos.y = userPos.y; var targetDir = (targetPos - userPos).normalized; - indicator.transform.position = userPos; + transform.position = userPos; var angle = Mathf.Atan2(targetDir.x, targetDir.z) * Mathf.Rad2Deg; - indicator.transform.rotation = Quaternion.Euler(90, angle, 0); + transform.rotation = Quaternion.Euler(90, angle, 0); var targetDistance = Vector3.Distance(targetPos, userPos); var targetRushPos = targetPos + targetDir * (rushOffset * 0.5f); - var localScale = indicator.transform.localScale; + var localScale = transform.localScale; localScale.y = targetDistance * 2f + rushOffset; - indicator.transform.localScale = localScale; + transform.localScale = localScale; + + var userRb = user.GetComponent(); + var rushPosDistance = Vector3.Distance(targetRushPos, userPos); + var rushVelocity = targetDir * rushSpeed; + var duration = rushPosDistance / rushVelocity.magnitude; + + endSkillTime = ActiveSkillData.CastingTime + duration + doubleRushDelay; indicator.enabled = true; IsCasting = true; + Debug.DrawLine(userPos, targetRushPos, Color.red, 5f); while (IsCasting && indicator.material.GetFloat(FillHash) < 1f) { @@ -43,37 +59,19 @@ namespace BlueWaterProject } HideIndicator(); - - var userRb = user.GetComponent(); - print("targetPos : " + targetPos + ", rushPos : " + targetRushPos); - while (Vector3.Distance(user.position, targetPos) > 1f) + ghostPlay.Invoke(); + userRb.velocity = rushVelocity; + + var time = 0f; + while (time < duration) { - print(Vector3.Distance(user.position, targetPos)); - userRb.velocity = targetDir * rushSpeed; + time += Time.deltaTime; yield return null; } - print("탈출"); userRb.velocity = Vector3.zero; - - // TODO : 터지는 효과 추가하기 - - if (ActiveSkillData.ExplodeEffect != null) - { - var skillEffect = Instantiate(ActiveSkillData.ExplodeEffect, indicator.transform.position, ActiveSkillData.ExplodeEffect.transform.rotation); - skillEffect.Clear(); - skillEffect.Play(); - } + ghostStop.Invoke(); Destroy(gameObject, 1f); - - // Array.Clear(hitColliders, 0,ActiveSkillData.MaxAttackTargets); - // var maxSize = Physics.OverlapSphereNonAlloc(indicator.transform.position, ActiveSkillData.Range, hitColliders, targetLayer); - // - // for (var i = 0; i < maxSize; i++) - // { - // var iDamageable = hitColliders[i].GetComponent(); - // iDamageable.TakeDamage(ActiveSkillData.Damage); - // } } } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs new file mode 100644 index 000000000..b1da5d636 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections; +using UnityEngine; +using Random = UnityEngine.Random; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public class VolcanicEruption : ActiveSkill + { + [SerializeField] private float randomRadius = 3f; + [SerializeField] private float projectileDelay = 2f; + + private void OnDrawGizmos() + { + Gizmos.DrawWireSphere(transform.position, ActiveSkillData.Range); + } + + public override void Execute(LayerMask targetLayer, Vector3 targetPos, Action action1 = null, Action action2 = null, Action action3 = null) + { + StartCoroutine(SkillCoroutine(targetLayer, targetPos)); + } + + protected override void Awake() + { + base.Awake(); + + endSkillTime = projectileDelay + ActiveSkillData.CastingTime; + } + + private IEnumerator SkillCoroutine(LayerMask targetLayer, Vector3 targetPos) + { + var destination = Vector3.zero; + for (var i = 0; i < 1000; i++) + { + var randomPos = Random.insideUnitSphere * randomRadius; + randomPos.y = targetPos.y; + destination = user.position + randomPos; + + if (Physics.Raycast(destination, Vector3.down, 5f, groundLayer)) break; + } + transform.position = destination; + indicator.enabled = true; + IsCasting = true; + + var time = 0f; + while (time < projectileDelay) + { + time += Time.deltaTime; + yield return null; + } + + // 투사체 발사 + + while (IsCasting && indicator.material.GetFloat(FillHash) < 1f) + { + var fillValue = indicator.material.GetFloat(FillHash) + Time.deltaTime * ActiveSkillData.CastingTime; + indicator.material.SetFloat(FillHash, fillValue); + yield return null; + } + + // TODO : 터지는 효과 추가하기 + + HideIndicator(); + if (ActiveSkillData.ExplodeEffect != null) + { + var skillEffect = Instantiate(ActiveSkillData.ExplodeEffect, transform.position, ActiveSkillData.ExplodeEffect.transform.rotation); + skillEffect.Clear(); + skillEffect.Play(); + } + + Array.Clear(hitColliders, 0,ActiveSkillData.MaxAttackTargets); + var maxSize = Physics.OverlapSphereNonAlloc(transform.position, ActiveSkillData.Range, hitColliders, targetLayer); + + for (var i = 0; i < maxSize; i++) + { + var iDamageable = hitColliders[i].GetComponent(); + iDamageable.TakeDamage(ActiveSkillData.Damage); + } + + Destroy(gameObject, 1f); + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs.meta b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs.meta new file mode 100644 index 000000000..bd3c17441 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Skill/ActiveSkill/Type/VolcanicEruption.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7a06af3b12d2327429212f066b4d0ee0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/Skill/Data/So/ActiveSkillDataSo.asset b/BlueWater/Assets/02.Scripts/Skill/Data/So/ActiveSkillDataSo.asset index 393a439c5..e650d2773 100644 --- a/BlueWater/Assets/02.Scripts/Skill/Data/So/ActiveSkillDataSo.asset +++ b/BlueWater/Assets/02.Scripts/Skill/Data/So/ActiveSkillDataSo.asset @@ -16,3 +16,5 @@ MonoBehaviour: - {fileID: 3919030326071344108, guid: 2d9f3b761e6d218499cae274f1a9f718, type: 3} - {fileID: 1362742867961675026, guid: 82f1d8a9a51945341a48f29e8b3c524c, type: 3} - {fileID: -7451257323989943520, guid: 8401fbca52c83624fad879954e93bbe1, type: 3} + - {fileID: 1362742867961675026, guid: 46d6bd3b77d144e48a6cd1714026bd10, type: 3} + - {fileID: -8657138461080468130, guid: 25a55b178ebb50443bbde671b28a5559, type: 3} diff --git a/BlueWater/Assets/05.Prefabs/Characters/Enemies/FieldBosses/FieldBoss01.prefab b/BlueWater/Assets/05.Prefabs/Characters/Enemies/FieldBosses/FieldBoss01.prefab index c288c404b..c2cfbd93e 100644 --- a/BlueWater/Assets/05.Prefabs/Characters/Enemies/FieldBosses/FieldBoss01.prefab +++ b/BlueWater/Assets/05.Prefabs/Characters/Enemies/FieldBosses/FieldBoss01.prefab @@ -5011,7 +5011,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8d7b55c7ecdb49a4a89fa5e6f9022861, type: 3} m_Name: m_EditorClassIdentifier: - startWhenEnabled: 1 + startWhenEnabled: 0 asynchronousLoad: 0 pauseWhenDisabled: 0 restartWhenComplete: 0 @@ -5027,18 +5027,21 @@ MonoBehaviour: parentIndex: startIndex: variableStartIndex: - JSONSerialization: + JSONSerialization: '{"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true,"GameObjectmValue":0},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"PropertyMapping":"BlueWaterProject.FieldBoss01/CurrentHp","PropertyMappingOwner":1,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true,"PropertyMapping":"BlueWaterProject.FieldBoss01/Target","PropertyMappingOwner":2},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"LavaEruptionCount","IsShared":true,"Int32mValue":0}]}' fieldSerializationData: typeName: [] fieldNameHash: startIndex: dataPosition: - unityObjects: [] + unityObjects: + - {fileID: 4857443988311686059} + - {fileID: 4857443988311686059} + - {fileID: 4857443988311686059} byteData: byteDataArray: - Version: + Version: 1.7.7 gizmoViewMode: 2 - showBehaviorDesignerGizmo: 1 + showBehaviorDesignerGizmo: 0 --- !u!114 &7556135373767129943 MonoBehaviour: m_ObjectHideFlags: 0 @@ -5059,3 +5062,6 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 0 activeSkillList: [] + hpSlider: {fileID: 0} + damageEffectSlider: {fileID: 0} + damageEffectSpeed: 0.1 diff --git a/BlueWater/Assets/05.Prefabs/HpSliders/EnemyHpSlider.prefab b/BlueWater/Assets/05.Prefabs/HpSliders/EnemyHpSlider.prefab index bfa458837..903e80e1b 100644 --- a/BlueWater/Assets/05.Prefabs/HpSliders/EnemyHpSlider.prefab +++ b/BlueWater/Assets/05.Prefabs/HpSliders/EnemyHpSlider.prefab @@ -168,6 +168,26 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_SizeDelta.x + value: -16 + objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_SizeDelta.y + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1525762082444024363, guid: bb4f1e43ee7824c8e8009facee710768, type: 3} propertyPath: m_IsActive diff --git a/BlueWater/Assets/05.Prefabs/HpSliders/PlayerHpSlider.prefab b/BlueWater/Assets/05.Prefabs/HpSliders/PlayerHpSlider.prefab index e424712fa..396cf749f 100644 --- a/BlueWater/Assets/05.Prefabs/HpSliders/PlayerHpSlider.prefab +++ b/BlueWater/Assets/05.Prefabs/HpSliders/PlayerHpSlider.prefab @@ -168,6 +168,26 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_SizeDelta.x + value: -16 + objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_SizeDelta.y + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1525762082444024363, guid: bb4f1e43ee7824c8e8009facee710768, type: 3} propertyPath: m_IsActive diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab new file mode 100644 index 000000000..f288e62f5 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab @@ -0,0 +1,121 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6893670062665840687 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4051035783022543630} + - component: {fileID: 6177466515962511305} + m_Layer: 0 + m_Name: Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4051035783022543630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6893670062665840687} + 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: 5043358165129361910} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6177466515962511305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6893670062665840687} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0777d029ed3dffa4692f417d4aba19ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 4be0607f5d48fc44e85b941b37384b22, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_DecalLayerMask: 1 + m_ScaleMode: 1 + m_Offset: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1, z: 20} + m_FadeFactor: 1 +--- !u!1 &8036009942072287766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5043358165129361910} + - component: {fileID: 1362742867961675026} + m_Layer: 0 + m_Name: BigLavaEruption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5043358165129361910 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8036009942072287766} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4051035783022543630} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &1362742867961675026 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8036009942072287766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 27a9be8336571c64f8e824c9ad8b2ae3, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: + k__BackingField: BigLavaEruption + k__BackingField: + k__BackingField: + k__BackingField: 0 + k__BackingField: 1 + k__BackingField: 0 + k__BackingField: 4 + k__BackingField: 30 + k__BackingField: 5 + k__BackingField: 10 + k__BackingField: {fileID: 19806542, guid: 0763c01217b286640aa3ac83d44fafaa, + type: 3} + indicator: {fileID: 6177466515962511305} + k__BackingField: 0 + followMouse: 0 + randomRadius: 0 + projectileDelay: 1 diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab.meta b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab.meta new file mode 100644 index 000000000..ade618f0b --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/BigLavaEruption.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 46d6bd3b77d144e48a6cd1714026bd10 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/IceAge.prefab b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/IceAge.prefab index 50790a3f2..53f0af61b 100644 --- a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/IceAge.prefab +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/IceAge.prefab @@ -25,13 +25,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6893670062665840687} serializedVersion: 2 - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 8, y: 8, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5043358165129361910} - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6177466515962511305 MonoBehaviour: m_ObjectHideFlags: 0 @@ -81,14 +81,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8036009942072287766} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 8, y: 8, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4051035783022543630} m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!114 &3919030326071344108 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LavaEruption.prefab b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LavaEruption.prefab index 3c7b74c1f..e3cf17e3d 100644 --- a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LavaEruption.prefab +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LavaEruption.prefab @@ -25,13 +25,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6893670062665840687} serializedVersion: 2 - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5043358165129361910} - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6177466515962511305 MonoBehaviour: m_ObjectHideFlags: 0 @@ -81,14 +81,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8036009942072287766} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 3, y: 3, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4051035783022543630} m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!114 &1362742867961675026 MonoBehaviour: m_ObjectHideFlags: 0 @@ -105,12 +105,12 @@ MonoBehaviour: k__BackingField: LavaEruption k__BackingField: k__BackingField: - k__BackingField: 5 + k__BackingField: 0 k__BackingField: 1 k__BackingField: 0 k__BackingField: 4 k__BackingField: 15 - k__BackingField: 2.5 + k__BackingField: 1.5 k__BackingField: 10 k__BackingField: {fileID: 19806542, guid: 0763c01217b286640aa3ac83d44fafaa, type: 3} diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LineRush.prefab b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LineRush.prefab index 41de54cab..4ff0b6bc0 100644 --- a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LineRush.prefab +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/LineRush.prefab @@ -25,13 +25,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6893670062665840687} serializedVersion: 2 - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 10, y: 15, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5043358165129361910} - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6177466515962511305 MonoBehaviour: m_ObjectHideFlags: 0 @@ -81,14 +81,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8036009942072287766} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 10, y: 15, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4051035783022543630} m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!114 &-7451257323989943520 MonoBehaviour: m_ObjectHideFlags: 0 @@ -105,7 +105,7 @@ MonoBehaviour: k__BackingField: LineRush k__BackingField: k__BackingField: - k__BackingField: 5 + k__BackingField: 0 k__BackingField: 1 k__BackingField: 0 k__BackingField: 0 diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab new file mode 100644 index 000000000..fd9c914e8 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab @@ -0,0 +1,121 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6893670062665840687 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4051035783022543630} + - component: {fileID: 6177466515962511305} + m_Layer: 0 + m_Name: Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4051035783022543630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6893670062665840687} + 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: 5043358165129361910} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6177466515962511305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6893670062665840687} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0777d029ed3dffa4692f417d4aba19ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 4be0607f5d48fc44e85b941b37384b22, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_DecalLayerMask: 1 + m_ScaleMode: 1 + m_Offset: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1, z: 20} + m_FadeFactor: 1 +--- !u!1 &8036009942072287766 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5043358165129361910} + - component: {fileID: -8657138461080468130} + m_Layer: 0 + m_Name: VolcanicEruption + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5043358165129361910 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8036009942072287766} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3, y: 3, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4051035783022543630} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &-8657138461080468130 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8036009942072287766} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a06af3b12d2327429212f066b4d0ee0, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: + k__BackingField: VolcanicEruption + k__BackingField: + k__BackingField: + k__BackingField: 0 + k__BackingField: 1 + k__BackingField: 0 + k__BackingField: 4 + k__BackingField: 15 + k__BackingField: 1.5 + k__BackingField: 10 + k__BackingField: {fileID: 19806542, guid: 0763c01217b286640aa3ac83d44fafaa, + type: 3} + indicator: {fileID: 0} + k__BackingField: 0 + followMouse: 0 + randomRadius: 12 + projectileDelay: 1 diff --git a/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab.meta b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab.meta new file mode 100644 index 000000000..552a2e4e5 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/Skills/ActiveSkills/VolcanicEruption.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 25a55b178ebb50443bbde671b28a5559 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/05.Prefabs/Skills/Particles/LiquidExplosionLava.prefab b/BlueWater/Assets/05.Prefabs/Skills/Particles/LiquidExplosionLava.prefab index e8274cd16..b8da69ddd 100644 --- a/BlueWater/Assets/05.Prefabs/Skills/Particles/LiquidExplosionLava.prefab +++ b/BlueWater/Assets/05.Prefabs/Skills/Particles/LiquidExplosionLava.prefab @@ -14486,7 +14486,7 @@ AudioSource: OutputAudioMixerGroup: {fileID: 0} m_audioClip: {fileID: 8300000, guid: b7a210df23bd255428bdf4def67109f2, type: 3} m_PlayOnAwake: 1 - m_Volume: 1 + m_Volume: 0.5 m_Pitch: 1.2693294 Loop: 0 Mute: 0 diff --git a/BlueWater/Assets/09.BehaviorTree/Enemy/FieldBoss01.asset b/BlueWater/Assets/09.BehaviorTree/Enemy/FieldBoss01.asset index bb97de5a2..13a30fb69 100644 --- a/BlueWater/Assets/09.BehaviorTree/Enemy/FieldBoss01.asset +++ b/BlueWater/Assets/09.BehaviorTree/Enemy/FieldBoss01.asset @@ -21,9 +21,31 @@ MonoBehaviour: startIndex: variableStartIndex: JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(697.6564,155.842773)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(0,140)"},"ID":1,"Name":"Repeater","Instant":true,"SharedIntcount":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedBoolrepeatForever":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedBoolendOnFailure":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-3.44348145,154.9137)"},"ID":2,"Name":"Die - Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-447.499176,148.989136)"},"ID":3,"Name":"Die + Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-639.806763,148.989136)"},"ID":3,"Name":"Die Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedFloat","NodeData":{"Offset":"(-2.9930706,151.369934)","Comment":"CurrentHp - == 0"},"ID":4,"Name":"Compare Shared Float","Instant":true,"SharedFloatvariable":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},"SharedFloatcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0}}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}]}' + == 0"},"ID":4,"Name":"Compare Shared Float","Instant":true,"SharedFloatvariable":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},"SharedFloatcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(3.25585938,148.836914)"},"ID":5,"Name":"Lava + Eruption Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-423.22287,151.3009)"},"ID":6,"Name":"Compare + Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-280,150)"},"ID":7,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-69.8761749,145.42395)"},"ID":8,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWaterProject.CompareSharedFloat2","NodeData":{"Offset":"(-100,150)"},"ID":9,"Name":"Compare + Shared Float 2","Instant":true,"SharedFloatvariable":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},"SinglecompareTo":150,"Inequalityinequality":"LESS_THEN_OR_EQUAL_TO"},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedInt","NodeData":{"Offset":"(80,150)"},"ID":10,"Name":"Set + Shared Int","Instant":true,"SharedInttargetValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3},"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}}]},{"Type":"BlueWaterProject.ReturnSuccessAction","NodeData":{"Offset":"(80,150)"},"ID":11,"Name":"Return + Success Action","Instant":true}]},{"Type":"BlueWaterProject.ExecuteSkill","NodeData":{"Offset":"(-150.539734,145.747925)"},"ID":12,"Name":"Execute + Skill","Instant":true,"SharedIntskillIndex":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}},{"Type":"BlueWaterProject.SetSharedIntPlus","NodeData":{"Offset":"(1.64624023,145.2179)"},"ID":13,"Name":"Set + Shared Int Plus","Instant":true,"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"LavaEruptionCount","IsShared":true,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(137.799774,151.0874)"},"ID":14,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedInt","NodeData":{"Offset":"(283.6372,150)"},"ID":15,"Name":"Set + Shared Int","Instant":true,"SharedInttargetValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(842.6148,146.486511)"},"ID":16,"Name":"Line + Rush Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-340.624939,150)"},"ID":17,"Name":"Compare + Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}},{"Type":"BlueWaterProject.ExecuteSkill","NodeData":{"Offset":"(-174.999954,150)"},"ID":18,"Name":"Execute + Skill","Instant":true,"SharedIntskillIndex":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(3.518921,153.800171)"},"ID":19,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-70,150)"},"ID":20,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWaterProject.CompareSharedFloat2","NodeData":{"Offset":"(-100,150)"},"ID":21,"Name":"Compare + Shared Float 2","Instant":true,"SharedFloatvariable":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},"SinglecompareTo":150,"Inequalityinequality":"LESS_THEN_OR_EQUAL_TO"},{"Type":"BlueWaterProject.ExecuteSkill","NodeData":{"Offset":"(66.25,145.511108)"},"ID":22,"Name":"Execute + Skill","Instant":true,"SharedIntskillIndex":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}}]},{"Type":"BlueWaterProject.ReturnSuccessAction","NodeData":{"Offset":"(80,150)"},"ID":23,"Name":"Return + Success Action","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(283.54834,150)"},"ID":24,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(428.367126,150)"},"ID":25,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-102.72876,154.606079)"},"ID":26,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-177.659424,147.234253)"},"ID":27,"Name":"Compare + Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"LavaEruptionCount","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedInt","NodeData":{"Offset":"(1.14436913,150.63829)"},"ID":28,"Name":"Set + Shared Int","Instant":true,"SharedInttargetValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2},"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedInt","NodeData":{"Offset":"(160,150)"},"ID":29,"Name":"Set + Shared Int","Instant":true,"SharedInttargetValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"LavaEruptionCount","IsShared":true,"Int32mValue":0}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedInt","NodeData":{"Offset":"(105.106445,150.425415)"},"ID":30,"Name":"Set + Shared Int","Instant":true,"SharedInttargetValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1679.07336,146.111145)"},"ID":31,"Name":"Line + Rush Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-200,150)"},"ID":32,"Name":"Compare + Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":2}},{"Type":"BlueWaterProject.ExecuteSkill","NodeData":{"Offset":"(-50,150)"},"ID":33,"Name":"Execute + Skill","Instant":true,"SharedIntskillIndex":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(90,150)"},"ID":34,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedInt","NodeData":{"Offset":"(250,150)"},"ID":35,"Name":"Set + Shared Int","Instant":true,"SharedInttargetValue":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1},"SharedInttargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0}}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"SkillIndex","IsShared":true,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"LavaEruptionCount","IsShared":true,"Int32mValue":0}]}' fieldSerializationData: typeName: [] fieldNameHash: