Layer, Tag, Physic 초기화 및 재설정

+ IView, IAiView 분리 및 수정
+ ObjectPool 기능 추가 준비 중
This commit is contained in:
NTG_Lenovo 2023-10-18 16:28:15 +09:00
parent 142933c5a5
commit 58a582c176
22 changed files with 625 additions and 264 deletions

View File

@ -486,6 +486,37 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1519076350} m_PrefabInstance: {fileID: 1519076350}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &122687531
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -680,7 +711,7 @@ PrefabInstance:
- target: {fileID: 3388854588669550803, guid: fbe5f9d69cf27974fa4899b0bcf542c8, - target: {fileID: 3388854588669550803, guid: fbe5f9d69cf27974fa4899b0bcf542c8,
type: 3} type: 3}
propertyPath: m_TagString propertyPath: m_TagString
value: House value: Untagged
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: m_RemovedComponents:
- {fileID: 2577968403773185409, guid: fbe5f9d69cf27974fa4899b0bcf542c8, type: 3} - {fileID: 2577968403773185409, guid: fbe5f9d69cf27974fa4899b0bcf542c8, type: 3}
@ -1938,6 +1969,52 @@ Transform:
- {fileID: 302959423} - {fileID: 302959423}
m_Father: {fileID: 971043561} m_Father: {fileID: 971043561}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 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 --- !u!1001 &418278335
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2106,32 +2183,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 076d9e0e755d32146a0cba706a625969, type: 3} m_Script: {fileID: 11500000, guid: 076d9e0e755d32146a0cba706a625969, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isDrawGizmos: 1
isDrawViewRange: 1
isDrawDefenseRange: 1
isDrawTargetRange: 1
<MaxHp>k__BackingField: 250
<CurrentHp>k__BackingField: 0
<MoveSpd>k__BackingField: 5
<Atk>k__BackingField: 10
<AtkCooldown>k__BackingField: 1
<AtkRange>k__BackingField: 1.5
<DefenseRange>k__BackingField: 20
<IsRandomMove>k__BackingField: 0
<RandomMoveRange>k__BackingField: 0
groundDistance: 0.2
groundLayer:
serializedVersion: 2
m_Bits: 0
isGrounded: 0
<DefensePos>k__BackingField: {x: 0, y: 0, z: 0}
<IsCombated>k__BackingField: 0
<BeAttackedInIdle>k__BackingField: 0
<UseRigidbody>k__BackingField: 0
beAttacked: 0
isAttacking: 0
<CrewmateList>k__BackingField: []
<ViewRadius>k__BackingField: 15 <ViewRadius>k__BackingField: 15
<AtkRange>k__BackingField: 1.5
<Targets>k__BackingField: <Targets>k__BackingField:
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}
@ -2167,6 +2220,30 @@ MonoBehaviour:
<TargetLayer>k__BackingField: <TargetLayer>k__BackingField:
serializedVersion: 2 serializedVersion: 2
m_Bits: 0 m_Bits: 0
isDrawGizmos: 1
isDrawViewRange: 1
isDrawDefenseRange: 1
isDrawTargetRange: 1
<MaxHp>k__BackingField: 250
<CurrentHp>k__BackingField: 0
<MoveSpd>k__BackingField: 5
<Atk>k__BackingField: 10
<AtkCooldown>k__BackingField: 1
<DefenseRange>k__BackingField: 20
<IsRandomMove>k__BackingField: 0
<RandomMoveRange>k__BackingField: 0
groundDistance: 0.2
groundLayer:
serializedVersion: 2
m_Bits: 0
isGrounded: 0
<DefensePos>k__BackingField: {x: 0, y: 0, z: 0}
<IsCombated>k__BackingField: 0
<BeAttackedInIdle>k__BackingField: 0
<UseRigidbody>k__BackingField: 0
beAttacked: 0
isAttacking: 0
<CrewmateList>k__BackingField: []
--- !u!114 &418278343 --- !u!114 &418278343
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3003,6 +3080,37 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 623360154} m_PrefabInstance: {fileID: 623360154}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &633494890
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3024,7 +3132,7 @@ PrefabInstance:
- target: {fileID: 6209097434605892902, guid: a003617243f099842ac3523a93f80e28, - target: {fileID: 6209097434605892902, guid: a003617243f099842ac3523a93f80e28,
type: 3} type: 3}
propertyPath: m_TagString propertyPath: m_TagString
value: House value: Untagged
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28, - target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28,
type: 3} type: 3}
@ -5298,6 +5406,37 @@ GameObject:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1229083196} m_PrefabInstance: {fileID: 1229083196}
m_PrefabAsset: {fileID: 0} 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 --- !u!4 &1037063016 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 489124, guid: a70152ac9ec4ea14e94da160b98b6fad, m_CorrespondingSourceObject: {fileID: 489124, guid: a70152ac9ec4ea14e94da160b98b6fad,
@ -6083,6 +6222,37 @@ NavMeshObstacle:
m_CarveOnlyStationary: 1 m_CarveOnlyStationary: 1
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
m_TimeToStationary: 0.5 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 --- !u!1001 &1259135358
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -7108,7 +7278,7 @@ PrefabInstance:
- target: {fileID: 176149940216585557, guid: 726da43882bc7cf4794b6164bb2acaa5, - target: {fileID: 176149940216585557, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3} type: 3}
propertyPath: m_TagString propertyPath: m_TagString
value: House value: Untagged
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5, - target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3} type: 3}
@ -7986,6 +8156,38 @@ NavMeshObstacle:
m_CarveOnlyStationary: 1 m_CarveOnlyStationary: 1
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
m_TimeToStationary: 0.5 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 --- !u!1001 &1636445598
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -8830,11 +9032,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 551a6add4224f7643ba9b247325d9049, type: 3} m_Script: {fileID: 11500000, guid: 551a6add4224f7643ba9b247325d9049, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
checkRadius: 3 instantiationDistance: 3
instantiationRadius: 1 checkRadius: 1
checkLayer: checkLayer:
serializedVersion: 2 serializedVersion: 2
m_Bits: 67328 m_Bits: 1536
crewmateIndex: 0 crewmateIndex: 0
--- !u!4 &1805195289 --- !u!4 &1805195289
Transform: Transform:
@ -9436,6 +9638,37 @@ NavMeshObstacle:
m_CarveOnlyStationary: 1 m_CarveOnlyStationary: 1
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002} m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
m_TimeToStationary: 0.5 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 --- !u!1001 &2117062064
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9769,12 +10002,16 @@ SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_Roots: m_Roots:
- {fileID: 85768103} - {fileID: 85768103}
- {fileID: 971043561}
- {fileID: 1068410571}
- {fileID: 334724479} - {fileID: 334724479}
- {fileID: 879331195} - {fileID: 879331195}
- {fileID: 1328364443} - {fileID: 971043561}
- {fileID: 1068410571}
- {fileID: 1805195289} - {fileID: 1805195289}
- {fileID: 417739632}
- {fileID: 1328364443}
- {fileID: 823586986} - {fileID: 823586986}
- {fileID: 888439616} - {fileID: 888439616}
- {fileID: 622197515} - {fileID: 622197515}
- {fileID: 1027761195}
- {fileID: 630615297}
- {fileID: 2095144760}

