#20 미니 모래 두더지 소환 기능 추가
+ MiniSandMole 프리팹 추가 + BossConfiguration So에 MiniSandMole 추가 + MiniSandMoleData, MiniSingleRollData So 추가 + MiniSandMole BehaviorTree 추가 + SandMoleMapController 클래스 추가 + ITarget, ICurrentDirection 인터페이스 추가 + Bt Actions - CanSkill, ActivateSkill 로직 변경 + BossHealthPoint 로직 변경 + 미니 모래 두더지에 소환할 때, 죽을 때, 디졸브 효과 추가 Closes #20
This commit is contained in:
parent
4a33648e0f
commit
15bfe87a09
@ -3226,17 +3226,6 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 672714555}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &690823801 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 6585123087190923213, guid: 39e32b91cc570794e9e843b39f89e400, type: 3}
|
||||
m_PrefabInstance: {fileID: 1213070729}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45ca5fc4b0d9415ca599aa7cd17f3370, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &704479487
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -5231,6 +5220,17 @@ PrefabInstance:
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 39e32b91cc570794e9e843b39f89e400, type: 3}
|
||||
--- !u!114 &1213070730 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 4232848145969149048, guid: 39e32b91cc570794e9e843b39f89e400, type: 3}
|
||||
m_PrefabInstance: {fileID: 1213070729}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: eb656087fe6c652469b29504a37df539, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1243437081
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -8527,7 +8527,7 @@ MonoBehaviour:
|
||||
<FirstTutorialMapController>k__BackingField: {fileID: 728440691}
|
||||
<TitanSlimeMapController>k__BackingField: {fileID: 36953787}
|
||||
<RhinocerosMapController>k__BackingField: {fileID: 1011270532}
|
||||
<SandMoleMapController>k__BackingField: {fileID: 690823801}
|
||||
<SandMoleMapController>k__BackingField: {fileID: 1213070730}
|
||||
--- !u!4 &1597727070
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -13,21 +13,21 @@ namespace BlueWater.BehaviorTrees.Enemies.Bosses.Actions
|
||||
[SerializeField]
|
||||
private BossSkillName _bossSkillName;
|
||||
|
||||
private Boss _boss;
|
||||
private BossSkillController _bossSkillController;
|
||||
|
||||
public override void OnAwake()
|
||||
{
|
||||
_boss = transform.GetComponent<Boss>();
|
||||
_bossSkillController = GetComponent<BossSkillController>();
|
||||
}
|
||||
|
||||
public override void OnStart()
|
||||
{
|
||||
_boss.ActivateSkill(_bossSkillName.ToString());
|
||||
_bossSkillController.ActivateSkill(_bossSkillName.ToString());
|
||||
}
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
{
|
||||
return _boss.IsSkillActive ? TaskStatus.Running : TaskStatus.Success;
|
||||
return _bossSkillController.IsSkillActive ? TaskStatus.Running : TaskStatus.Success;
|
||||
}
|
||||
}
|
||||
}
|
@ -12,16 +12,16 @@ namespace BlueWater.BehaviorTrees.Enemies.Bosses.Conditionals
|
||||
[SerializeField]
|
||||
private BossSkillName _bossSkillName;
|
||||
|
||||
private Boss _boss;
|
||||
private BossSkillController _bossSkillController;
|
||||
|
||||
public override void OnAwake()
|
||||
{
|
||||
_boss = transform.GetComponent<Boss>();
|
||||
_bossSkillController = GetComponent<BossSkillController>();
|
||||
}
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
{
|
||||
return _boss.CanSkill(_bossSkillName.ToString()) ? TaskStatus.Success : TaskStatus.Failure;
|
||||
return _bossSkillController.CanSkill(_bossSkillName.ToString()) ? TaskStatus.Success : TaskStatus.Failure;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using BehaviorDesigner.Runtime;
|
||||
using BlueWater.Interfaces;
|
||||
using Pathfinding;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
@ -10,7 +11,8 @@ namespace BlueWater.Enemies.Bosses
|
||||
None = 0,
|
||||
TitanSlime,
|
||||
Rhinoceros,
|
||||
SandMole
|
||||
SandMole,
|
||||
MiniSandMole
|
||||
}
|
||||
|
||||
public enum BossSkillName
|
||||
@ -27,10 +29,9 @@ namespace BlueWater.Enemies.Bosses
|
||||
GateOfSpikes,
|
||||
MultiThrowSpikes,
|
||||
SingleRoll,
|
||||
SummonMiniSandMole
|
||||
}
|
||||
|
||||
public abstract class Boss : MonoBehaviour
|
||||
public abstract class Boss : MonoBehaviour, ITarget
|
||||
{
|
||||
// Variables
|
||||
#region Variables
|
||||
|
@ -4,17 +4,27 @@ using BlueWater.Audios;
|
||||
using BlueWater.Interfaces;
|
||||
using BlueWater.Uis;
|
||||
using BlueWater.Utility;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses
|
||||
{
|
||||
public class BossHealthPoint : MonoBehaviour, IDamageable
|
||||
{
|
||||
// Components
|
||||
// 컴포넌트
|
||||
[Title("컴포넌트")]
|
||||
[SerializeField]
|
||||
private CapsuleCollider _characterCollider;
|
||||
|
||||
[SerializeField]
|
||||
private SpriteRenderer _spriteRenderer;
|
||||
|
||||
// Variables
|
||||
[SerializeField]
|
||||
private Transform _particleInstantiateLocation;
|
||||
|
||||
// 체력 설정
|
||||
[field: Title("체력 설정")]
|
||||
[field: SerializeField]
|
||||
public int MaxHealthPoint { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
@ -25,6 +35,8 @@ namespace BlueWater.Enemies.Bosses
|
||||
|
||||
private bool _enableTakeDamage = true;
|
||||
|
||||
// 효과 설정
|
||||
[Title("효과 설정")]
|
||||
[SerializeField]
|
||||
private string _attackedSfxName;
|
||||
|
||||
@ -36,9 +48,6 @@ namespace BlueWater.Enemies.Bosses
|
||||
|
||||
[SerializeField]
|
||||
private ParticleSystem _dieParticle;
|
||||
|
||||
[SerializeField]
|
||||
private Transform _particleInstantiateLocation;
|
||||
|
||||
private FieldBossHealthPointUi _fieldBossHealthPointUi;
|
||||
private WaitForSeconds _flashWhiteWaitTime;
|
||||
@ -57,7 +66,10 @@ namespace BlueWater.Enemies.Bosses
|
||||
// Unity events
|
||||
private void Start()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
_flashWhiteWaitTime = new WaitForSeconds(_damageInterval);
|
||||
_fieldBossHealthPointUi = CombatUiManager.Instance.FieldBossHealthPointUi;
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
@ -69,21 +81,25 @@ namespace BlueWater.Enemies.Bosses
|
||||
}
|
||||
|
||||
// Initialize methods
|
||||
public void InitializeComponents(bool enableHealthChangedEvent, CapsuleCollider characterCollider,
|
||||
SpriteRenderer spriteRenderer, int maxHealthPoint, string bossName, Transform particleInstantiateLocation = null)
|
||||
[Button("셋팅 초기화")]
|
||||
private void InitializeComponent()
|
||||
{
|
||||
_characterCollider = GetComponent<CapsuleCollider>();
|
||||
_spriteRenderer = GetComponentInChildren<SpriteRenderer>();
|
||||
}
|
||||
|
||||
public void Initialize(bool enableHealthChangedEvent, int maxHealthPoint, string bossName, Transform particleInstantiateLocation = null)
|
||||
{
|
||||
_fieldBossHealthPointUi = CombatUiManager.Instance.FieldBossHealthPointUi;
|
||||
_enableHealthChangedEvent = enableHealthChangedEvent;
|
||||
MaxHealthPoint = maxHealthPoint;
|
||||
_particleInstantiateLocation = particleInstantiateLocation;
|
||||
_fieldBossHealthPointUi ??= CombatUiManager.Instance.FieldBossHealthPointUi;
|
||||
|
||||
if (_enableHealthChangedEvent)
|
||||
{
|
||||
OnHealthChanged += _fieldBossHealthPointUi.SetCurrentHealthPoint;
|
||||
_fieldBossHealthPointUi.SetBoss(maxHealthPoint, bossName);
|
||||
_fieldBossHealthPointUi.SetBoss(MaxHealthPoint, bossName);
|
||||
}
|
||||
|
||||
_characterCollider = characterCollider;
|
||||
_spriteRenderer = spriteRenderer;
|
||||
MaxHealthPoint = maxHealthPoint;
|
||||
_particleInstantiateLocation = particleInstantiateLocation;
|
||||
|
||||
SetCurrentHealthPoint(MaxHealthPoint);
|
||||
}
|
||||
@ -110,6 +126,11 @@ namespace BlueWater.Enemies.Bosses
|
||||
var changeHp = Mathf.Max(CurrentHealthPoint - damageAmount, 0);
|
||||
SetCurrentHealthPoint(changeHp);
|
||||
|
||||
if (_spriteRenderer.material.HasInt(_isHitHash))
|
||||
{
|
||||
Utils.StartUniqueCoroutine(this, ref _flashWhiteCoroutine, FlashWhiteCoroutine());
|
||||
}
|
||||
|
||||
// 죽었는지 체크
|
||||
if (changeHp == 0f)
|
||||
{
|
||||
@ -128,11 +149,7 @@ namespace BlueWater.Enemies.Bosses
|
||||
{
|
||||
AudioManager.Instance.PlaySfx(_attackedSfxName);
|
||||
}
|
||||
|
||||
if (_spriteRenderer.material.HasInt(_isHitHash))
|
||||
{
|
||||
Utils.StartUniqueCoroutine(this, ref _flashWhiteCoroutine, FlashWhiteCoroutine());
|
||||
}
|
||||
|
||||
Utils.StartUniqueCoroutine(this, ref _damageIntervalCoroutine, Utils.CoolDownCoroutine(_damageInterval, EndDamageIntervalCoroutine));
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
using BlueWater.Maps;
|
||||
using BlueWater.Interfaces;
|
||||
using BlueWater.Maps;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.Rhinoceros
|
||||
@ -13,7 +14,7 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros
|
||||
SkyFallSmash = 5
|
||||
}
|
||||
|
||||
public class Rhinoceros : Boss
|
||||
public class Rhinoceros : Boss, ICurrentDirection
|
||||
{
|
||||
// Variables
|
||||
#region Variables
|
||||
@ -74,7 +75,7 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
BossHealthPoint.InitializeComponents(true, CharacterCollider, SpriteRenderer, RhinocerosData.MaxHealthPoint,
|
||||
BossHealthPoint.Initialize(true, RhinocerosData.MaxHealthPoint,
|
||||
RhinocerosData.DisplayName, BossMapController.ParticleInstantiateLocation);
|
||||
BossSkillController.Initialize(BossData.SkillDataList);
|
||||
SetMoveSpeed(RhinocerosData.MoveSpeed);
|
||||
|
209
Assets/02.Scripts/Character/Enemy/Boss/SandMole/MiniSandMole.cs
Normal file
209
Assets/02.Scripts/Character/Enemy/Boss/SandMole/MiniSandMole.cs
Normal file
@ -0,0 +1,209 @@
|
||||
using System.Collections;
|
||||
using BehaviorDesigner.Runtime;
|
||||
using BlueWater.Interfaces;
|
||||
using BlueWater.Maps;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.SandMole
|
||||
{
|
||||
public class MiniSandMole : MonoBehaviour, ITarget, ICurrentDirection
|
||||
{
|
||||
// Variables
|
||||
#region Variables
|
||||
|
||||
// Components
|
||||
[field: SerializeField]
|
||||
public Rigidbody Rigidbody { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public CapsuleCollider CharacterCollider { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public BehaviorTree BehaviorTree { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public Transform VisualLook { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public SpriteRenderer SpriteRenderer { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public Animator Animator { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public BoxCollider HitBoxCollider { get; private set; }
|
||||
|
||||
// Classes
|
||||
[field: SerializeField, Required]
|
||||
public BossData BossData { get; private set; }
|
||||
|
||||
[field: SerializeField, Required]
|
||||
public AnimationController AnimationController { get; private set; }
|
||||
|
||||
[field: SerializeField, Required]
|
||||
public BossHealthPoint BossHealthPoint { get; private set; }
|
||||
|
||||
[field: SerializeField, Required]
|
||||
public BossSkillController BossSkillController { get; private set; }
|
||||
|
||||
[field: SerializeField, Required]
|
||||
public SandMoleStatus SandMoleStatus { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public Collider Target { get; private set; }
|
||||
|
||||
[Title("효과")]
|
||||
[SerializeField]
|
||||
private float _spawnDissolveTime = 2f;
|
||||
|
||||
[SerializeField]
|
||||
private float _dieDissolveTime = 1f;
|
||||
|
||||
public BossMapController BossMapController { get; private set; }
|
||||
|
||||
private bool _isMoving;
|
||||
public bool IsMoving
|
||||
{
|
||||
get => _isMoving;
|
||||
set
|
||||
{
|
||||
_isMoving = value;
|
||||
AnimationController.SetAnimationParameter("isMoving", _isMoving);
|
||||
}
|
||||
}
|
||||
|
||||
private Vector3 _currentDirection = Vector3.right;
|
||||
public Vector3 CurrentDirection
|
||||
{
|
||||
get => _currentDirection;
|
||||
set
|
||||
{
|
||||
if (value == Vector3.zero) return;
|
||||
|
||||
_currentDirection = value;
|
||||
AnimationController.SetAnimationParameter("xDirection", _currentDirection.x);
|
||||
AnimationController.SetAnimationParameter("zDirection", _currentDirection.z);
|
||||
}
|
||||
}
|
||||
|
||||
// Hashes
|
||||
private static readonly int _dissolveValueHash = Shader.PropertyToID("_DissolveValue");
|
||||
|
||||
#endregion
|
||||
|
||||
// Unity events
|
||||
#region Unity events
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InitializeComponents();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
FlipVisualLook();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// Initialize methods
|
||||
#region Initialize methods
|
||||
|
||||
[Button("컴포넌트 초기화")]
|
||||
private void InitializeComponents()
|
||||
{
|
||||
Rigidbody = GetComponent<Rigidbody>();
|
||||
CharacterCollider = GetComponent<CapsuleCollider>();
|
||||
BehaviorTree = GetComponent<BehaviorTree>();
|
||||
VisualLook = transform.Find("VisualLook");
|
||||
SpriteRenderer = VisualLook.GetComponent<SpriteRenderer>();
|
||||
Animator = VisualLook.GetComponent<Animator>();
|
||||
HitBoxCollider = transform.Find("HitBox").GetComponent<BoxCollider>();
|
||||
|
||||
AnimationController = GetComponent<AnimationController>();
|
||||
BossHealthPoint = GetComponent<BossHealthPoint>();
|
||||
BossSkillController = GetComponent<BossSkillController>();
|
||||
|
||||
SandMoleStatus = GetComponent<SandMoleStatus>();
|
||||
BossMapController = MapManager.Instance.SandMoleMapController;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
StartCoroutine(InitializeEffectCoroutine());
|
||||
}
|
||||
|
||||
private IEnumerator InitializeEffectCoroutine()
|
||||
{
|
||||
Target = GameManager.Instance.CurrentCombatPlayer.GetComponent<Collider>();
|
||||
|
||||
BossHealthPoint.Initialize(false, BossData.MaxHealthPoint,
|
||||
BossData.DisplayName, BossMapController.ParticleInstantiateLocation);
|
||||
BossHealthPoint.OnDead += HandleDie;
|
||||
BossSkillController.Initialize(BossData.SkillDataList);
|
||||
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, 0f);
|
||||
var elapsedTime = 0f;
|
||||
while (elapsedTime <= _spawnDissolveTime)
|
||||
{
|
||||
var value = Mathf.Lerp(0f, 1f, elapsedTime / _spawnDissolveTime);
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, value);
|
||||
elapsedTime += Time.deltaTime;
|
||||
|
||||
yield return null;
|
||||
}
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, 1f);
|
||||
|
||||
BehaviorTree.EnableBehavior();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// Methods
|
||||
#region Methods
|
||||
|
||||
private void HandleDie()
|
||||
{
|
||||
StartCoroutine(DieCoroutine());
|
||||
}
|
||||
|
||||
private IEnumerator DieCoroutine()
|
||||
{
|
||||
if (Rigidbody)
|
||||
{
|
||||
Rigidbody.isKinematic = true;
|
||||
}
|
||||
|
||||
AnimationController.SetAnimationTrigger("isDead");
|
||||
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, 0f);
|
||||
var elapsedTime = 0f;
|
||||
while (elapsedTime <= _dieDissolveTime)
|
||||
{
|
||||
var value = Mathf.Lerp(1f, 0f, elapsedTime / _dieDissolveTime);
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, value);
|
||||
elapsedTime += Time.deltaTime;
|
||||
|
||||
yield return null;
|
||||
}
|
||||
SpriteRenderer.material.SetFloat(_dissolveValueHash, 1f);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
private void FlipVisualLook()
|
||||
{
|
||||
var localScale = VisualLook.localScale;
|
||||
localScale.x = CurrentDirection.x switch
|
||||
{
|
||||
> 0.01f => Mathf.Abs(localScale.x),
|
||||
< -0.01f => -Mathf.Abs(localScale.x),
|
||||
_ => localScale.x
|
||||
};
|
||||
VisualLook.localScale = localScale;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2c9c11e3a59f3846831e295e4ace612
|
||||
timeCreated: 1717140083
|
@ -1,4 +1,7 @@
|
||||
using BlueWater.Maps;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BlueWater.Interfaces;
|
||||
using BlueWater.Maps;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
@ -10,18 +13,31 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
GateOfSpikes,
|
||||
MultiThrowSpikes,
|
||||
SingleRoll,
|
||||
SummonMiniSandMole
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class SummonMiniSandMole
|
||||
{
|
||||
[field: SerializeField]
|
||||
public float HealthPercentage { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public bool SummonTrigger { get; set; }
|
||||
}
|
||||
|
||||
public class SandMole : Boss
|
||||
public class SandMole : Boss, ICurrentDirection
|
||||
{
|
||||
// Variables
|
||||
#region Variables
|
||||
|
||||
[field: SerializeField, Required]
|
||||
public SandMoleStatus SandMoleStatus { get; private set; }
|
||||
|
||||
[SerializeField]
|
||||
private List<SummonMiniSandMole> _summonMiniSandMoles;
|
||||
|
||||
public SandMoleData SandMoleData { get; private set; }
|
||||
public BossMapController BossMapController { get; private set; }
|
||||
public SandMoleMapController SandMoleMapController { get; private set; }
|
||||
|
||||
private bool _isMoving;
|
||||
public bool IsMoving
|
||||
@ -61,6 +77,13 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
FlipVisualLook();
|
||||
}
|
||||
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
base.OnDestroy();
|
||||
|
||||
BossHealthPoint.OnHealthChanged -= SummonMiniSandMole;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// Initialize methods
|
||||
@ -72,13 +95,14 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
|
||||
SandMoleStatus = GetComponent<SandMoleStatus>();
|
||||
SandMoleData = BossData as SandMoleData;
|
||||
BossMapController = MapManager.Instance.SandMoleMapController;
|
||||
SandMoleMapController = MapManager.Instance.SandMoleMapController;
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
BossHealthPoint.InitializeComponents(true, CharacterCollider, SpriteRenderer, SandMoleData.MaxHealthPoint,
|
||||
SandMoleData.DisplayName, BossMapController.ParticleInstantiateLocation);
|
||||
BossHealthPoint.Initialize(true, SandMoleData.MaxHealthPoint,
|
||||
SandMoleData.DisplayName, SandMoleMapController.ParticleInstantiateLocation);
|
||||
BossHealthPoint.OnHealthChanged += SummonMiniSandMole;
|
||||
BossSkillController.Initialize(BossData.SkillDataList);
|
||||
SetMoveSpeed(SandMoleData.MoveSpeed);
|
||||
StopMove();
|
||||
@ -100,7 +124,20 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
}
|
||||
|
||||
AnimationController.SetAnimationTrigger("isDead");
|
||||
BossMapController.MapClear();
|
||||
SandMoleMapController.MapClear();
|
||||
}
|
||||
|
||||
private void SummonMiniSandMole(int currentHp)
|
||||
{
|
||||
var currentHealthPercentage = (float)currentHp / BossData.MaxHealthPoint * 100f;
|
||||
|
||||
foreach (var element in _summonMiniSandMoles)
|
||||
{
|
||||
if (currentHealthPercentage > element.HealthPercentage || element.SummonTrigger) continue;
|
||||
|
||||
SandMoleMapController.SummonMiniSandMole();
|
||||
element.SummonTrigger = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void FlipVisualLook()
|
||||
|
@ -43,7 +43,7 @@ namespace BlueWater.Enemies.Bosses.TitanSlime
|
||||
MinCoolDown = TitanSlimeState.RandomCooldown.x;
|
||||
MaxCoolDown = TitanSlimeState.RandomCooldown.y;
|
||||
|
||||
BossHealthPoint.InitializeComponents(TitanSlimeState.HasRabbit, CharacterCollider, SpriteRenderer, TitanSlimeState.MaxHp,
|
||||
BossHealthPoint.Initialize(TitanSlimeState.HasRabbit, TitanSlimeState.MaxHp,
|
||||
TitanSlimeData.DisplayName, _titanSlimeMapController.ParticleInstantiateLocation);
|
||||
BossSkillController.Initialize(BossData.SkillDataList);
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using BlueWater.Enemies.Bosses;
|
||||
using BlueWater.Enemies.Bosses.Rhinoceros;
|
||||
using BlueWater.Enemies.Bosses.SandMole;
|
||||
using BlueWater.Enemies.Bosses.TitanSlime;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
@ -75,5 +76,20 @@ namespace BlueWater.Enemies
|
||||
instantiateBossLeft.AddForce(_leftSplitDirection * _splitPower, ForceMode.Impulse);
|
||||
instantiateBossRight.AddForce(_rightSplitDirection * _splitPower, ForceMode.Impulse);
|
||||
}
|
||||
|
||||
// MiniSandMole
|
||||
public MiniSandMole InstantiateMiniSandMole(Vector3 spawnPosition, Transform instantiateLocation = null)
|
||||
{
|
||||
if (!BossConfigurationDictionary.TryGetValue(BossType.MiniSandMole, out var bossConfiguration))
|
||||
{
|
||||
Debug.LogError($"보스 생성 오류 : 키값 {BossType.MiniSandMole}을(를) 확인해주세요.");
|
||||
return null;
|
||||
}
|
||||
|
||||
var instantiateBoss = Instantiate(bossConfiguration, spawnPosition, Quaternion.identity, instantiateLocation).GetComponent<MiniSandMole>();
|
||||
instantiateBoss.Initialize();
|
||||
|
||||
return instantiateBoss;
|
||||
}
|
||||
}
|
||||
}
|
9
Assets/02.Scripts/Interface/ICurrentDirection.cs
Normal file
9
Assets/02.Scripts/Interface/ICurrentDirection.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Interfaces
|
||||
{
|
||||
public interface ICurrentDirection
|
||||
{
|
||||
Vector3 CurrentDirection { get; set; }
|
||||
}
|
||||
}
|
3
Assets/02.Scripts/Interface/ICurrentDirection.cs.meta
Normal file
3
Assets/02.Scripts/Interface/ICurrentDirection.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6493928181896094bae9cf08de680714
|
||||
timeCreated: 1716899052
|
9
Assets/02.Scripts/Interface/ITarget.cs
Normal file
9
Assets/02.Scripts/Interface/ITarget.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Interfaces
|
||||
{
|
||||
public interface ITarget
|
||||
{
|
||||
Collider Target { get; }
|
||||
}
|
||||
}
|
3
Assets/02.Scripts/Interface/ITarget.cs.meta
Normal file
3
Assets/02.Scripts/Interface/ITarget.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6f831a9396c10b41bfa3875dc6cdefa
|
||||
timeCreated: 1716899052
|
@ -15,7 +15,7 @@ namespace BlueWater.Maps
|
||||
public BossMapController RhinocerosMapController { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public BossMapController SandMoleMapController { get; private set; }
|
||||
public SandMoleMapController SandMoleMapController { get; private set; }
|
||||
|
||||
private MapController _currentMapController;
|
||||
|
||||
|
32
Assets/02.Scripts/Map/SandMoleMapController.cs
Normal file
32
Assets/02.Scripts/Map/SandMoleMapController.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using System.Collections.Generic;
|
||||
using BlueWater.Enemies;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Maps
|
||||
{
|
||||
public class SandMoleMapController : BossMapController
|
||||
{
|
||||
[SerializeField, Required]
|
||||
protected Transform CenterSpawnTransform;
|
||||
|
||||
[SerializeField, Required]
|
||||
protected List<Transform> MiniSandMoleSpawnTransforms;
|
||||
|
||||
public void SummonMiniSandMole()
|
||||
{
|
||||
var random1 = Random.Range(0, MiniSandMoleSpawnTransforms.Count);
|
||||
int random2;
|
||||
do
|
||||
{
|
||||
random2 = Random.Range(0, MiniSandMoleSpawnTransforms.Count);
|
||||
} while (random2 == random1);
|
||||
|
||||
var miniSandMole1 = EnemyManager.Instance.InstantiateMiniSandMole(MiniSandMoleSpawnTransforms[random1].position, EnemyInstantiateLocation);
|
||||
miniSandMole1.Initialize();
|
||||
|
||||
var miniSandMole2 = EnemyManager.Instance.InstantiateMiniSandMole(MiniSandMoleSpawnTransforms[random2].position, EnemyInstantiateLocation);
|
||||
miniSandMole2.Initialize();
|
||||
}
|
||||
}
|
||||
}
|
3
Assets/02.Scripts/Map/SandMoleMapController.cs.meta
Normal file
3
Assets/02.Scripts/Map/SandMoleMapController.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eb656087fe6c652469b29504a37df539
|
||||
timeCreated: 1717153632
|
@ -19,3 +19,5 @@ MonoBehaviour:
|
||||
<Prefab>k__BackingField: {fileID: 4623786526972472839, guid: b3fede52cd9ea854fab2ad603b53dd77, type: 3}
|
||||
- <BossType>k__BackingField: 3
|
||||
<Prefab>k__BackingField: {fileID: 4623786526972472839, guid: e3a389dac3e524844ac42dabd7207e64, type: 3}
|
||||
- <BossType>k__BackingField: 4
|
||||
<Prefab>k__BackingField: {fileID: 811732657406064749, guid: 5975a5a7434cc704c9d60c8ab3750550, type: 3}
|
||||
|
@ -0,0 +1,23 @@
|
||||
%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: 32c16666a1f9189489ca45f420907595, type: 3}
|
||||
m_Name: MiniSandMoleData
|
||||
m_EditorClassIdentifier:
|
||||
<Name>k__BackingField: MiniSandMole
|
||||
<DisplayName>k__BackingField: "\uBBF8\uB2C8 \uBAA8\uB798 \uB450\uB354\uC9C0"
|
||||
<MaxHealthPoint>k__BackingField: 30
|
||||
<TargetLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 2048
|
||||
<SkillDataList>k__BackingField:
|
||||
- {fileID: 6760430575876107212, guid: 23d0aa0f7beb06342b545024c1195523, type: 3}
|
||||
<MoveSpeed>k__BackingField: 3
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6c55ff80d789904d9c68504850501f2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,41 @@
|
||||
%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: 1754c19573409534085289855f7331e3, type: 3}
|
||||
m_Name: MiniSingleRollData
|
||||
m_EditorClassIdentifier:
|
||||
<Name>k__BackingField: SingleRoll
|
||||
<DisplayName>k__BackingField: "\uAD6C\uB974\uAE30"
|
||||
<Description>k__BackingField:
|
||||
<Damage>k__BackingField: 1
|
||||
<Cooldown>k__BackingField: 0
|
||||
<Radius>k__BackingField: 0
|
||||
<CastingTime>k__BackingField: 0.5
|
||||
<Duration>k__BackingField: 0
|
||||
<TargetLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 2432
|
||||
<WallLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 128
|
||||
<GroundLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 64
|
||||
<RollSpeed>k__BackingField: 40
|
||||
<PushPower>k__BackingField: 8
|
||||
<AirJumpForce>k__BackingField: 3
|
||||
<BounceBackForce>k__BackingField: 200
|
||||
<CameraShakingPower>k__BackingField: 2
|
||||
<CameraShakingDuration>k__BackingField: 0.5
|
||||
<RockfallPrefab>k__BackingField: {fileID: 0}
|
||||
<RandomSide>k__BackingField: {x: -2, y: 2}
|
||||
<RockfallInterval>k__BackingField: 2
|
||||
<RockfallSpawnHeight>k__BackingField: 5
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b064f624ee1ab8e429a4e2c158f6ae9f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,3 +1,4 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
@ -32,13 +33,13 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
[field: SerializeField]
|
||||
public GameObject RockfallPrefab { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
[field: SerializeField, ShowIf("@RockfallPrefab")]
|
||||
public Vector2 RandomSide { get; private set; } = new(-2, 2);
|
||||
|
||||
[field: SerializeField]
|
||||
[field: SerializeField, ShowIf("@RockfallPrefab")]
|
||||
public float RockfallInterval { get; private set; } = 2f;
|
||||
|
||||
[field: SerializeField]
|
||||
[field: SerializeField, ShowIf("@RockfallPrefab")]
|
||||
public float RockfallSpawnHeight { get; private set; } = 5f;
|
||||
}
|
||||
}
|
@ -16,11 +16,11 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
private bool _isDrawingGizmo = true;
|
||||
|
||||
private SingleRollData _singleRollData;
|
||||
private SandMole _sandMole;
|
||||
private AnimationController _animationController;
|
||||
private Rigidbody _userRigidbody;
|
||||
private CapsuleCollider _userCollider;
|
||||
private Collider _targetCollider;
|
||||
private ICurrentDirection _iCurrentDirection;
|
||||
private BossMapController _sandMoleMapController;
|
||||
private float _colliderRadius;
|
||||
private float _attackRadius;
|
||||
@ -35,17 +35,15 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
|
||||
protected override void BasicSetting()
|
||||
{
|
||||
if (!_sandMole)
|
||||
{
|
||||
_sandMole = SkillUser.GetComponent<SandMole>();
|
||||
_animationController = _sandMole.AnimationController;
|
||||
_userRigidbody = _sandMole.Rigidbody;
|
||||
_userCollider = _sandMole.CharacterCollider;
|
||||
_targetCollider = _sandMole.Target;
|
||||
_sandMoleMapController = MapManager.Instance.SandMoleMapController;
|
||||
_colliderRadius = _userCollider.radius * _sandMole.transform.localScale.x;
|
||||
_attackRadius = _colliderRadius * 0.5f;
|
||||
}
|
||||
_animationController = SkillUser.GetComponent<AnimationController>();
|
||||
_userRigidbody = SkillUser.GetComponent<Rigidbody>();
|
||||
_userCollider = SkillUser.GetComponent<CapsuleCollider>();
|
||||
_targetCollider = SkillUser.GetComponent<ITarget>().Target;
|
||||
_sandMoleMapController = MapManager.Instance.SandMoleMapController;
|
||||
_iCurrentDirection = SkillUser.GetComponent<ICurrentDirection>();
|
||||
|
||||
_colliderRadius = _userCollider.radius * SkillUser.transform.localScale.x;
|
||||
_attackRadius = _colliderRadius * 0.5f;
|
||||
_singleRollData = (SingleRollData)SkillData;
|
||||
HitColliders = new Collider[4];
|
||||
|
||||
@ -60,7 +58,6 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
private IEnumerator SkillCoroutine(params Action[] actions)
|
||||
{
|
||||
EnableSkill = false;
|
||||
_sandMole.StopMove();
|
||||
_animationController.SetAnimationParameter("skillIndex", (int)SandMoleSkill.SingleRoll);
|
||||
|
||||
var animationStarted = false;
|
||||
@ -94,7 +91,7 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
var angle = Mathf.Atan2(targetDirection.x, targetDirection.z) * Mathf.Rad2Deg;
|
||||
transform.rotation = Quaternion.Euler(0, angle, 0);
|
||||
|
||||
_sandMole.CurrentDirection = targetDirection;
|
||||
_iCurrentDirection.CurrentDirection = targetDirection;
|
||||
ShowIndicator();
|
||||
|
||||
var elapsedTime = 0f;
|
||||
@ -170,22 +167,25 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
|
||||
yield return new WaitForFixedUpdate();
|
||||
}
|
||||
|
||||
var rockfallCount = (int)(targetDistance / _singleRollData.RockfallInterval);
|
||||
for (var i = 2; i < rockfallCount; i++)
|
||||
{
|
||||
if (!SkillUser)
|
||||
{
|
||||
EndSkill(SkillData.Cooldown, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
var randomSide = Random.Range(_singleRollData.RandomSide.x, _singleRollData.RandomSide.y);
|
||||
var spawnPosition = SkillUser.transform.position
|
||||
+ -targetDirection * _singleRollData.RockfallInterval * i
|
||||
+ Vector3.up * _singleRollData.RockfallSpawnHeight;
|
||||
spawnPosition += Vector3.Cross(-targetDirection, Vector3.up).normalized * randomSide;
|
||||
Instantiate(_singleRollData.RockfallPrefab, spawnPosition, Quaternion.identity, _sandMoleMapController.ParticleInstantiateLocation);
|
||||
if (_singleRollData.RockfallPrefab)
|
||||
{
|
||||
var rockfallCount = (int)(targetDistance / _singleRollData.RockfallInterval);
|
||||
for (var i = 2; i < rockfallCount; i++)
|
||||
{
|
||||
if (!SkillUser)
|
||||
{
|
||||
EndSkill(SkillData.Cooldown, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
var randomSide = Random.Range(_singleRollData.RandomSide.x, _singleRollData.RandomSide.y);
|
||||
var spawnPosition = SkillUser.transform.position
|
||||
+ -targetDirection * _singleRollData.RockfallInterval * i
|
||||
+ Vector3.up * _singleRollData.RockfallSpawnHeight;
|
||||
spawnPosition += Vector3.Cross(-targetDirection, Vector3.up).normalized * randomSide;
|
||||
Instantiate(_singleRollData.RockfallPrefab, spawnPosition, Quaternion.identity, _sandMoleMapController.ParticleInstantiateLocation);
|
||||
}
|
||||
}
|
||||
|
||||
elapsedTime = 0f;
|
||||
|
@ -392,13 +392,16 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 7b9900c0671da864e910821e6447affc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_characterCollider: {fileID: 4832858849328938018}
|
||||
_spriteRenderer: {fileID: 6274137400612009998}
|
||||
_particleInstantiateLocation: {fileID: 0}
|
||||
<MaxHealthPoint>k__BackingField: 0
|
||||
<CurrentHealthPoint>k__BackingField: 0
|
||||
_damageInterval: 0.1
|
||||
_attackedSfxName:
|
||||
_dieSfxName:
|
||||
_attackedParticle: {fileID: 0}
|
||||
_dieParticle: {fileID: 0}
|
||||
_particleInstantiateLocation: {fileID: 0}
|
||||
--- !u!114 &-3401764490790336446
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
10080
Assets/05.Prefabs/Characters/Enemies/Bosses/MiniSandMole.prefab
Normal file
10080
Assets/05.Prefabs/Characters/Enemies/Bosses/MiniSandMole.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5975a5a7434cc704c9d60c8ab3750550
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -19,23 +19,23 @@ PrefabInstance:
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[0]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[1]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[2]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[3]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[4]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6255916646741457976, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 6
|
||||
@ -100,10 +100,6 @@ PrefabInstance:
|
||||
propertyPath: m_WasSpriteAssigned
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6377054450616127915, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: <CurrentHealthPoint>k__BackingField
|
||||
value: 700
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Rhinoceros
|
||||
|
@ -23,23 +23,23 @@ PrefabInstance:
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[0]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[1]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[2]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[3]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: '_skillList.Array.data[4]'
|
||||
value:
|
||||
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6255916646741457976, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 5
|
||||
@ -104,10 +104,6 @@ PrefabInstance:
|
||||
propertyPath: m_WasSpriteAssigned
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6377054450616127915, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: <CurrentHealthPoint>k__BackingField
|
||||
value: 700
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: SandMole
|
||||
@ -229,6 +225,15 @@ MonoBehaviour:
|
||||
<BossSkillController>k__BackingField: {fileID: 1878389004569703936}
|
||||
<Target>k__BackingField: {fileID: 0}
|
||||
<SandMoleStatus>k__BackingField: {fileID: 6857639742673603861}
|
||||
_summonMiniSandMoles:
|
||||
- <HealthPercentage>k__BackingField: 80
|
||||
<SummonTrigger>k__BackingField: 0
|
||||
- <HealthPercentage>k__BackingField: 60
|
||||
<SummonTrigger>k__BackingField: 0
|
||||
- <HealthPercentage>k__BackingField: 40
|
||||
<SummonTrigger>k__BackingField: 0
|
||||
- <HealthPercentage>k__BackingField: 20
|
||||
<SummonTrigger>k__BackingField: 0
|
||||
--- !u!114 &6857639742673603861
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1,5 +1,36 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &193063856128984745
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6657138680337087356}
|
||||
m_Layer: 0
|
||||
m_Name: MiniSandMoleSpawn (3)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 3936346786652291628, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6657138680337087356
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 193063856128984745}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 5, y: 0, z: -5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8991664057069348477}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &316225229665130246
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -280,6 +311,37 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &2563095547787055824
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1324592367882867249}
|
||||
m_Layer: 0
|
||||
m_Name: MiniSandMoleSpawn (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 3936346786652291628, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1324592367882867249
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2563095547787055824}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 5, y: 0, z: 5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8991664057069348477}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &3576121860620050639
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -496,6 +558,68 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7225845442489806937
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4946803535834257734}
|
||||
m_Layer: 0
|
||||
m_Name: CenterSpawn
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: -1412012063857583412, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4946803535834257734
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7225845442489806937}
|
||||
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: 6960399737772514917}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7331406564017590088
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9046549034752090187}
|
||||
m_Layer: 0
|
||||
m_Name: MiniSandMoleSpawn (2)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 3936346786652291628, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9046549034752090187
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7331406564017590088}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -5, y: 0, z: -5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8991664057069348477}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7619121463401286315
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -582,6 +706,72 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!1 &7661269855599544664
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8991664057069348477}
|
||||
m_Layer: 0
|
||||
m_Name: MiniSandMoleSpawns
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8991664057069348477
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7661269855599544664}
|
||||
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: 2981470058859736985}
|
||||
- {fileID: 1324592367882867249}
|
||||
- {fileID: 9046549034752090187}
|
||||
- {fileID: 6657138680337087356}
|
||||
m_Father: {fileID: 6960399737772514917}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7883838996347282313
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2981470058859736985}
|
||||
m_Layer: 0
|
||||
m_Name: MiniSandMoleSpawn
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 3936346786652291628, guid: 0000000000000000d000000000000000, type: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2981470058859736985
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7883838996347282313}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -5, y: 0, z: 5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8991664057069348477}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &8345533875491524569
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -802,10 +992,16 @@ PrefabInstance:
|
||||
- targetCorrespondingSourceObject: {fileID: 7798505859049167048, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 9203013126190605548}
|
||||
- targetCorrespondingSourceObject: {fileID: 4700527603807157220, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 4946803535834257734}
|
||||
- targetCorrespondingSourceObject: {fileID: 4700527603807157220, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 8991664057069348477}
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 7702874292798655589, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 6585123087190923213}
|
||||
addedObject: {fileID: 4232848145969149048}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
--- !u!4 &1335494345527737213 stripped
|
||||
Transform:
|
||||
@ -822,7 +1018,7 @@ GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 7702874292798655589, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
m_PrefabInstance: {fileID: 2424043105665738113}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &6585123087190923213
|
||||
--- !u!114 &4232848145969149048
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
@ -831,7 +1027,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 5424010737098975716}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45ca5fc4b0d9415ca599aa7cd17f3370, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: eb656087fe6c652469b29504a37df539, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
PlayerSpawnTransform: {fileID: 7906706039042621278}
|
||||
@ -841,6 +1037,12 @@ MonoBehaviour:
|
||||
BGMName:
|
||||
BossSpawnTransform: {fileID: 6522622582430961898}
|
||||
BossType: 3
|
||||
CenterSpawnTransform: {fileID: 4946803535834257734}
|
||||
MiniSandMoleSpawnTransforms:
|
||||
- {fileID: 2981470058859736985}
|
||||
- {fileID: 1324592367882867249}
|
||||
- {fileID: 9046549034752090187}
|
||||
- {fileID: 6657138680337087356}
|
||||
--- !u!4 &5591840841030008137 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 7798505859049167048, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
@ -851,6 +1053,11 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8874040642671342955, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
m_PrefabInstance: {fileID: 2424043105665738113}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &6960399737772514917 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4700527603807157220, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
m_PrefabInstance: {fileID: 2424043105665738113}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &7552954649617714894 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5292453453235858255, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||
|
@ -0,0 +1,99 @@
|
||||
%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: MiniSingleRoll
|
||||
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}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 817830973935461002, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 6760430575876107212}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
--- !u!114 &4604593881685827721 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 7266951372888583716, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
m_PrefabInstance: {fileID: 6575159217317842605}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0777d029ed3dffa4692f417d4aba19ca, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &5793366936479968295 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 817830973935461002, guid: 1e5a4659704853944abea5a17e13cf6a, type: 3}
|
||||
m_PrefabInstance: {fileID: 6575159217317842605}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!114 &6760430575876107212
|
||||
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: b30a1dae096e3af44a1792bbc3a2b620, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
SkillData: {fileID: 11400000, guid: b064f624ee1ab8e429a4e2c158f6ae9f, type: 2}
|
||||
EnableSkill: 1
|
||||
IsUsingIndicator: 1
|
||||
Indicator: {fileID: 4604593881685827721}
|
||||
_isDrawingGizmo: 1
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 23d0aa0f7beb06342b545024c1195523
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
41
Assets/11.BehaviorTree/MiniSandMole.asset
Normal file
41
Assets/11.BehaviorTree/MiniSandMole.asset
Normal file
@ -0,0 +1,41 @@
|
||||
%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: b23f08d2ae4cba14087c1ed36193d82b, type: 3}
|
||||
m_Name: MiniSandMole
|
||||
m_EditorClassIdentifier:
|
||||
mBehaviorSource:
|
||||
behaviorName: SandMole
|
||||
behaviorDescription:
|
||||
mTaskData:
|
||||
types: []
|
||||
parentIndex:
|
||||
startIndex:
|
||||
variableStartIndex:
|
||||
JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(707.6564,145.842773)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(3.069271,152.681244)"},"ID":1,"Name":"Start
|
||||
Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-76.66675,145.294128)"},"ID":2,"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.Repeater","NodeData":{"Offset":"(76.06769,146.666718)"},"ID":3,"Name":"Repeater","Instant":true,"SharedIntcount":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedBoolrepeatForever":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedBoolendOnFailure":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-3.44348145,154.9137)"},"ID":4,"Name":"Die
|
||||
Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-547.465149,148.989136)"},"ID":5,"Name":"Die
|
||||
Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-104.999634,149.904846)","Comment":"CurrentHealthPoint
|
||||
== 0"},"ID":6,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"CurrentHealthPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BehaviorDesigner.Runtime.Tasks.StopBehaviorTree","NodeData":{"Offset":"(93.47067,153.019165)"},"ID":7,"Name":"Stop
|
||||
Behavior Tree","Instant":true,"SharedGameObjectbehaviorGameObject":{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},"SharedIntgroup":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedBoolpauseBehavior":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1.07836533,154.29248)"},"ID":8,"Name":"Skill
|
||||
Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-0.5132599,154.740326)"},"ID":9,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-155.2381,150)"},"ID":10,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.SelfStun","NodeData":{"Offset":"(4.942749,145.861938)"},"ID":11,"Name":"Self
|
||||
Stun","Instant":true,"Single_stunDuration":3},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(134.9425,145.861938)"},"ID":12,"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}}]}]}]}]}]},"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:
|
||||
startIndex:
|
||||
dataPosition:
|
||||
unityObjects: []
|
||||
byteData:
|
||||
byteDataArray:
|
||||
Version: 1.7.9
|
8
Assets/11.BehaviorTree/MiniSandMole.asset.meta
Normal file
8
Assets/11.BehaviorTree/MiniSandMole.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e714607df1007924b9c1a6c384465fde
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in New Issue
Block a user