diff --git a/BlueWater/Assets/01.Scenes/03.Stage_Test.unity b/BlueWater/Assets/01.Scenes/03.Stage_Test.unity index cf90dd56f..8201e92dc 100644 --- a/BlueWater/Assets/01.Scenes/03.Stage_Test.unity +++ b/BlueWater/Assets/01.Scenes/03.Stage_Test.unity @@ -486,6 +486,37 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1519076350} m_PrefabAsset: {fileID: 0} +--- !u!1 &121245774 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 121245775} + m_Layer: 0 + m_Name: Fireballs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &121245775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 121245774} + 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: 1603694606} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &122687531 PrefabInstance: m_ObjectHideFlags: 0 @@ -680,7 +711,7 @@ PrefabInstance: - target: {fileID: 3388854588669550803, guid: fbe5f9d69cf27974fa4899b0bcf542c8, type: 3} propertyPath: m_TagString - value: House + value: Untagged objectReference: {fileID: 0} m_RemovedComponents: - {fileID: 2577968403773185409, guid: fbe5f9d69cf27974fa4899b0bcf542c8, type: 3} @@ -1938,6 +1969,52 @@ Transform: - {fileID: 302959423} m_Father: {fileID: 971043561} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &417739631 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 417739632} + - component: {fileID: 417739633} + m_Layer: 0 + m_Name: ObjectPoolData + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &417739632 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 417739631} + 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: 1256709751} + - {fileID: 1603694606} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &417739633 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 417739631} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5e8e922b241b6941a7c7a572f38bdad, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &418278335 PrefabInstance: m_ObjectHideFlags: 0 @@ -2106,32 +2183,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 076d9e0e755d32146a0cba706a625969, type: 3} m_Name: m_EditorClassIdentifier: - isDrawGizmos: 1 - isDrawViewRange: 1 - isDrawDefenseRange: 1 - isDrawTargetRange: 1 - k__BackingField: 250 - k__BackingField: 0 - k__BackingField: 5 - k__BackingField: 10 - k__BackingField: 1 - k__BackingField: 1.5 - k__BackingField: 20 - k__BackingField: 0 - k__BackingField: 0 - groundDistance: 0.2 - groundLayer: - serializedVersion: 2 - m_Bits: 0 - isGrounded: 0 - k__BackingField: {x: 0, y: 0, z: 0} - k__BackingField: 0 - k__BackingField: 0 - k__BackingField: 0 - beAttacked: 0 - isAttacking: 0 - k__BackingField: [] k__BackingField: 15 + k__BackingField: 1.5 k__BackingField: - {fileID: 0} - {fileID: 0} @@ -2167,6 +2220,30 @@ MonoBehaviour: k__BackingField: serializedVersion: 2 m_Bits: 0 + isDrawGizmos: 1 + isDrawViewRange: 1 + isDrawDefenseRange: 1 + isDrawTargetRange: 1 + k__BackingField: 250 + k__BackingField: 0 + k__BackingField: 5 + k__BackingField: 10 + k__BackingField: 1 + k__BackingField: 20 + k__BackingField: 0 + k__BackingField: 0 + groundDistance: 0.2 + groundLayer: + serializedVersion: 2 + m_Bits: 0 + isGrounded: 0 + k__BackingField: {x: 0, y: 0, z: 0} + k__BackingField: 0 + k__BackingField: 0 + k__BackingField: 0 + beAttacked: 0 + isAttacking: 0 + k__BackingField: [] --- !u!114 &418278343 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3003,6 +3080,37 @@ Transform: type: 3} m_PrefabInstance: {fileID: 623360154} m_PrefabAsset: {fileID: 0} +--- !u!1 &630615296 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 630615297} + m_Layer: 0 + m_Name: Particles + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &630615297 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630615296} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &633494890 PrefabInstance: m_ObjectHideFlags: 0 @@ -3024,7 +3132,7 @@ PrefabInstance: - target: {fileID: 6209097434605892902, guid: a003617243f099842ac3523a93f80e28, type: 3} propertyPath: m_TagString - value: House + value: Untagged objectReference: {fileID: 0} - target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28, type: 3} @@ -5298,6 +5406,37 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 1229083196} m_PrefabAsset: {fileID: 0} +--- !u!1 &1027761194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1027761195} + m_Layer: 0 + m_Name: Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1027761195 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1027761194} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &1037063016 stripped Transform: m_CorrespondingSourceObject: {fileID: 489124, guid: a70152ac9ec4ea14e94da160b98b6fad, @@ -6083,6 +6222,37 @@ NavMeshObstacle: m_CarveOnlyStationary: 1 m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_TimeToStationary: 0.5 +--- !u!1 &1256709750 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1256709751} + m_Layer: 0 + m_Name: Objects + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1256709751 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1256709750} + 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: 417739632} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1259135358 PrefabInstance: m_ObjectHideFlags: 0 @@ -7108,7 +7278,7 @@ PrefabInstance: - target: {fileID: 176149940216585557, guid: 726da43882bc7cf4794b6164bb2acaa5, type: 3} propertyPath: m_TagString - value: House + value: Untagged objectReference: {fileID: 0} - target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5, type: 3} @@ -7986,6 +8156,38 @@ NavMeshObstacle: m_CarveOnlyStationary: 1 m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_TimeToStationary: 0.5 +--- !u!1 &1603694605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1603694606} + m_Layer: 0 + m_Name: Particles + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1603694606 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603694605} + 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: 121245775} + m_Father: {fileID: 417739632} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1636445598 PrefabInstance: m_ObjectHideFlags: 0 @@ -8830,11 +9032,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 551a6add4224f7643ba9b247325d9049, type: 3} m_Name: m_EditorClassIdentifier: - checkRadius: 3 - instantiationRadius: 1 + instantiationDistance: 3 + checkRadius: 1 checkLayer: serializedVersion: 2 - m_Bits: 67328 + m_Bits: 1536 crewmateIndex: 0 --- !u!4 &1805195289 Transform: @@ -9436,6 +9638,37 @@ NavMeshObstacle: m_CarveOnlyStationary: 1 m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_TimeToStationary: 0.5 +--- !u!1 &2095144759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2095144760} + m_Layer: 0 + m_Name: Fireballs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2095144760 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2095144759} + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &2117062064 PrefabInstance: m_ObjectHideFlags: 0 @@ -9769,12 +10002,16 @@ SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 85768103} - - {fileID: 971043561} - - {fileID: 1068410571} - {fileID: 334724479} - {fileID: 879331195} - - {fileID: 1328364443} + - {fileID: 971043561} + - {fileID: 1068410571} - {fileID: 1805195289} + - {fileID: 417739632} + - {fileID: 1328364443} - {fileID: 823586986} - {fileID: 888439616} - {fileID: 622197515} + - {fileID: 1027761195} + - {fileID: 630615297} + - {fileID: 2095144760} diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/FindNearestTarget.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/FindNearestTarget.cs index 93c6ab0b4..711180c83 100644 --- a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/FindNearestTarget.cs +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/FindNearestTarget.cs @@ -15,7 +15,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy public override void OnStart() { - iAiView.FindNearestTargetInRange(); + iAiView.FindNearestTargetInRange(iAiView.MyCollider.bounds.center); } public override TaskStatus OnUpdate() diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/MoveTarget.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/MoveTarget.cs index 8f14e76d6..64ab0def0 100644 --- a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/MoveTarget.cs +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/MoveTarget.cs @@ -17,7 +17,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy [SerializeField] private SharedCollider target; [SerializeField] private SharedVector3 movePos; [SerializeField] private bool randomMove; - [SerializeField] private ESpeedType speedType; + [SerializeField] private float multiplyMoveSpd = 1f; [SerializeField] private EStopType stopType; [SerializeField] private bool isArrivedReturnSuccess = true; @@ -45,7 +45,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy destinationPos = hit.position; targetPos = destinationPos; - iAiView.MoveTarget(targetPos, speedType, GetStopDistance(stopType)); + iAiView.MoveTarget(targetPos, iAiView.MoveSpd * multiplyMoveSpd, GetStopDistance(stopType)); return; } @@ -60,7 +60,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy } targetPos = target?.Value != null ? target.Value.transform.position : movePos.Value; - iAiView.MoveTarget(targetPos, speedType, GetStopDistance(stopType)); + iAiView.MoveTarget(targetPos, iAiView.MoveSpd * multiplyMoveSpd, GetStopDistance(stopType)); } public override TaskStatus OnUpdate() @@ -70,7 +70,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy if (!iAiView.Agent.pathPending && iAiView.Agent.remainingDistance <= iAiView.Agent.stoppingDistance) return TaskStatus.Success; - iAiView.MoveTarget(targetPos, speedType, GetStopDistance(stopType)); + iAiView.MoveTarget(targetPos, iAiView.MoveSpd * multiplyMoveSpd, GetStopDistance(stopType)); return TaskStatus.Running; } diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/NormalAttack.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/NormalAttack.cs index e2072fe34..f8dc3f0a8 100644 --- a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/NormalAttack.cs +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Action/NormalAttack.cs @@ -13,19 +13,12 @@ namespace BlueWaterProject.BehaviorAsset.Enemy iNormalAttack = transform.GetComponent(); } - public override void OnStart() - { - iNormalAttack.NormalAttack(); - } - public override TaskStatus OnUpdate() { - return iNormalAttack.GetUsedNormalAttackCoroutine() ? TaskStatus.Running : TaskStatus.Success; - } - - public override void OnEnd() - { - iNormalAttack.StopNormalAttackCoroutine(); + if (iNormalAttack.GetUsedNormalAttackCoroutine()) return TaskStatus.Running; + + iNormalAttack.NormalAttack(); + return TaskStatus.Success; } } } diff --git a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Conditional/IsTargetWithinRange.cs b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Conditional/IsTargetWithinRange.cs index 3bb89a2e4..bea47cfad 100644 --- a/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Conditional/IsTargetWithinRange.cs +++ b/BlueWater/Assets/02.Scripts/Ai/NewBehaviorTree/Task/Enemy/Conditional/IsTargetWithinRange.cs @@ -15,7 +15,8 @@ namespace BlueWaterProject.BehaviorAsset.Enemy public override TaskStatus OnUpdate() { - return iAiView.IsTargetWithinRange() ? TaskStatus.Success : TaskStatus.Failure; + return iAiView.IsTargetWithinRange(iAiView.MyCollider.bounds.center, iAiView.AtkRange) ? + TaskStatus.Success : TaskStatus.Failure; } } } diff --git a/BlueWater/Assets/02.Scripts/Character/Crewmate/Crewmate.cs b/BlueWater/Assets/02.Scripts/Character/Crewmate/Crewmate.cs index d7892efc9..bb4a2621a 100644 --- a/BlueWater/Assets/02.Scripts/Character/Crewmate/Crewmate.cs +++ b/BlueWater/Assets/02.Scripts/Character/Crewmate/Crewmate.cs @@ -37,7 +37,7 @@ namespace BlueWaterProject [field: SerializeField] public float CurrentHp { get; private set; } [field: Tooltip("이동 속도 설정")] - [field: SerializeField] public float MoveSpd { get; private set; } = 5f; + [field: SerializeField] public float MoveSpd { get; set; } = 5f; [field: Tooltip("공격력 설정")] [field: SerializeField] public float Atk { get; private set; } = 10f; @@ -76,7 +76,7 @@ namespace BlueWaterProject protected WaitForSeconds waitAtkCooldown; protected Rigidbody rb; - public Collider MyCollider { get; private set; } + public Collider MyCollider { get; set; } protected Animator myAnimator; public NavMeshAgent Agent { get; set; } @@ -123,7 +123,7 @@ namespace BlueWaterProject waitAtkCooldown = new WaitForSeconds(AtkCooldown); Agent.updateRotation = false; - SetAgentSpeed(ESpeedType.DEFAULT); + SetAgentSpeed(MoveSpd); SetCurrentHp(MaxHp); } @@ -163,8 +163,6 @@ namespace BlueWaterProject var localScale = transform.localScale; if (UseRigidbody) { - var movement = GameManager.Inst.InIslandPlayer.Rb.velocity * (MoveSpd / GameManager.Inst.InIslandPlayer.MoveSpd); - rb.velocity = new Vector3(movement.x, 0, movement.z); localScale.x = rb.velocity.x switch { > 0 => Mathf.Abs(localScale.x), @@ -200,6 +198,15 @@ namespace BlueWaterProject transform.localScale = localScale; } + + protected override void FixedUpdate() + { + if (UseRigidbody) + { + var movement = GameManager.Inst.InIslandPlayer.Rb.velocity * (MoveSpd / GameManager.Inst.InIslandPlayer.MoveSpd); + rb.velocity = new Vector3(movement.x, 0, movement.z); + } + } #endregion @@ -247,12 +254,11 @@ namespace BlueWaterProject private const int MAX_COLLIDERS = 30; - public void FindNearestTargetInRange(bool targetIsTrigger = true) + public void FindNearestTargetInRange(Vector3 centerPos, bool targetIsTrigger = true) { Array.Clear(Targets, 0, MAX_COLLIDERS); - - var myCenterPos = MyCollider.bounds.center; - var numResults = Physics.OverlapSphereNonAlloc(myCenterPos, ViewRadius, Targets, TargetLayer, + + var numResults = Physics.OverlapSphereNonAlloc(centerPos, ViewRadius, Targets, TargetLayer, targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore); if (numResults <= 0) @@ -266,7 +272,7 @@ namespace BlueWaterProject for (var i = 0; i < numResults; i++) { - var distanceSqrToTarget = (myCenterPos - Targets[i].bounds.center).sqrMagnitude; + var distanceSqrToTarget = (centerPos - Targets[i].bounds.center).sqrMagnitude; if (distanceSqrToTarget >= nearestDistance) continue; @@ -288,10 +294,10 @@ namespace BlueWaterProject } } - public bool IsTargetWithinRange() + public bool IsTargetWithinRange(Vector3 centerPos, float range) { - var attackInRange = Vector3.Distance(MyCollider.bounds.center, Target.bounds.center) <= AtkRange; - return attackInRange; + var inRange = Vector3.Distance(centerPos, Target.bounds.center) <= AtkRange; + return inRange; } public bool GoOutOfBounds() @@ -300,11 +306,11 @@ namespace BlueWaterProject return !defensePosInRange; } - public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance) + public void MoveTarget(Vector3 targetPos, float speed, float stopDistance = float.MaxValue) { if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return; - SetAgentSpeed(speedType); + SetAgentSpeed(speed); Agent.stoppingDistance = stopDistance; Agent.isStopped = false; Agent.SetDestination(targetPos); @@ -338,7 +344,7 @@ namespace BlueWaterProject if (Target) return; - MoveTarget(GameManager.Inst.InIslandPlayer.transform.position, ESpeedType.DEFAULT, GlobalValue.MAXIMUM_STOP_DISTANCE); + MoveTarget(GameManager.Inst.InIslandPlayer.transform.position, MoveSpd, GlobalValue.MAXIMUM_STOP_DISTANCE); } private IEnumerator BeAttacked() @@ -350,27 +356,7 @@ namespace BlueWaterProject beAttacked = false; } - private void SetAgentSpeed(ESpeedType speedType) - { - switch (speedType) - { - case ESpeedType.NONE: - print("speedType == NONE error"); - break; - case ESpeedType.DEFAULT: - Agent.speed = MoveSpd; - break; - case ESpeedType.SLOW: - Agent.speed = MoveSpd * 0.5f; - break; - case ESpeedType.FAST: - Agent.speed = MoveSpd * 2f; - break; - default: - throw new ArgumentOutOfRangeException(nameof(speedType), speedType, null); - } - } - + private void SetAgentSpeed(float value) => Agent.speed = value; private void SetCurrentHp(float value) => CurrentHp = value; #endregion diff --git a/BlueWater/Assets/02.Scripts/Character/Enemy/Enemy.cs b/BlueWater/Assets/02.Scripts/Character/Enemy/Enemy.cs index 21fb3d0aa..b64d466e1 100644 --- a/BlueWater/Assets/02.Scripts/Character/Enemy/Enemy.cs +++ b/BlueWater/Assets/02.Scripts/Character/Enemy/Enemy.cs @@ -43,7 +43,7 @@ namespace BlueWaterProject [field: SerializeField] public float CurrentHp { get; private set; } [field: Tooltip("이동 속도 설정")] - [field: SerializeField] public float MoveSpd { get; private set; } = 5f; + [field: SerializeField] public float MoveSpd { get; set; } = 5f; [field: Tooltip("공격력 설정")] [field: SerializeField] public float Atk { get; private set; } = 10f; @@ -81,7 +81,7 @@ namespace BlueWaterProject // Component protected Rigidbody rb; - public Collider MyCollider { get; private set; } + public Collider MyCollider { get; set; } public NavMeshAgent Agent { get; set; } protected BehaviorTree bt; protected Animator myAnimator; @@ -207,7 +207,7 @@ namespace BlueWaterProject Agent.updateRotation = false; DefensePos = transform.position; - SetAgentSpeed(ESpeedType.DEFAULT); + SetAgentSpeed(MoveSpd); SetCurrentHp(MaxHp); } @@ -255,12 +255,11 @@ namespace BlueWaterProject private const int MAX_COLLIDERS = 30; - public void FindNearestTargetInRange(bool targetIsTrigger = true) + public void FindNearestTargetInRange(Vector3 centerPos, bool targetIsTrigger = true) { Array.Clear(Targets, 0, MAX_COLLIDERS); - - var myCenterPos = MyCollider.bounds.center; - var numResults = Physics.OverlapSphereNonAlloc(myCenterPos, ViewRadius, Targets, TargetLayer, + + var numResults = Physics.OverlapSphereNonAlloc(centerPos, ViewRadius, Targets, TargetLayer, targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore); if (numResults <= 0) @@ -274,7 +273,7 @@ namespace BlueWaterProject for (var i = 0; i < numResults; i++) { - var distanceSqrToTarget = (myCenterPos - Targets[i].bounds.center).sqrMagnitude; + var distanceSqrToTarget = (centerPos - Targets[i].bounds.center).sqrMagnitude; if (distanceSqrToTarget >= nearestDistance) continue; @@ -296,10 +295,10 @@ namespace BlueWaterProject } } - public bool IsTargetWithinRange() + public virtual bool IsTargetWithinRange(Vector3 centerPos, float range) { - var attackInRange = Vector3.Distance(MyCollider.bounds.center, Target.bounds.center) <= AtkRange; - return attackInRange; + var inRange = Vector3.Distance(centerPos, Target.bounds.center) <= range; + return inRange; } public bool GoOutOfBounds() @@ -310,7 +309,7 @@ namespace BlueWaterProject return !defensePosInRange; } - public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance) + public void MoveTarget(Vector3 targetPos, float speed, float stopDistance = float.MaxValue) { switch (BehaviorType) { @@ -328,7 +327,7 @@ namespace BlueWaterProject if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return; - SetAgentSpeed(speedType); + SetAgentSpeed(speed); Agent.stoppingDistance = stopDistance; Agent.isStopped = false; Agent.SetDestination(targetPos); @@ -386,27 +385,7 @@ namespace BlueWaterProject } } - private void SetAgentSpeed(ESpeedType speedType) - { - switch (speedType) - { - case ESpeedType.NONE: - print("speedType == NONE error"); - break; - case ESpeedType.DEFAULT: - Agent.speed = MoveSpd; - break; - case ESpeedType.SLOW: - Agent.speed = MoveSpd * 0.5f; - break; - case ESpeedType.FAST: - Agent.speed = MoveSpd * 2f; - break; - default: - throw new ArgumentOutOfRangeException(nameof(speedType), speedType, null); - } - } - + private void SetAgentSpeed(float value) => Agent.speed = value; private void SetCurrentHp(float value) => CurrentHp = value; #endregion diff --git a/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldMinion/Type/MagicOrk.cs b/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldMinion/Type/MagicOrk.cs index 4d0f5a28a..3b8621879 100644 --- a/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldMinion/Type/MagicOrk.cs +++ b/BlueWater/Assets/02.Scripts/Character/Enemy/Type/FieldMinion/Type/MagicOrk.cs @@ -12,8 +12,9 @@ namespace BlueWaterProject #region Properties and variables [Title("Weapon")] - [SerializeField] private ParticleSystem fireball; + [SerializeField] private ParticleSystem fireballParticle; [SerializeField] private float fireballSpd = 10f; + [SerializeField] private Vector3 shootPos; #endregion diff --git a/BlueWater/Assets/02.Scripts/Character/Player/Player.cs b/BlueWater/Assets/02.Scripts/Character/Player/Player.cs index 4ecdd5c0d..af299e56e 100644 --- a/BlueWater/Assets/02.Scripts/Character/Player/Player.cs +++ b/BlueWater/Assets/02.Scripts/Character/Player/Player.cs @@ -1,3 +1,5 @@ +using System; +using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.InputSystem; @@ -5,7 +7,7 @@ using UnityEngine.InputSystem; namespace BlueWaterProject { [RequireComponent(typeof(PlayerInput))] - public class Player : BaseCharacter, IDamageable + public class Player : BaseCharacter, IDamageable, IView { protected Vector2 movementInput; @@ -18,5 +20,64 @@ namespace BlueWaterProject { movementInput = value.Get(); } + + #region Interfaces + + // IView + [field: Title("IView")] + [field: SerializeField] public float ViewRadius { get; set; } = 15f; + [field: SerializeField] public float AtkRange { get; set; } = 1.5f; + [field: SerializeField] public Collider[] Targets { get; set; } = new Collider[MAX_COLLIDERS]; + [field: SerializeField] public Collider Target { get; set; } + [field: SerializeField] public LayerMask TargetLayer { get; set; } + + private const int MAX_COLLIDERS = 30; + + public virtual void FindNearestTargetInRange(Vector3 centerPos, bool targetIsTrigger = true) + { + Array.Clear(Targets, 0, MAX_COLLIDERS); + + var numResults = Physics.OverlapSphereNonAlloc(centerPos, ViewRadius, Targets, TargetLayer, + targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore); + + if (numResults <= 0) + { + SetTarget(null); + return; + } + + var nearestDistance = ViewRadius * ViewRadius; + Collider nearestTargetCollider = null; + + for (var i = 0; i < numResults; i++) + { + var distanceSqrToTarget = (centerPos - Targets[i].bounds.center).sqrMagnitude; + + if (distanceSqrToTarget >= nearestDistance) continue; + + nearestDistance = distanceSqrToTarget; + nearestTargetCollider = Targets[i]; + } + + SetTarget(nearestTargetCollider); + } + + public virtual void SetTarget(Collider value) + { + Target = value; + } + + public virtual bool IsTargetWithinRange(Vector3 centerPos, float range) + { + var inRange = Vector3.Distance(centerPos, Target.bounds.center) <= range; + return inRange; + } + + public virtual void MoveTarget(Vector3 targetPos, float speed, float stopDistance = Single.MaxValue) + { + throw new NotImplementedException(); + } + + #endregion } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/Character/Player/Type/InIslandPlayer.cs b/BlueWater/Assets/02.Scripts/Character/Player/Type/InIslandPlayer.cs index 52155e299..a46f037c2 100644 --- a/BlueWater/Assets/02.Scripts/Character/Player/Type/InIslandPlayer.cs +++ b/BlueWater/Assets/02.Scripts/Character/Player/Type/InIslandPlayer.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; using UnityEngine.AI; -using UnityEngine.InputSystem; // ReSharper disable once CheckNamespace namespace BlueWaterProject @@ -37,7 +36,7 @@ namespace BlueWaterProject [field: SerializeField] public float CurrentHp { get; private set; } [field: Tooltip("이동 속도 설정")] - [field: SerializeField] public float MoveSpd { get; private set; } = 5f; + [field: SerializeField] public float MoveSpd { get; set; } = 5f; [field: Tooltip("공격력 설정")] [field: SerializeField] public float Atk { get; private set; } = 10f; @@ -45,9 +44,6 @@ namespace BlueWaterProject [field: Tooltip("공격 속도(다음 공격 주기)\nAtkCooldown = 2f (2초마다 1번 공격)")] [field: SerializeField] public float AtkCooldown { get; private set; } = 1f; - [field: Tooltip("공격 사거리 설정")] - [field: SerializeField] public float AtkRange { get; set; } = 1.5f; - [field: Tooltip("이동 제한 범위 설정")] [field: SerializeField] public float DefenseRange { get; private set; } = 20f; @@ -84,7 +80,7 @@ namespace BlueWaterProject private WaitForSeconds waitAtkCooldown; public Rigidbody Rb { get; private set; } - public Collider MyCollider { get; private set; } + public Collider MyCollider { get; set; } private Animator myAnimator; public NavMeshAgent Agent { get; set; } @@ -164,7 +160,7 @@ namespace BlueWaterProject waitAtkCooldown = new WaitForSeconds(AtkCooldown); Agent.updateRotation = false; - SetAgentSpeed(ESpeedType.DEFAULT); + SetAgentSpeed(MoveSpd); SetCurrentHp(MaxHp); } @@ -206,11 +202,6 @@ namespace BlueWaterProject var localScale = transform.localScale; if (UseRigidbody) { - var localMovement = new Vector3(movementInput.x, 0, movementInput.y); - var worldDirection = transform.TransformDirection(localMovement); - - var movement = worldDirection * MoveSpd; - Rb.velocity = new Vector3(movement.x, 0, movement.z); localScale.x = Rb.velocity.x switch { > 0 => Mathf.Abs(localScale.x), @@ -246,6 +237,18 @@ namespace BlueWaterProject transform.localScale = localScale; } + protected override void FixedUpdate() + { + if (UseRigidbody) + { + var localMovement = new Vector3(movementInput.x, 0, movementInput.y); + var worldDirection = transform.TransformDirection(localMovement); + + var movement = worldDirection * MoveSpd; + Rb.velocity = new Vector3(movement.x, 0, movement.z); + } + } + #endregion #region Interface @@ -284,45 +287,7 @@ namespace BlueWaterProject public void SetIsAttacking(int boolValue) => isAttacking = boolValue == 1; // IAiView - [field: Title("IAiView")] - [field: SerializeField] public float ViewRadius { get; set; } = 15f; - [field: SerializeField] public Collider[] Targets { get; set; } = new Collider[MAX_COLLIDERS]; - [field: SerializeField] public Collider Target { get; set; } - [field: SerializeField] public LayerMask TargetLayer { get; set; } - - private const int MAX_COLLIDERS = 30; - - public void FindNearestTargetInRange(bool targetIsTrigger = true) - { - Array.Clear(Targets, 0, MAX_COLLIDERS); - - var myCenterPos = MyCollider.bounds.center; - var numResults = Physics.OverlapSphereNonAlloc(myCenterPos, ViewRadius, Targets, TargetLayer, - targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore); - - if (numResults <= 0) - { - SetTarget(null); - return; - } - - var nearestDistance = ViewRadius * ViewRadius; - Collider nearestTargetCollider = null; - - for (var i = 0; i < numResults; i++) - { - var distanceSqrToTarget = (myCenterPos - Targets[i].bounds.center).sqrMagnitude; - - if (distanceSqrToTarget >= nearestDistance) continue; - - nearestDistance = distanceSqrToTarget; - nearestTargetCollider = Targets[i]; - } - - SetTarget(nearestTargetCollider); - } - - public void SetTarget(Collider value) + public override void SetTarget(Collider value) { Target = value; @@ -333,23 +298,17 @@ namespace BlueWaterProject } } - public bool IsTargetWithinRange() - { - var attackInRange = Vector3.Distance(MyCollider.bounds.center, Target.bounds.center) <= AtkRange; - return attackInRange; - } - public bool GoOutOfBounds() { var defensePosInRange = Vector3.Distance(transform.position, DefensePos) <= DefenseRange; return !defensePosInRange; } - - public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance) + + public override void MoveTarget(Vector3 targetPos, float speed, float stopDistance = Single.MaxValue) { if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return; - SetAgentSpeed(speedType); + SetAgentSpeed(speed); Agent.stoppingDistance = stopDistance; Agent.isStopped = false; Agent.SetDestination(targetPos); @@ -424,27 +383,6 @@ namespace BlueWaterProject Rb.isKinematic = true; Agent.enabled = true; } - - private void SetAgentSpeed(ESpeedType speedType) - { - switch (speedType) - { - case ESpeedType.NONE: - print("speedType == NONE error"); - break; - case ESpeedType.DEFAULT: - Agent.speed = MoveSpd; - break; - case ESpeedType.SLOW: - Agent.speed = MoveSpd * 0.5f; - break; - case ESpeedType.FAST: - Agent.speed = MoveSpd * 2f; - break; - default: - throw new ArgumentOutOfRangeException(nameof(speedType), speedType, null); - } - } private IEnumerator BeAttacked() { @@ -455,6 +393,7 @@ namespace BlueWaterProject beAttacked = false; } + private void SetAgentSpeed(float value) => Agent.speed = value; private void SetCurrentHp(float value) => CurrentHp = value; #endregion diff --git a/BlueWater/Assets/02.Scripts/Interface/IAiView.cs b/BlueWater/Assets/02.Scripts/Interface/IAiView.cs index 3214bee67..67f896c16 100644 --- a/BlueWater/Assets/02.Scripts/Interface/IAiView.cs +++ b/BlueWater/Assets/02.Scripts/Interface/IAiView.cs @@ -4,26 +4,42 @@ using UnityEngine.AI; // ReSharper disable once CheckNamespace namespace BlueWaterProject { - public interface IAiView + public interface IAiView : IView { - NavMeshAgent Agent { get; set; } - float ViewRadius { get; set; } - float AtkRange { get; set; } - Vector3 DefensePos { get; set; } - bool IsRandomMove { get; set; } - float RandomMoveRange { get; set; } - Collider[] Targets { get; set; } - Collider Target { get; set; } - LayerMask TargetLayer { get; set; } - /// - /// 가장 가까운 타겟을 찾아 Target에 적용 + /// NavMeshAgent 컴포넌트 사용 /// - /// IsTrigger Collider를 대상으로 삼을지 확인 - public void FindNearestTargetInRange(bool targetIsTrigger = true); - public void SetTarget(Collider value); - public bool IsTargetWithinRange(); + NavMeshAgent Agent { get; set; } + + /// + /// 자신의 콜라이더 컴포넌트 사용 + /// + Collider MyCollider { get; set; } + + /// + /// 지켜야 되는 중심 위치 + /// + Vector3 DefensePos { get; set; } + + /// + /// 이동속도 + /// + float MoveSpd { get; set; } + + /// + /// Idle 상태에서의 랜덤으로 움직일지 여부 + /// + bool IsRandomMove { get; set; } + + /// + /// 랜덤으로 움직일 거리 + /// + float RandomMoveRange { get; set; } + + /// + /// 특정 범위 밖을 나갔는지 확인 하는 함수 + /// + /// public bool GoOutOfBounds(); - public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance); } } diff --git a/BlueWater/Assets/02.Scripts/Interface/IView.cs b/BlueWater/Assets/02.Scripts/Interface/IView.cs new file mode 100644 index 000000000..308f36df4 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Interface/IView.cs @@ -0,0 +1,63 @@ +using UnityEngine; +using UnityEngine.AI; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public interface IView + { + /// + /// 시야 사거리 + /// + float ViewRadius { get; set; } + + /// + /// 공격 사거리 + /// + float AtkRange { get; set; } + + /// + /// 주변의 모든 타겟 + /// + Collider[] Targets { get; set; } + + /// + /// 현재의 타겟 + /// + Collider Target { get; set; } + + /// + /// 타겟으로 삼을 레이어 + /// + LayerMask TargetLayer { get; set; } + + /// + /// 가장 가까운 타겟을 찾아 Target에 적용 + /// + /// 주변을 검색할 때의 중심이 되는 위치 + /// 타겟의 Collider IsTrigger 상태 여부 + public void FindNearestTargetInRange(Vector3 centerPos, bool targetIsTrigger = true); + + /// + /// 현재 Target으로 삼을 대상 설정 + /// + /// Target의 Collider + public void SetTarget(Collider value); + + /// + /// 타겟의 특정 거리 내에 있는지 확인 + /// + /// 주변을 검색할 때의 중심이 되는 위치 + /// 특정 사거리(공격 사거리 등) + /// + public bool IsTargetWithinRange(Vector3 centerPos, float range); + + /// + /// 타겟으로 이동하는 함수 + /// + /// 타겟의 위치 + /// 이동할 때의 속도 + /// Agent를 사용할 경우의 멈추는 거리 + public void MoveTarget(Vector3 targetPos, float speed, float stopDistance = float.MaxValue); + } +} diff --git a/BlueWater/Assets/02.Scripts/Interface/IView.cs.meta b/BlueWater/Assets/02.Scripts/Interface/IView.cs.meta new file mode 100644 index 000000000..450534936 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/Interface/IView.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bc3fd2b49c0ee3441aa2b6e25bbe8d60 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/ObjectPool.cs b/BlueWater/Assets/02.Scripts/ObjectPool.cs new file mode 100644 index 000000000..0dc5bd16b --- /dev/null +++ b/BlueWater/Assets/02.Scripts/ObjectPool.cs @@ -0,0 +1,39 @@ +using Sirenix.OdinInspector; +using UnityEngine; + +// ReSharper disable once CheckNamespace +namespace BlueWaterProject +{ + public class ObjectPool : MonoBehaviour + { + private void Awake() + { + CreateDefaultSetting(); + } + + [Button("기본 설정")] + private void CreateDefaultSetting() + { + var objects = transform.Find("Objects"); + if (!objects) + { + objects = new GameObject("Objects").transform; + objects.transform.parent = transform; + } + + var particles = transform.Find("Particles"); + if (!particles) + { + particles = new GameObject("Particles").transform; + particles.transform.parent = transform; + } + + var fireballs = particles.Find("Fireballs"); + if (!fireballs) + { + fireballs = new GameObject("Fireballs").transform; + fireballs.transform.parent = particles; + } + } + } +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/ObjectPool.cs.meta b/BlueWater/Assets/02.Scripts/ObjectPool.cs.meta new file mode 100644 index 000000000..29f153d03 --- /dev/null +++ b/BlueWater/Assets/02.Scripts/ObjectPool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5e8e922b241b6941a7c7a572f38bdad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/02.Scripts/SpawnController.cs b/BlueWater/Assets/02.Scripts/SpawnController.cs index a3d83f58a..af5fa3c0c 100644 --- a/BlueWater/Assets/02.Scripts/SpawnController.cs +++ b/BlueWater/Assets/02.Scripts/SpawnController.cs @@ -12,8 +12,8 @@ namespace BlueWaterProject { public class SpawnController : MonoBehaviour { - [SerializeField] private float checkRadius = 2f; - [SerializeField] private float instantiationRadius = 0.5f; + [SerializeField] private float instantiationDistance = 3f; + [SerializeField] private float checkRadius = 1f; [SerializeField] private LayerMask checkLayer; [InlineButton("AddCrewmate", "Crewmate 추가")] @@ -101,13 +101,13 @@ namespace BlueWaterProject return; } - for (var i = 0; i < 30; i++) + for (var i = 0; i < 50; i++) { - var randomDirection = Random.insideUnitSphere.normalized; - var spawnPos = GameManager.Inst.InIslandPlayer.transform.position + (randomDirection * Random.Range(2, checkRadius)); + var randomDirection = new Vector3(Random.Range(-1f, 1f), 0, Random.Range(-1f, 1f)).normalized; + var spawnPos = GameManager.Inst.InIslandPlayer.transform.position + (randomDirection * instantiationDistance); Array.Clear(colliders, 0, MAX_COLLIDER); - var size = Physics.OverlapSphereNonAlloc(spawnPos, instantiationRadius, colliders, checkLayer); + var size = Physics.OverlapSphereNonAlloc(spawnPos, checkRadius, colliders, checkLayer); if (size != 0) continue; @@ -118,6 +118,8 @@ namespace BlueWaterProject GameManager.Inst.InIslandPlayer.CrewmateList.Add(crewmate); return; } + + print("소환할 수 있는 자리가 없습니다."); } } } \ No newline at end of file diff --git a/BlueWater/Assets/05.Prefabs/Characters/Enemies/RedOrc2.prefab b/BlueWater/Assets/05.Prefabs/Characters/Enemies/RedOrc2.prefab index d00610beb..77f0b95e0 100644 --- a/BlueWater/Assets/05.Prefabs/Characters/Enemies/RedOrc2.prefab +++ b/BlueWater/Assets/05.Prefabs/Characters/Enemies/RedOrc2.prefab @@ -320,6 +320,37 @@ Transform: - {fileID: 1037157117629966495} m_Father: {fileID: 8304616876847118944} m_LocalEulerAnglesHint: {x: 0, y: 0, z: -30} +--- !u!1 &549053786257392620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7751354673028900355} + m_Layer: 0 + m_Name: ShootPos + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7751354673028900355 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 549053786257392620} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.005, y: 0.431, z: 0.023} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3984402515734150855} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &582608418531650571 GameObject: m_ObjectHideFlags: 0 @@ -2682,7 +2713,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 7751354673028900355} m_Father: {fileID: 5900184285731501723} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &254721607006302599 diff --git a/BlueWater/Assets/09.BehaviorTree/Enemy/Crewmate.asset b/BlueWater/Assets/09.BehaviorTree/Enemy/Crewmate.asset index 51117f686..59f2b0e37 100644 --- a/BlueWater/Assets/09.BehaviorTree/Enemy/Crewmate.asset +++ b/BlueWater/Assets/09.BehaviorTree/Enemy/Crewmate.asset @@ -35,21 +35,21 @@ MonoBehaviour: != null"},"ID":19,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(118.636337,150.562012)"},"ID":20,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-95.48871,148.5675)"},"ID":21,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BlueWaterProject.BehaviorAsset.Enemy.IsTargetWithinRange","NodeData":{"Offset":"(-155.961533,147.5)","Comment":"Is Target Within Range == true"},"ID":22,"Name":"Is Target Within Range","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityNavMeshAgent.SetIsStopped","NodeData":{"Offset":"(108.343018,154.24353)","Comment":"isStopped = true"},"ID":23,"Name":"Set Is Stopped","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"SharedBoolisStopped":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true}}]},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(168.788086,151.5149)","Comment":"Target - Move(Default)\nreturn true"},"ID":24,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(1114.03149,149.316284)"},"ID":25,"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":"(0,300)"},"ID":26,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1371.45886,150.000244)"},"ID":27,"Name":"BeAttacked + Move(Default)\nreturn true"},"ID":24,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(1114.03149,149.316284)"},"ID":25,"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":"(0,300)"},"ID":26,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1371.45886,150.000244)"},"ID":27,"Name":"BeAttacked Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.HasReceivedEvent","NodeData":{"Offset":"(-104.7641,148.421387)","Comment":"BeAttacked Event"},"ID":28,"Name":"Has Received Event","Instant":true,"SharedStringeventName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"BeAttackedInIdle"},"SharedVariablestoredValue1":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"}},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(65.65216,150)","Comment":"Target - Move(DEFAULT)\nreturn false"},"ID":29,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-532.353,150)"},"ID":30,"Name":"Comeback + Move(DEFAULT)\nreturn false"},"ID":29,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-532.353,150)"},"ID":30,"Name":"Comeback Selector","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-485.7771,147.14563)"},"ID":31,"Name":"Go Out Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWaterProject.BehaviorAsset.Enemy.GoOutOfBounds","NodeData":{"Offset":"(-297.9041,150)","Comment":"Go Out Of Bounds == true"},"ID":32,"Name":"Go Out Of Bounds","Instant":true},{"Type":"BlueWaterProject.SetTarget","NodeData":{"Offset":"(-100,150)","Comment":"Target = null"},"ID":33,"Name":"Set Target","Instant":true},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(90.9448242,150)","Comment":"Target - Move(FAST)\nreturn true"},"ID":34,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"FAST","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(265.113647,149.967529)","Comment":"IsCombated + Move(FAST)\nreturn true"},"ID":34,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":2,"EStopTypestopType":"MAXIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(265.113647,149.967529)","Comment":"IsCombated = false"},"ID":35,"Name":"Set Shared Bool","Instant":true,"SharedBooltargetValue":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedBooltargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(456.0724,153.845825)"},"ID":36,"Name":"Comeback Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedCollider","NodeData":{"Offset":"(-467.13443,150)","Comment":"Target == null"},"ID":37,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-252.028122,145.4104)","Comment":"IsCombated == true"},"ID":38,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-75.26315,146.842163)","Comment":"BeAttacked == false"},"ID":39,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"BeAttackedInIdle","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(61.0610847,149.344238)"},"ID":40,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.1},"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":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(185.022949,146.189819)","Comment":"Target - Move(Default)\nreturn true"},"ID":41,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(335,147.5)","Comment":"IsCombated + Move(Default)\nreturn true"},"ID":41,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":2,"EStopTypestopType":"MAXIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(335,147.5)","Comment":"IsCombated = false"},"ID":42,"Name":"Set Shared Bool","Instant":true,"SharedBooltargetValue":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedBooltargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(658.652,154.838745)"},"ID":43,"Name":"Attack Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-161.277924,151.643555)"},"ID":44,"Name":"CanAttack Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-90,150)"},"ID":45,"Name":"Inverter","Instant":true,"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedCollider","NodeData":{"Offset":"(0,150)","Comment":"Target diff --git a/BlueWater/Assets/09.BehaviorTree/Enemy/InIslandPlayer.asset b/BlueWater/Assets/09.BehaviorTree/Enemy/InIslandPlayer.asset index 6731cc5ce..9da7b8bc8 100644 --- a/BlueWater/Assets/09.BehaviorTree/Enemy/InIslandPlayer.asset +++ b/BlueWater/Assets/09.BehaviorTree/Enemy/InIslandPlayer.asset @@ -35,21 +35,21 @@ MonoBehaviour: != null"},"ID":19,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(118.636337,150.562012)"},"ID":20,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-95.48871,148.5675)"},"ID":21,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BlueWaterProject.BehaviorAsset.Enemy.IsTargetWithinRange","NodeData":{"Offset":"(-155.961533,147.5)","Comment":"Is Target Within Range == true"},"ID":22,"Name":"Is Target Within Range","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityNavMeshAgent.SetIsStopped","NodeData":{"Offset":"(108.343018,154.24353)","Comment":"isStopped = true"},"ID":23,"Name":"Set Is Stopped","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"SharedBoolisStopped":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true}}]},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(168.788086,151.5149)","Comment":"Target - Move(Default)\nreturn true"},"ID":24,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(1114.03149,149.316284)"},"ID":25,"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":"(0,300)"},"ID":26,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1371.45886,150.000244)"},"ID":27,"Name":"BeAttacked + Move(Default)\nreturn true"},"ID":24,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(1114.03149,149.316284)"},"ID":25,"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":"(0,300)"},"ID":26,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1371.45886,150.000244)"},"ID":27,"Name":"BeAttacked Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.HasReceivedEvent","NodeData":{"Offset":"(-104.7641,148.421387)","Comment":"BeAttacked Event"},"ID":28,"Name":"Has Received Event","Instant":true,"SharedStringeventName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"BeAttackedInIdle"},"SharedVariablestoredValue1":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"}},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(65.65216,150)","Comment":"Target - Move(DEFAULT)\nreturn false"},"ID":29,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-532.353,150)"},"ID":30,"Name":"Comeback + Move(DEFAULT)\nreturn false"},"ID":29,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-532.353,150)"},"ID":30,"Name":"Comeback Selector","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-485.7771,147.14563)"},"ID":31,"Name":"Go Out Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWaterProject.BehaviorAsset.Enemy.GoOutOfBounds","NodeData":{"Offset":"(-297.9041,150)","Comment":"Go Out Of Bounds == true"},"ID":32,"Name":"Go Out Of Bounds","Instant":true},{"Type":"BlueWaterProject.SetTarget","NodeData":{"Offset":"(-100,150)","Comment":"Target = null"},"ID":33,"Name":"Set Target","Instant":true},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(90.9448242,150)","Comment":"Target - Move(FAST)\nreturn true"},"ID":34,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"FAST","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(265.113647,149.967529)","Comment":"IsCombated + Move(FAST)\nreturn true"},"ID":34,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":2,"EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(265.113647,149.967529)","Comment":"IsCombated = false"},"ID":35,"Name":"Set Shared Bool","Instant":true,"SharedBooltargetValue":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedBooltargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(456.0724,153.845825)"},"ID":36,"Name":"Comeback Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedCollider","NodeData":{"Offset":"(-467.13443,150)","Comment":"Target == null"},"ID":37,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-252.028122,145.4104)","Comment":"IsCombated == true"},"ID":38,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-75.26315,146.842163)","Comment":"BeAttacked == false"},"ID":39,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"BeAttackedInIdle","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(61.0610847,149.344238)"},"ID":40,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.1},"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":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(185.022949,146.189819)","Comment":"Target - Move(Default)\nreturn true"},"ID":41,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(335,147.5)","Comment":"IsCombated + Move(Default)\nreturn true"},"ID":41,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":2,"EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(335,147.5)","Comment":"IsCombated = false"},"ID":42,"Name":"Set Shared Bool","Instant":true,"SharedBooltargetValue":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedBooltargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(658.652,154.838745)"},"ID":43,"Name":"Attack Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-161.277924,151.643555)"},"ID":44,"Name":"CanAttack Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-90,150)"},"ID":45,"Name":"Inverter","Instant":true,"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedCollider","NodeData":{"Offset":"(0,150)","Comment":"Target diff --git a/BlueWater/Assets/09.BehaviorTree/Enemy/Minion.asset b/BlueWater/Assets/09.BehaviorTree/Enemy/Minion.asset index f571dfe00..e8f143ebf 100644 --- a/BlueWater/Assets/09.BehaviorTree/Enemy/Minion.asset +++ b/BlueWater/Assets/09.BehaviorTree/Enemy/Minion.asset @@ -34,21 +34,21 @@ MonoBehaviour: != null"},"ID":17,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(152.766052,152.079224)"},"ID":18,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-126.400574,154.162415)"},"ID":19,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BlueWaterProject.BehaviorAsset.Enemy.IsTargetWithinRange","NodeData":{"Offset":"(-203.067139,147.912415)","Comment":"Is Target Within Range == true"},"ID":20,"Name":"Is Target Within Range","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.UnityNavMeshAgent.SetIsStopped","NodeData":{"Offset":"(145.682739,147.912415)","Comment":"isStopped = true"},"ID":21,"Name":"Set Is Stopped","Instant":true,"SharedGameObjecttargetGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"SharedBoolisStopped":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true}}]},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(222.349365,154.162415)","Comment":"Target - Move(Default)\nreturn true"},"ID":22,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(1111.22632,149.316284)"},"ID":23,"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":"(0,300)"},"ID":24,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1371.45886,150.000244)"},"ID":25,"Name":"BeAttacked + Move(Default)\nreturn true"},"ID":22,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(1111.22632,149.316284)"},"ID":23,"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":"(0,300)"},"ID":24,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1371.45886,150.000244)"},"ID":25,"Name":"BeAttacked Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.HasReceivedEvent","NodeData":{"Offset":"(-104.7641,148.421387)","Comment":"BeAttacked Event"},"ID":26,"Name":"Has Received Event","Instant":true,"SharedStringeventName":{"Type":"BehaviorDesigner.Runtime.SharedString","Name":null,"StringmValue":"BeAttackedInIdle"},"SharedVariablestoredValue1":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"}},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(65.65216,150)","Comment":"Target - Move(DEFAULT)\nreturn false"},"ID":27,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"DEFAULT","EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-532.353,150)"},"ID":28,"Name":"Comeback + Move(DEFAULT)\nreturn false"},"ID":27,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"ATK_RANGE","BooleanisArrivedReturnSuccess":false}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-532.353,150)"},"ID":28,"Name":"Comeback Selector","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-485.7771,147.14563)"},"ID":29,"Name":"Go Out Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWaterProject.BehaviorAsset.Enemy.GoOutOfBounds","NodeData":{"Offset":"(-297.9041,150)","Comment":"Go Out Of Bounds == true"},"ID":30,"Name":"Go Out Of Bounds","Instant":true},{"Type":"BlueWaterProject.SetTarget","NodeData":{"Offset":"(-100,150)","Comment":"Target = null"},"ID":31,"Name":"Set Target","Instant":true},{"Type":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(90.9448242,150)","Comment":"Target - Move(FAST)\nreturn true"},"ID":32,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"FAST","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(265.113647,149.967529)","Comment":"IsCombated + Move(FAST)\nreturn true"},"ID":32,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":2,"EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(265.113647,149.967529)","Comment":"IsCombated = false"},"ID":33,"Name":"Set Shared Bool","Instant":true,"SharedBooltargetValue":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedBooltargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(456.0724,153.845825)"},"ID":34,"Name":"Comeback Sequence","Instant":true,"AbortTypeabortType":"Self","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedCollider","NodeData":{"Offset":"(-467.13443,150)","Comment":"Target == null"},"ID":35,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-252.028122,145.4104)","Comment":"IsCombated == true"},"ID":36,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-75.26315,146.842163)","Comment":"BeAttacked == false"},"ID":37,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"BeAttackedInIdle","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(61.0610847,149.344238)"},"ID":38,"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":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(185.022949,146.189819)","Comment":"Target - Move(Fast)\nreturn true"},"ID":39,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"ESpeedTypespeedType":"FAST","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(335,147.5)","Comment":"IsCombated + Move(Fast)\nreturn true"},"ID":39,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":false,"SinglemultiplyMoveSpd":2,"EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.SetSharedBool","NodeData":{"Offset":"(335,147.5)","Comment":"IsCombated = false"},"ID":40,"Name":"Set Shared Bool","Instant":true,"SharedBooltargetValue":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedBooltargetVariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(658.652,154.838745)"},"ID":41,"Name":"Attack Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-161.277924,151.643555)"},"ID":42,"Name":"CanAttack Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Inverter","NodeData":{"Offset":"(-90,150)"},"ID":43,"Name":"Inverter","Instant":true,"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedCollider","NodeData":{"Offset":"(0,150)","Comment":"Target @@ -60,7 +60,7 @@ MonoBehaviour: == null"},"ID":49,"Name":"Compare Shared Collider","Instant":true,"SharedCollidervariable":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},"SharedCollidercompareTo":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-188.179886,148.636353)","Comment":"IsCombated == false"},"ID":50,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false}},{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedBool","NodeData":{"Offset":"(-0.722427368,145.664551)","Comment":"BeAttacked == false"},"ID":51,"Name":"Compare Shared Bool","Instant":true,"SharedBoolvariable":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"BeAttackedInIdle","IsShared":true,"BooleanmValue":false},"SharedBoolcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(159.873154,146.842163)"},"ID":52,"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":"BlueWaterProject.BehaviorAsset.Enemy.MoveTarget","NodeData":{"Offset":"(378.388855,150.379761)","Comment":"Target - Move(Slow)\nreturn true"},"ID":53,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":true,"ESpeedTypespeedType":"SLOW","EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true}]}]}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"AnimatiorObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"MyCollider","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"BeAttackedInIdle","IsShared":true,"BooleanmValue":false}]}' + Move(Slow)\nreturn true"},"ID":53,"Name":"Move Target","Instant":true,"SharedCollidertarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null},"SharedVector3movePos":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"BooleanrandomMove":true,"SinglemultiplyMoveSpd":1,"EStopTypestopType":"MINIMUM","BooleanisArrivedReturnSuccess":true}]}]}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"AnimatiorObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"MyCollider","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"CurrentHp","IsShared":true,"SinglemValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"AttackPos","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":"DefensePos","IsShared":true,"Vector3mValue":"(0,0,0)"},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsCombated","IsShared":true,"BooleanmValue":false},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"BeAttackedInIdle","IsShared":true,"BooleanmValue":false}]}' fieldSerializationData: typeName: [] fieldNameHash: diff --git a/BlueWater/ProjectSettings/DynamicsManager.asset b/BlueWater/ProjectSettings/DynamicsManager.asset index 6b5fa5ea8..b0142c2b1 100644 --- a/BlueWater/ProjectSettings/DynamicsManager.asset +++ b/BlueWater/ProjectSettings/DynamicsManager.asset @@ -17,7 +17,7 @@ PhysicsManager: m_EnableAdaptiveForce: 0 m_ClothInterCollisionDistance: 0.1 m_ClothInterCollisionStiffness: 0.2 - m_LayerCollisionMatrix: 100000001000000010000000381f00001f080000080000000000000000010000884700000807000008070000181001000808000000400100002100000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_LayerCollisionMatrix: 0000000000000000000000000026020000000000000000000000000000000000000000000826200008022000000000000000000008222000000000000000000000000000080000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_SimulationMode: 0 m_AutoSyncTransforms: 0 m_ReuseCollisionCallbacks: 0 diff --git a/BlueWater/ProjectSettings/TagManager.asset b/BlueWater/ProjectSettings/TagManager.asset index b488fb054..f9547b1e6 100644 --- a/BlueWater/ProjectSettings/TagManager.asset +++ b/BlueWater/ProjectSettings/TagManager.asset @@ -3,17 +3,7 @@ --- !u!78 &1 TagManager: serializedVersion: 2 - tags: - - Ship - - Ground - - Stair - - Enemy - - Pirate - - House - - Unit - - Missile - - Area - - Tower + tags: [] layers: - Default - TransparentFX @@ -21,16 +11,21 @@ TagManager: - Ground - Water - UI - - Unit - - Ship + - + - + - - Player - Crewmate + - + - - Enemy - - Weapon - - HitBox - - ShipPlayer + - + - + - - Npc - + - + - - Props - - @@ -42,11 +37,6 @@ TagManager: - - - - - - - - - - - - - m_SortingLayers: - name: Default uniqueID: 0