View File

@ -15,7 +15,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
public override void OnStart() public override void OnStart()
{ {
iAiView.FindNearestTargetInRange(); iAiView.FindNearestTargetInRange(iAiView.MyCollider.bounds.center);
} }
public override TaskStatus OnUpdate() public override TaskStatus OnUpdate()

View File

@ -17,7 +17,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
[SerializeField] private SharedCollider target; [SerializeField] private SharedCollider target;
[SerializeField] private SharedVector3 movePos; [SerializeField] private SharedVector3 movePos;
[SerializeField] private bool randomMove; [SerializeField] private bool randomMove;
[SerializeField] private ESpeedType speedType; [SerializeField] private float multiplyMoveSpd = 1f;
[SerializeField] private EStopType stopType; [SerializeField] private EStopType stopType;
[SerializeField] private bool isArrivedReturnSuccess = true; [SerializeField] private bool isArrivedReturnSuccess = true;
@ -45,7 +45,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
destinationPos = hit.position; destinationPos = hit.position;
targetPos = destinationPos; targetPos = destinationPos;
iAiView.MoveTarget(targetPos, speedType, GetStopDistance(stopType)); iAiView.MoveTarget(targetPos, iAiView.MoveSpd * multiplyMoveSpd, GetStopDistance(stopType));
return; return;
} }
@ -60,7 +60,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
} }
targetPos = target?.Value != null ? target.Value.transform.position : movePos.Value; 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() public override TaskStatus OnUpdate()
@ -70,7 +70,7 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
if (!iAiView.Agent.pathPending && if (!iAiView.Agent.pathPending &&
iAiView.Agent.remainingDistance <= iAiView.Agent.stoppingDistance) return TaskStatus.Success; 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; return TaskStatus.Running;
} }

