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