#21 모래 두더지 가시 난사(Spike Barrage) 스킬 추가
+ SpikeBarrage관련 클래스, so 추가 + 모래두더지 행동트리 변경 #Closes #21
This commit is contained in:
parent
15bfe87a09
commit
8789f7a2de
@ -29,6 +29,7 @@ namespace BlueWater.Enemies.Bosses
|
||||
GateOfSpikes,
|
||||
MultiThrowSpikes,
|
||||
SingleRoll,
|
||||
SpikeBarrage
|
||||
}
|
||||
|
||||
public abstract class Boss : MonoBehaviour, ITarget
|
||||
|
@ -188,7 +188,7 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
|
||||
yield return null;
|
||||
}
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, 1f);
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, 0f);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
GateOfSpikes,
|
||||
MultiThrowSpikes,
|
||||
SingleRoll,
|
||||
SpikeBarrage
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
@ -7,8 +7,8 @@ namespace BlueWater.Maps
|
||||
{
|
||||
public class SandMoleMapController : BossMapController
|
||||
{
|
||||
[SerializeField, Required]
|
||||
protected Transform CenterSpawnTransform;
|
||||
[field: SerializeField, Required]
|
||||
public Transform CenterSpawnTransform { get; private set; }
|
||||
|
||||
[SerializeField, Required]
|
||||
protected List<Transform> MiniSandMoleSpawnTransforms;
|
||||
|
@ -22,4 +22,5 @@ MonoBehaviour:
|
||||
- {fileID: 6760430575876107212, guid: a09fc16b8b3c86a4e88ac3f049b5fd89, type: 3}
|
||||
- {fileID: 2789312915140829590, guid: 8f4a84b8b6727c64ea203026334a60c2, type: 3}
|
||||
- {fileID: -8817476587284398613, guid: 1ac17d81b98c9fb488ac24d8e2291955, type: 3}
|
||||
- {fileID: 6831508064570746451, guid: 4c632b5316acd35479cf545bc4752b7f, type: 3}
|
||||
<MoveSpeed>k__BackingField: 3
|
||||
|
@ -0,0 +1,32 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1252d13955f45dd4dbc35301cc515c01, type: 3}
|
||||
m_Name: SpikeBarrageData
|
||||
m_EditorClassIdentifier:
|
||||
<Name>k__BackingField: SpikeBarrage
|
||||
<DisplayName>k__BackingField: "\uAC00\uC2DC \uB09C\uC0AC"
|
||||
<Description>k__BackingField:
|
||||
<Damage>k__BackingField: 1
|
||||
<Cooldown>k__BackingField: 0
|
||||
<Radius>k__BackingField: 0
|
||||
<CastingTime>k__BackingField: 0
|
||||
<Duration>k__BackingField: 0
|
||||
<TargetLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 2432
|
||||
<SpikePrefab>k__BackingField: {fileID: 194276104676398060, guid: 74d380cc223e6a5419f3aa88df2d767c, type: 3}
|
||||
<DissolveTime>k__BackingField: 1
|
||||
<SpawnDissolveTime>k__BackingField: 1
|
||||
<SpikeCount>k__BackingField: 48
|
||||
<SpikeInterval>k__BackingField: 0.1
|
||||
<AngleStep>k__BackingField: 15
|
||||
<ProjectileSpeed>k__BackingField: 25
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc1538523ade0f347bef7073c51317bb
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,32 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
{
|
||||
[CreateAssetMenu(fileName = "SpikeBarrageData", menuName = "ScriptableObjects/Skills/SandMole/SpikeBarrageData", order = (int)SandMoleSkill.SpikeBarrage)]
|
||||
public class SpikeBarrageData : SkillData
|
||||
{
|
||||
[field: SerializeField]
|
||||
public float DissolveTime { get; private set; } = 1f;
|
||||
|
||||
[field: SerializeField]
|
||||
public float SpawnDissolveTime { get; private set; } = 1f;
|
||||
|
||||
[field: SerializeField]
|
||||
public GameObject SpikePrefab { get; private set; }
|
||||
|
||||
[field: SerializeField, Range(0f, 360f), Tooltip("첫 발사체의 y축 각도\n0은 ↑ 숫자가 커질수록 시계방향으로")]
|
||||
public int StartAngle { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public int SpikeCount { get; private set; } = 48;
|
||||
|
||||
[field: SerializeField, Tooltip("다음 발사체와의 시간 간격")]
|
||||
public float SpikeInterval { get; private set; } = 0.1f;
|
||||
|
||||
[field: SerializeField, Tooltip("다음 발사체와의 각도 간격")]
|
||||
public float AngleStep { get; private set; } = 15f;
|
||||
|
||||
[field: SerializeField]
|
||||
public float ProjectileSpeed { get; private set; } = 25f;
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1252d13955f45dd4dbc35301cc515c01
|
137
Assets/02.Scripts/Skill/Enemy/Boss/SandMole/SpikeBarrage.cs
Normal file
137
Assets/02.Scripts/Skill/Enemy/Boss/SandMole/SpikeBarrage.cs
Normal file
@ -0,0 +1,137 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using BlueWater.Interfaces;
|
||||
using BlueWater.Maps;
|
||||
using BlueWater.Utility;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
{
|
||||
public class SpikeBarrage : BaseSkill
|
||||
{
|
||||
private SpikeBarrageData _spikeBarrageData;
|
||||
private AnimationController _animationController;
|
||||
private AiMovement _aiMovement;
|
||||
private Rigidbody _userRigidbody;
|
||||
private Collider _userCollider;
|
||||
private Collider _targetCollider;
|
||||
private SpriteRenderer _userSpriteRenderer;
|
||||
private SandMoleMapController _sandMoleMapController;
|
||||
private Transform _particleInstantiateLocation;
|
||||
private Transform _centerSpawnTransform;
|
||||
|
||||
private static readonly int _dissolveValueHash = Shader.PropertyToID("_DissolveValue");
|
||||
|
||||
protected override void BasicSetting()
|
||||
{
|
||||
_animationController = SkillUser.GetComponent<AnimationController>();
|
||||
_aiMovement = SkillUser.GetComponent<AiMovement>();
|
||||
_userRigidbody = SkillUser.GetComponent<Rigidbody>();
|
||||
_userCollider = SkillUser.GetComponent<CapsuleCollider>();
|
||||
_targetCollider = SkillUser.GetComponent<ITarget>().Target;
|
||||
_userSpriteRenderer = SkillUser.GetComponentInChildren<SpriteRenderer>();
|
||||
_sandMoleMapController = MapManager.Instance.SandMoleMapController;
|
||||
_particleInstantiateLocation = _sandMoleMapController.ParticleInstantiateLocation;
|
||||
_centerSpawnTransform = _sandMoleMapController.CenterSpawnTransform;
|
||||
_spikeBarrageData = (SpikeBarrageData)SkillData;
|
||||
|
||||
base.BasicSetting();
|
||||
}
|
||||
|
||||
public override void ActivateSkill(params Action[] actions)
|
||||
{
|
||||
Utils.StartUniqueCoroutine(this, ref SkillCoroutineInstance, SkillCoroutine(actions));
|
||||
}
|
||||
|
||||
private IEnumerator SkillCoroutine(params Action[] actions)
|
||||
{
|
||||
EnableSkill = false;
|
||||
_aiMovement.StopMove();
|
||||
_animationController.SetAnimationParameter("skillIndex", (int)SandMoleSkill.SpikeBarrage);
|
||||
|
||||
var animationStarted = false;
|
||||
yield return StartCoroutine(_animationController.WaitForAnimationToRun("SpikeBarrage",
|
||||
success => animationStarted = success));
|
||||
|
||||
if (!animationStarted || !SkillUser)
|
||||
{
|
||||
EndSkill(0, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
_userRigidbody.isKinematic = true;
|
||||
_userSpriteRenderer.material.SetFloat(_dissolveValueHash, 1f);
|
||||
var elapsedTime = 0f;
|
||||
var dissolveTime = _spikeBarrageData.DissolveTime;
|
||||
while (elapsedTime <= dissolveTime)
|
||||
{
|
||||
if (!_userSpriteRenderer)
|
||||
{
|
||||
EndSkill(0, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
var value = Mathf.Lerp(1f, 0f, elapsedTime / dissolveTime);
|
||||
_userSpriteRenderer.material.SetFloat(_dissolveValueHash, value);
|
||||
elapsedTime += Time.deltaTime;
|
||||
|
||||
yield return null;
|
||||
}
|
||||
_userSpriteRenderer.material.SetFloat(_dissolveValueHash, 0f);
|
||||
_aiMovement.Teleport(SkillUser.transform.position + Vector3.up * 20f);
|
||||
|
||||
yield return new WaitForSeconds(1f);
|
||||
|
||||
_aiMovement.Teleport(_centerSpawnTransform.position);
|
||||
_userRigidbody.isKinematic = false;
|
||||
|
||||
elapsedTime = 0f;
|
||||
dissolveTime = _spikeBarrageData.SpawnDissolveTime;
|
||||
while (elapsedTime <= dissolveTime)
|
||||
{
|
||||
if (!_userSpriteRenderer)
|
||||
{
|
||||
EndSkill(0, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
var value = Mathf.Lerp(0f, 1f, elapsedTime / dissolveTime);
|
||||
_userSpriteRenderer.material.SetFloat(_dissolveValueHash, value);
|
||||
elapsedTime += Time.deltaTime;
|
||||
|
||||
yield return null;
|
||||
}
|
||||
_userSpriteRenderer.material.SetFloat(_dissolveValueHash, 1f);
|
||||
|
||||
var startAngle = _spikeBarrageData.StartAngle;
|
||||
var angleStep = _spikeBarrageData.AngleStep;
|
||||
var spikeSpawnPosition = _userCollider.bounds.center;
|
||||
spikeSpawnPosition.y = _targetCollider.bounds.center.y;
|
||||
var spikeInterval = new WaitForSeconds(_spikeBarrageData.SpikeInterval);
|
||||
for (var i = 0; i < _spikeBarrageData.SpikeCount; i++)
|
||||
{
|
||||
var currentAngle = startAngle + angleStep * i;
|
||||
var rotation = Quaternion.Euler(0f, currentAngle, 0f);
|
||||
var spike = Instantiate(_spikeBarrageData.SpikePrefab, spikeSpawnPosition, rotation,
|
||||
_particleInstantiateLocation).GetComponent<ProjectileController>();
|
||||
spike.Initialize(_spikeBarrageData.Damage, _spikeBarrageData.TargetLayer);
|
||||
spike.AddForce(spike.transform.forward * _spikeBarrageData.ProjectileSpeed, ForceMode.Impulse);
|
||||
|
||||
yield return spikeInterval;
|
||||
}
|
||||
|
||||
EndSkill(SkillData.Cooldown, actions[0]);
|
||||
}
|
||||
|
||||
private void EndSkill(float cooldown, Action action)
|
||||
{
|
||||
Utils.EndUniqueCoroutine(this, ref SkillCoroutineInstance);
|
||||
|
||||
_animationController.ResetAnimationSpeed();
|
||||
_animationController.SetAnimationParameter("skillIndex", (int)SandMoleSkill.None);
|
||||
action?.Invoke();
|
||||
|
||||
Utils.StartUniqueCoroutine(this, ref CooldownCoroutineInstance,Utils.CoolDownCoroutine(cooldown, EndCooldown));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad09c617546190644969b90e17b1a651
|
@ -1037,7 +1037,7 @@ MonoBehaviour:
|
||||
BGMName:
|
||||
BossSpawnTransform: {fileID: 6522622582430961898}
|
||||
BossType: 3
|
||||
CenterSpawnTransform: {fileID: 4946803535834257734}
|
||||
<CenterSpawnTransform>k__BackingField: {fileID: 4946803535834257734}
|
||||
MiniSandMoleSpawnTransforms:
|
||||
- {fileID: 2981470058859736985}
|
||||
- {fileID: 1324592367882867249}
|
||||
|
@ -0,0 +1,91 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1001 &6575159217317842605
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 817830973935461002, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: SpikeBarrage
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3155538962647367913, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7266951372888583716, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_Material
|
||||
value:
|
||||
objectReference: {fileID: 2100000, guid: a1e8e71505dd71149a84a361110dac07, type: 2}
|
||||
- target: {fileID: 8663005856679327762, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 817830973935461002, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 6831508064570746451}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
--- !u!1 &5793366936479968295 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 817830973935461002, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
m_PrefabInstance: {fileID: 6575159217317842605}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &6831508064570746451
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5793366936479968295}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ad09c617546190644969b90e17b1a651, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
SkillData: {fileID: 11400000, guid: bc1538523ade0f347bef7073c51317bb, type: 2}
|
||||
EnableSkill: 1
|
||||
IsUsingIndicator: 0
|
||||
Indicator: {fileID: 0}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c632b5316acd35479cf545bc4752b7f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -685,7 +685,7 @@ AnimatorState:
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SummonMiniSandMole
|
||||
m_Name: SpikeBarrage
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
|
@ -32,18 +32,28 @@ MonoBehaviour:
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-95.23809,150)"},"ID":13,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(71.37249,153.681122)"},"ID":14,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-616.0723,449.166626)"},"ID":15,"Name":"Multi
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-71.4286,150)"},"ID":16,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(78.571434,150)"},"ID":17,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(9.765897,452.758667)"},"ID":18,"Name":"Multi
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-383.3333,150)"},"ID":19,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-233.333313,150)"},"ID":20,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"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":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-84.2857,148.095215)"},"ID":21,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(65.71442,148.095215)"},"ID":22,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"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":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(222.6831,147.804932)"},"ID":23,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.SelfStun","NodeData":{"Offset":"(370,150)"},"ID":24,"Name":"Self
|
||||
Stun","Instant":true,"Single_stunDuration":4},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(496.964966,145.486084)"},"ID":25,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(718.678467,449.4253)"},"ID":26,"Name":"Gate
|
||||
Of Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-73.52939,150)"},"ID":27,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"GateOfSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(76.47061,150)"},"ID":28,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1021.18909,446.111084)"},"ID":29,"Name":"Multi
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-70,150)"},"ID":30,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(80,150)"},"ID":31,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1357.89648,453.97522)"},"ID":32,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-100,150)"},"ID":33,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(70,150)"},"ID":34,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"CurrentHealthPoint","IsShared":true,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}]}'
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(78.571434,150)"},"ID":17,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.RandomSelector","NodeData":{"Offset":"(-3.888855,446.111084)"},"ID":18,"Name":"Random
|
||||
Selector","Instant":true,"Int32seed":0,"BooleanuseSeed":false,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-194.553284,150.079346)"},"ID":19,"Name":"Case1
|
||||
Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1339.99878,200)"},"ID":20,"Name":"Multi
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-383.3333,150)"},"ID":21,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-233.333313,150)"},"ID":22,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"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":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-84.2857,148.095215)"},"ID":23,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(65.71442,148.095215)"},"ID":24,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"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":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(222.6831,147.804932)"},"ID":25,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.SelfStun","NodeData":{"Offset":"(370,150)"},"ID":26,"Name":"Self
|
||||
Stun","Instant":true,"Single_stunDuration":4},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(496.964966,145.486084)"},"ID":27,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-532.630249,202.105347)"},"ID":28,"Name":"Gate
|
||||
Of Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-70,150)"},"ID":29,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"GateOfSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(80,150)"},"ID":30,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-232.630539,202.105347)"},"ID":31,"Name":"Multi
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-69.9997559,150)"},"ID":32,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(80,150)"},"ID":33,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(107.369766,202.105347)"},"ID":34,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-100,150)"},"ID":35,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(70,150)"},"ID":36,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(281.537964,160)"},"ID":37,"Name":"Case2
|
||||
Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(3.58260536,189.3617)"},"ID":38,"Name":"Spike
|
||||
Barrage","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-117.619049,150)"},"ID":39,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SpikeBarrage"},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.SelfStun","NodeData":{"Offset":"(2.2166748,148.095215)"},"ID":40,"Name":"Self
|
||||
Stun","Instant":true,"Single_stunDuration":4},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(115.714287,150)"},"ID":41,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(328.2801,192.40271)"},"ID":42,"Name":"Gate
|
||||
Of Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-73.52939,150)"},"ID":43,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"GateOfSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(76.47061,150)"},"ID":44,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(664.709656,192.40271)"},"ID":45,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-100,150)"},"ID":46,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(70,150)"},"ID":47,"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}}]}]}]}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"CurrentHealthPoint","IsShared":true,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}]}'
|
||||
fieldSerializationData:
|
||||
typeName: []
|
||||
fieldNameHash:
|
||||
|
Loading…
Reference in New Issue
Block a user