View File

@ -13,19 +13,12 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
iNormalAttack = transform.GetComponent<INormalAttack>(); iNormalAttack = transform.GetComponent<INormalAttack>();
} }
public override void OnStart()
{
iNormalAttack.NormalAttack();
}
public override TaskStatus OnUpdate() public override TaskStatus OnUpdate()
{ {
return iNormalAttack.GetUsedNormalAttackCoroutine() ? TaskStatus.Running : TaskStatus.Success; if (iNormalAttack.GetUsedNormalAttackCoroutine()) return TaskStatus.Running;
}
iNormalAttack.NormalAttack();
public override void OnEnd() return TaskStatus.Success;
{
iNormalAttack.StopNormalAttackCoroutine();
} }
} }
} }

View File

@ -15,7 +15,8 @@ namespace BlueWaterProject.BehaviorAsset.Enemy
public override TaskStatus OnUpdate() public override TaskStatus OnUpdate()
{ {
return iAiView.IsTargetWithinRange() ? TaskStatus.Success : TaskStatus.Failure; return iAiView.IsTargetWithinRange(iAiView.MyCollider.bounds.center, iAiView.AtkRange) ?
TaskStatus.Success : TaskStatus.Failure;
} }
} }
} }

View File

@ -37,7 +37,7 @@ namespace BlueWaterProject
[field: SerializeField] public float CurrentHp { get; private set; } [field: SerializeField] public float CurrentHp { get; private set; }
[field: Tooltip("이동 속도 설정")] [field: Tooltip("이동 속도 설정")]
[field: SerializeField] public float MoveSpd { get; private set; } = 5f; [field: SerializeField] public float MoveSpd { get; set; } = 5f;
[field: Tooltip("공격력 설정")] [field: Tooltip("공격력 설정")]
[field: SerializeField] public float Atk { get; private set; } = 10f; [field: SerializeField] public float Atk { get; private set; } = 10f;
@ -76,7 +76,7 @@ namespace BlueWaterProject
protected WaitForSeconds waitAtkCooldown; protected WaitForSeconds waitAtkCooldown;
protected Rigidbody rb; protected Rigidbody rb;
public Collider MyCollider { get; private set; } public Collider MyCollider { get; set; }
protected Animator myAnimator; protected Animator myAnimator;
public NavMeshAgent Agent { get; set; } public NavMeshAgent Agent { get; set; }
@ -123,7 +123,7 @@ namespace BlueWaterProject
waitAtkCooldown = new WaitForSeconds(AtkCooldown); waitAtkCooldown = new WaitForSeconds(AtkCooldown);
Agent.updateRotation = false; Agent.updateRotation = false;
SetAgentSpeed(ESpeedType.DEFAULT); SetAgentSpeed(MoveSpd);
SetCurrentHp(MaxHp); SetCurrentHp(MaxHp);
} }
@ -163,8 +163,6 @@ namespace BlueWaterProject
var localScale = transform.localScale; var localScale = transform.localScale;
if (UseRigidbody) 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 localScale.x = rb.velocity.x switch
{ {
> 0 => Mathf.Abs(localScale.x), > 0 => Mathf.Abs(localScale.x),
@ -200,6 +198,15 @@ namespace BlueWaterProject
transform.localScale = localScale; 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 #endregion
@ -247,12 +254,11 @@ namespace BlueWaterProject
private const int MAX_COLLIDERS = 30; 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); Array.Clear(Targets, 0, MAX_COLLIDERS);
var myCenterPos = MyCollider.bounds.center; var numResults = Physics.OverlapSphereNonAlloc(centerPos, ViewRadius, Targets, TargetLayer,
var numResults = Physics.OverlapSphereNonAlloc(myCenterPos, ViewRadius, Targets, TargetLayer,
targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore); targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore);
if (numResults <= 0) if (numResults <= 0)
@ -266,7 +272,7 @@ namespace BlueWaterProject
for (var i = 0; i < numResults; i++) 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; 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; var inRange = Vector3.Distance(centerPos, Target.bounds.center) <= AtkRange;
return attackInRange; return inRange;
} }
public bool GoOutOfBounds() public bool GoOutOfBounds()
@ -300,11 +306,11 @@ namespace BlueWaterProject
return !defensePosInRange; 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; if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return;
SetAgentSpeed(speedType); SetAgentSpeed(speed);
Agent.stoppingDistance = stopDistance; Agent.stoppingDistance = stopDistance;
Agent.isStopped = false; Agent.isStopped = false;
Agent.SetDestination(targetPos); Agent.SetDestination(targetPos);
@ -338,7 +344,7 @@ namespace BlueWaterProject
if (Target) return; 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() private IEnumerator BeAttacked()
@ -350,27 +356,7 @@ namespace BlueWaterProject
beAttacked = false; beAttacked = false;
} }
private void SetAgentSpeed(ESpeedType speedType) private void SetAgentSpeed(float value) => Agent.speed = value;
{
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 SetCurrentHp(float value) => CurrentHp = value; private void SetCurrentHp(float value) => CurrentHp = value;
#endregion #endregion

View File

@ -43,7 +43,7 @@ namespace BlueWaterProject
[field: SerializeField] public float CurrentHp { get; private set; } [field: SerializeField] public float CurrentHp { get; private set; }
[field: Tooltip("이동 속도 설정")] [field: Tooltip("이동 속도 설정")]
[field: SerializeField] public float MoveSpd { get; private set; } = 5f; [field: SerializeField] public float MoveSpd { get; set; } = 5f;
[field: Tooltip("공격력 설정")] [field: Tooltip("공격력 설정")]
[field: SerializeField] public float Atk { get; private set; } = 10f; [field: SerializeField] public float Atk { get; private set; } = 10f;
@ -81,7 +81,7 @@ namespace BlueWaterProject
// Component // Component
protected Rigidbody rb; protected Rigidbody rb;
public Collider MyCollider { get; private set; } public Collider MyCollider { get; set; }
public NavMeshAgent Agent { get; set; } public NavMeshAgent Agent { get; set; }
protected BehaviorTree bt; protected BehaviorTree bt;
protected Animator myAnimator; protected Animator myAnimator;
@ -207,7 +207,7 @@ namespace BlueWaterProject
Agent.updateRotation = false; Agent.updateRotation = false;
DefensePos = transform.position; DefensePos = transform.position;
SetAgentSpeed(ESpeedType.DEFAULT); SetAgentSpeed(MoveSpd);
SetCurrentHp(MaxHp); SetCurrentHp(MaxHp);
} }
@ -255,12 +255,11 @@ namespace BlueWaterProject
private const int MAX_COLLIDERS = 30; 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); Array.Clear(Targets, 0, MAX_COLLIDERS);
var myCenterPos = MyCollider.bounds.center; var numResults = Physics.OverlapSphereNonAlloc(centerPos, ViewRadius, Targets, TargetLayer,
var numResults = Physics.OverlapSphereNonAlloc(myCenterPos, ViewRadius, Targets, TargetLayer,
targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore); targetIsTrigger ? QueryTriggerInteraction.Collide : QueryTriggerInteraction.Ignore);
if (numResults <= 0) if (numResults <= 0)
@ -274,7 +273,7 @@ namespace BlueWaterProject
for (var i = 0; i < numResults; i++) 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; 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; var inRange = Vector3.Distance(centerPos, Target.bounds.center) <= range;
return attackInRange; return inRange;
} }
public bool GoOutOfBounds() public bool GoOutOfBounds()
@ -310,7 +309,7 @@ namespace BlueWaterProject
return !defensePosInRange; return !defensePosInRange;
} }
public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance) public void MoveTarget(Vector3 targetPos, float speed, float stopDistance = float.MaxValue)
{ {
switch (BehaviorType) switch (BehaviorType)
{ {
@ -328,7 +327,7 @@ namespace BlueWaterProject
if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return; if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return;
SetAgentSpeed(speedType); SetAgentSpeed(speed);
Agent.stoppingDistance = stopDistance; Agent.stoppingDistance = stopDistance;
Agent.isStopped = false; Agent.isStopped = false;
Agent.SetDestination(targetPos); Agent.SetDestination(targetPos);
@ -386,27 +385,7 @@ namespace BlueWaterProject
} }
} }
private void SetAgentSpeed(ESpeedType speedType) private void SetAgentSpeed(float value) => Agent.speed = value;
{
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 SetCurrentHp(float value) => CurrentHp = value; private void SetCurrentHp(float value) => CurrentHp = value;
#endregion #endregion

View File

@ -12,8 +12,9 @@ namespace BlueWaterProject
#region Properties and variables #region Properties and variables
[Title("Weapon")] [Title("Weapon")]
[SerializeField] private ParticleSystem fireball; [SerializeField] private ParticleSystem fireballParticle;
[SerializeField] private float fireballSpd = 10f; [SerializeField] private float fireballSpd = 10f;
[SerializeField] private Vector3 shootPos;
#endregion #endregion

View File

@ -1,3 +1,5 @@
using System;
using Sirenix.OdinInspector;
using UnityEngine; using UnityEngine;
using UnityEngine.InputSystem; using UnityEngine.InputSystem;
@ -5,7 +7,7 @@ using UnityEngine.InputSystem;
namespace BlueWaterProject namespace BlueWaterProject
{ {
[RequireComponent(typeof(PlayerInput))] [RequireComponent(typeof(PlayerInput))]
public class Player : BaseCharacter, IDamageable public class Player : BaseCharacter, IDamageable, IView
{ {
protected Vector2 movementInput; protected Vector2 movementInput;
@ -18,5 +20,64 @@ namespace BlueWaterProject
{ {
movementInput = value.Get<Vector2>(); movementInput = value.Get<Vector2>();
} }
#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
} }
} }

View File

@ -4,7 +4,6 @@ using System.Collections.Generic;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using UnityEngine; using UnityEngine;
using UnityEngine.AI; using UnityEngine.AI;
using UnityEngine.InputSystem;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace
namespace BlueWaterProject namespace BlueWaterProject
@ -37,7 +36,7 @@ namespace BlueWaterProject
[field: SerializeField] public float CurrentHp { get; private set; } [field: SerializeField] public float CurrentHp { get; private set; }
[field: Tooltip("이동 속도 설정")] [field: Tooltip("이동 속도 설정")]
[field: SerializeField] public float MoveSpd { get; private set; } = 5f; [field: SerializeField] public float MoveSpd { get; set; } = 5f;
[field: Tooltip("공격력 설정")] [field: Tooltip("공격력 설정")]
[field: SerializeField] public float Atk { get; private set; } = 10f; [field: SerializeField] public float Atk { get; private set; } = 10f;
@ -45,9 +44,6 @@ namespace BlueWaterProject
[field: Tooltip("공격 속도(다음 공격 주기)\nAtkCooldown = 2f (2초마다 1번 공격)")] [field: Tooltip("공격 속도(다음 공격 주기)\nAtkCooldown = 2f (2초마다 1번 공격)")]
[field: SerializeField] public float AtkCooldown { get; private set; } = 1f; [field: SerializeField] public float AtkCooldown { get; private set; } = 1f;
[field: Tooltip("공격 사거리 설정")]
[field: SerializeField] public float AtkRange { get; set; } = 1.5f;
[field: Tooltip("이동 제한 범위 설정")] [field: Tooltip("이동 제한 범위 설정")]
[field: SerializeField] public float DefenseRange { get; private set; } = 20f; [field: SerializeField] public float DefenseRange { get; private set; } = 20f;
@ -84,7 +80,7 @@ namespace BlueWaterProject
private WaitForSeconds waitAtkCooldown; private WaitForSeconds waitAtkCooldown;
public Rigidbody Rb { get; private set; } public Rigidbody Rb { get; private set; }
public Collider MyCollider { get; private set; } public Collider MyCollider { get; set; }
private Animator myAnimator; private Animator myAnimator;
public NavMeshAgent Agent { get; set; } public NavMeshAgent Agent { get; set; }
@ -164,7 +160,7 @@ namespace BlueWaterProject
waitAtkCooldown = new WaitForSeconds(AtkCooldown); waitAtkCooldown = new WaitForSeconds(AtkCooldown);
Agent.updateRotation = false; Agent.updateRotation = false;
SetAgentSpeed(ESpeedType.DEFAULT); SetAgentSpeed(MoveSpd);
SetCurrentHp(MaxHp); SetCurrentHp(MaxHp);
} }
@ -206,11 +202,6 @@ namespace BlueWaterProject
var localScale = transform.localScale; var localScale = transform.localScale;
if (UseRigidbody) 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 localScale.x = Rb.velocity.x switch
{ {
> 0 => Mathf.Abs(localScale.x), > 0 => Mathf.Abs(localScale.x),
@ -246,6 +237,18 @@ namespace BlueWaterProject
transform.localScale = localScale; 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 #endregion
#region Interface #region Interface
@ -284,45 +287,7 @@ namespace BlueWaterProject
public void SetIsAttacking(int boolValue) => isAttacking = boolValue == 1; public void SetIsAttacking(int boolValue) => isAttacking = boolValue == 1;
// IAiView // IAiView
[field: Title("IAiView")] public override void SetTarget(Collider value)
[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)
{ {
Target = 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() public bool GoOutOfBounds()
{ {
var defensePosInRange = Vector3.Distance(transform.position, DefensePos) <= DefenseRange; var defensePosInRange = Vector3.Distance(transform.position, DefensePos) <= DefenseRange;
return !defensePosInRange; 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; if (Vector3.Distance(Agent.destination, targetPos) < 0.1f) return;
SetAgentSpeed(speedType); SetAgentSpeed(speed);
Agent.stoppingDistance = stopDistance; Agent.stoppingDistance = stopDistance;
Agent.isStopped = false; Agent.isStopped = false;
Agent.SetDestination(targetPos); Agent.SetDestination(targetPos);
@ -424,27 +383,6 @@ namespace BlueWaterProject
Rb.isKinematic = true; Rb.isKinematic = true;
Agent.enabled = 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() private IEnumerator BeAttacked()
{ {
@ -455,6 +393,7 @@ namespace BlueWaterProject
beAttacked = false; beAttacked = false;
} }
private void SetAgentSpeed(float value) => Agent.speed = value;
private void SetCurrentHp(float value) => CurrentHp = value; private void SetCurrentHp(float value) => CurrentHp = value;
#endregion #endregion

View File

@ -4,26 +4,42 @@ using UnityEngine.AI;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace
namespace BlueWaterProject 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; }
/// <summary> /// <summary>
/// 가장 가까운 타겟을 찾아 Target에 적 /// NavMeshAgent 컴포넌트 사용
/// </summary> /// </summary>
/// <param name="targetIsTrigger">IsTrigger Collider를 대상으로 삼을지 확인</param> NavMeshAgent Agent { get; set; }
public void FindNearestTargetInRange(bool targetIsTrigger = true);
public void SetTarget(Collider value); /// <summary>
public bool IsTargetWithinRange(); /// 자신의 콜라이더 컴포넌트 사용
/// </summary>
Collider MyCollider { get; set; }
/// <summary>
/// 지켜야 되는 중심 위치
/// </summary>
Vector3 DefensePos { get; set; }
/// <summary>
/// 이동속도
/// </summary>
float MoveSpd { get; set; }
/// <summary>
/// Idle 상태에서의 랜덤으로 움직일지 여부
/// </summary>
bool IsRandomMove { get; set; }
/// <summary>
/// 랜덤으로 움직일 거리
/// </summary>
float RandomMoveRange { get; set; }
/// <summary>
/// 특정 범위 밖을 나갔는지 확인 하는 함수
/// </summary>
/// <returns></returns>
public bool GoOutOfBounds(); public bool GoOutOfBounds();
public void MoveTarget(Vector3 targetPos, ESpeedType speedType, float stopDistance);
} }
} }

View File

@ -0,0 +1,63 @@
using UnityEngine;
using UnityEngine.AI;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public interface IView
{
/// <summary>
/// 시야 사거리
/// </summary>
float ViewRadius { get; set; }
/// <summary>
/// 공격 사거리
/// </summary>
float AtkRange { get; set; }
/// <summary>
/// 주변의 모든 타겟
/// </summary>
Collider[] Targets { get; set; }
/// <summary>
/// 현재의 타겟
/// </summary>
Collider Target { get; set; }
/// <summary>
/// 타겟으로 삼을 레이어
/// </summary>
LayerMask TargetLayer { get; set; }
/// <summary>
/// 가장 가까운 타겟을 찾아 Target에 적용
/// </summary>
/// <param name="centerPos">주변을 검색할 때의 중심이 되는 위치</param>
/// <param name="targetIsTrigger">타겟의 Collider IsTrigger 상태 여부</param>
public void FindNearestTargetInRange(Vector3 centerPos, bool targetIsTrigger = true);
/// <summary>
/// 현재 Target으로 삼을 대상 설정
/// </summary>
/// <param name="value">Target의 Collider</param>
public void SetTarget(Collider value);
/// <summary>
/// 타겟의 특정 거리 내에 있는지 확인
/// </summary>
/// <param name="centerPos">주변을 검색할 때의 중심이 되는 위치</param>
/// <param name="range">특정 사거리(공격 사거리 등)</param>
/// <returns></returns>
public bool IsTargetWithinRange(Vector3 centerPos, float range);
/// <summary>
/// 타겟으로 이동하는 함수
/// </summary>
/// <param name="targetPos">타겟의 위치</param>
/// <param name="speed">이동할 때의 속도</param>
/// <param name="stopDistance">Agent를 사용할 경우의 멈추는 거리</param>
public void MoveTarget(Vector3 targetPos, float speed, float stopDistance = float.MaxValue);
}
}

View File

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

View File

@ -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;
}
}
}
}

View File

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

View File

@ -12,8 +12,8 @@ namespace BlueWaterProject
{ {
public class SpawnController : MonoBehaviour public class SpawnController : MonoBehaviour
{ {
[SerializeField] private float checkRadius = 2f; [SerializeField] private float instantiationDistance = 3f;
[SerializeField] private float instantiationRadius = 0.5f; [SerializeField] private float checkRadius = 1f;
[SerializeField] private LayerMask checkLayer; [SerializeField] private LayerMask checkLayer;
[InlineButton("AddCrewmate", "Crewmate 추가")] [InlineButton("AddCrewmate", "Crewmate 추가")]
@ -101,13 +101,13 @@ namespace BlueWaterProject
return; return;
} }
for (var i = 0; i < 30; i++) for (var i = 0; i < 50; i++)
{ {
var randomDirection = Random.insideUnitSphere.normalized; var randomDirection = new Vector3(Random.Range(-1f, 1f), 0, Random.Range(-1f, 1f)).normalized;
var spawnPos = GameManager.Inst.InIslandPlayer.transform.position + (randomDirection * Random.Range(2, checkRadius)); var spawnPos = GameManager.Inst.InIslandPlayer.transform.position + (randomDirection * instantiationDistance);
Array.Clear(colliders, 0, MAX_COLLIDER); 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; if (size != 0) continue;
@ -118,6 +118,8 @@ namespace BlueWaterProject
GameManager.Inst.InIslandPlayer.CrewmateList.Add(crewmate); GameManager.Inst.InIslandPlayer.CrewmateList.Add(crewmate);
return; return;
} }
print("소환할 수 있는 자리가 없습니다.");
} }
} }
} }

View File

@ -320,6 +320,37 @@ Transform:
- {fileID: 1037157117629966495} - {fileID: 1037157117629966495}
m_Father: {fileID: 8304616876847118944} m_Father: {fileID: 8304616876847118944}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -30} 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 --- !u!1 &582608418531650571
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2682,7 +2713,8 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children:
- {fileID: 7751354673028900355}
m_Father: {fileID: 5900184285731501723} m_Father: {fileID: 5900184285731501723}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &254721607006302599 --- !u!212 &254721607006302599

View File

@ -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 != 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 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 = 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 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 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 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 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 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 = 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 = 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 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 == 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 == 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 == 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 = 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":"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 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

View File

@ -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 != 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 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 = 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 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 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 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 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 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 = 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 = 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 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 == 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 == 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 == 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 = 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":"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 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

View File

@ -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 != 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 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 = 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 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 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 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 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 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 = 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 = 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 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 == 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 == 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 == 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 = 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":"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 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 == 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":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 == 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: fieldSerializationData:
typeName: [] typeName: []
fieldNameHash: fieldNameHash:

View File

@ -17,7 +17,7 @@ PhysicsManager:
m_EnableAdaptiveForce: 0 m_EnableAdaptiveForce: 0
m_ClothInterCollisionDistance: 0.1 m_ClothInterCollisionDistance: 0.1
m_ClothInterCollisionStiffness: 0.2 m_ClothInterCollisionStiffness: 0.2
m_LayerCollisionMatrix: 100000001000000010000000381f00001f080000080000000000000000010000884700000807000008070000181001000808000000400100002100000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_LayerCollisionMatrix: 0000000000000000000000000026020000000000000000000000000000000000000000000826200008022000000000000000000008222000000000000000000000000000080000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_SimulationMode: 0 m_SimulationMode: 0
m_AutoSyncTransforms: 0 m_AutoSyncTransforms: 0
m_ReuseCollisionCallbacks: 0 m_ReuseCollisionCallbacks: 0

View File

@ -3,17 +3,7 @@
--- !u!78 &1 --- !u!78 &1
TagManager: TagManager:
serializedVersion: 2 serializedVersion: 2
tags: tags: []
- Ship
- Ground
- Stair
- Enemy
- Pirate
- House
- Unit
- Missile
- Area
- Tower
layers: layers:
- Default - Default
- TransparentFX - TransparentFX
@ -21,16 +11,21 @@ TagManager:
- Ground - Ground
- Water - Water
- UI - UI
- Unit -
- Ship -
-
- Player - Player
- Crewmate - Crewmate
-
-
- Enemy - Enemy
- Weapon -
- HitBox -
- ShipPlayer -
- Npc - Npc
- -
-
-
- Props - Props
- -
- -
@ -42,11 +37,6 @@ TagManager:
- -
- -
- -
-
-
-
-
-
m_SortingLayers: m_SortingLayers:
- name: Default - name: Default
uniqueID: 0 uniqueID: 0