#17 모래두더지 구르기 스킬(SingleRoll) 추가

+ BaseSkillData에서 TargetLayer를 받아오게끔 로직 수정(스킬마다의 Target이 다름)
+ DamageableProps 태그 추가
+ DamageableProps 부모 클래스 추가
+ DamageableProps 상속 클래스 Rockfall 추가
+ SandMole(모래두더지)가 벽에 박치기 한 뒤에 Rockfall(낙석)을 떨어뜨리는 기능 추가
This commit is contained in:
Nam Tae Gun 2024-06-14 18:11:35 +09:00
parent b0151e3bc6
commit 4db6c2bf57
54 changed files with 11573 additions and 40 deletions

View File

@ -22,7 +22,13 @@ namespace BlueWater.Enemies.Bosses
HammerSlam,
MeteorSwing,
SeismicThrust,
SkyFallSmash
SkyFallSmash,
___SandMoleSkillList___,
Rockfall,
RollingBarrage,
SingleRoll,
SpikeBarrage,
SummonMiniSandMole
}
public abstract class Boss : MonoBehaviour

View File

@ -6,9 +6,14 @@ namespace BlueWater.Enemies.Bosses.SandMole
public enum SandMoleSkill
{
None = 0,
Rockfall,
RollingBarrage,
SingleRoll,
SpikeBarrage,
SummonMiniSandMole
}
public class Rhinoceros : Boss
public class SandMole : Boss
{
// Variables
#region Variables

View File

@ -5,7 +5,6 @@ using BlueWater.Interfaces;
using BlueWater.Utility;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Serialization;
namespace BlueWater.Players.Combat
{

View File

@ -8,7 +8,7 @@ namespace BlueWater.Interfaces
void SetCurrentHealthPoint(int changedHealthPoint);
bool CanDamage();
void TakeDamage(int damageAmount);
void TryTakeDamage(int damageAmonut);
void TryTakeDamage(int damageAmount);
void Die();
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f52d29493005ed54497942b5b938b484
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,70 @@
using BlueWater.Audios;
using BlueWater.Interfaces;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater
{
public class DamageableProps : MonoBehaviour, IDamageable
{
[field: Title("체력")]
[field: SerializeField]
public int MaxHealthPoint { get; private set; } = 1;
[field: SerializeField]
public int CurrentHealthPoint { get; private set; }
[Title("Die 설정")]
[SerializeField]
private string _dieSfxName;
[SerializeField]
private ParticleSystem _dieParticle;
protected Transform SpawnLocation;
public virtual void SetCurrentHealthPoint(int changedHealthPoint)
{
CurrentHealthPoint = changedHealthPoint;
}
public virtual bool CanDamage()
{
return true;
}
public virtual void TakeDamage(int damageAmount)
{
var changeHp = Mathf.Max(CurrentHealthPoint - damageAmount, 0);
SetCurrentHealthPoint(changeHp);
if (changeHp == 0f)
{
Die();
return;
}
}
public virtual void TryTakeDamage(int damageAmount)
{
if (!CanDamage()) return;
TakeDamage(damageAmount);
}
public virtual void Die()
{
if (!string.IsNullOrEmpty(_dieSfxName))
{
AudioManager.Instance.PlaySfx(_dieSfxName);
}
if (_dieParticle && SpawnLocation)
{
Instantiate(_dieParticle, transform.position, Quaternion.identity, SpawnLocation);
}
Destroy(gameObject);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 57e5dbde2eb0d2b419d7f0ae58106bb3

View File

@ -0,0 +1,81 @@
using System.Collections;
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Maps;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater
{
public class Rockfall : DamageableProps
{
[Title("컴포넌트")]
[SerializeField]
private Rigidbody _rigidbody;
[SerializeField, Required]
private SphereCollider _sphereCollider;
[Title("충돌 설정")]
[SerializeField]
private LayerMask _targetLayer;
[SerializeField]
private LayerMask _groundLayer;
[SerializeField, Range(0f, 1f)]
private float _checkDistance = 0.1f;
[SerializeField, Range(0, 5)]
private int _attackDamage = 1;
[Title("Ground Crash 설정")]
[SerializeField]
private string _groundCrashSfxName;
[SerializeField]
private ParticleSystem _groundCrashParticle;
private Collider[] _hitColliders = new Collider[4];
private bool _isGrounded;
private bool _isAttacked;
private IEnumerator Start()
{
_sphereCollider.enabled = false;
SpawnLocation = MapManager.Instance.SandMoleMapController.ParticleInstantiateLocation;
while (!_isGrounded)
{
_isGrounded = Physics.Raycast(transform.position, Vector3.down, _checkDistance, _groundLayer);
yield return null;
}
if (_rigidbody)
{
_rigidbody.isKinematic = true;
}
_sphereCollider.enabled = true;
if (!string.IsNullOrEmpty(_groundCrashSfxName))
{
AudioManager.Instance.PlaySfx(_groundCrashSfxName);
}
if (_groundCrashParticle && SpawnLocation)
{
Instantiate(_groundCrashParticle, transform.position, Quaternion.identity, SpawnLocation);
}
var hitCount = Physics.OverlapSphereNonAlloc(_sphereCollider.bounds.center, _sphereCollider.radius,
_hitColliders, _targetLayer, QueryTriggerInteraction.Collide);
for (var i = 0; i < hitCount; i++)
{
var hitCollider = _hitColliders[i];
var iDamageable = hitCollider.GetComponentInParent<IDamageable>();
if (iDamageable == null || !iDamageable.CanDamage()) continue;
iDamageable.TakeDamage(_attackDamage);
}
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 61cf0c2253d7c9c4a923ed6a630f7a93

View File

@ -18,5 +18,6 @@ MonoBehaviour:
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<SkillDataList>k__BackingField: []
<SkillDataList>k__BackingField:
- {fileID: 6760430575876107212, guid: a09fc16b8b3c86a4e88ac3f049b5fd89, type: 3}
<MoveSpeed>k__BackingField: 3

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 0
<CastingTime>k__BackingField: 1
<Duration>k__BackingField: 0
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<ChargeSpeed>k__BackingField: 25
<ChargeOffset>k__BackingField: 3
<PushPower>k__BackingField: 10

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 3.5
<CastingTime>k__BackingField: 1
<Duration>k__BackingField: 0
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<AttackOffset>k__BackingField: 3
<PushPower>k__BackingField: 5
<StunDuration>k__BackingField: 0.05

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 3
<CastingTime>k__BackingField: 1
<Duration>k__BackingField: 0
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<AttackAngle>k__BackingField: 180
<ProjectilePrefab>k__BackingField: {fileID: 194276104676398060, guid: b72f1dbff188be247a8253665b2c1b26, type: 3}
<ProjectileCount>k__BackingField: 5

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 12
<CastingTime>k__BackingField: 0.5
<Duration>k__BackingField: 0
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<HorizontalRange>k__BackingField: 3
<SeismicThrustParticle>k__BackingField: {fileID: 4571145888420713692, guid: 783e2b88976de334696bcd02854292ba, type: 3}
<PushPower>k__BackingField: 10

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 5
<CastingTime>k__BackingField: 1
<Duration>k__BackingField: 0
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<JumpTime>k__BackingField: 0.1
<JumpHeight>k__BackingField: 15
<WaitTime>k__BackingField: 2

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 15883b8d2f2dca9468f72c53c6057e19
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,38 @@
%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: SingleRollData
m_EditorClassIdentifier:
<Name>k__BackingField: SingleRoll
<DisplayName>k__BackingField: "\uAD6C\uB974\uAE30"
<Description>k__BackingField:
<Damage>k__BackingField: 1
<Cooldown>k__BackingField: 15
<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
<RollSpeed>k__BackingField: 40
<PushPower>k__BackingField: 8
<AirJumpForce>k__BackingField: 3
<BounceBackForce>k__BackingField: 150
<CameraShakingPower>k__BackingField: 5
<CameraShakingDuration>k__BackingField: 1
<RockfallPrefab>k__BackingField: {fileID: 403575580428700795, guid: 28e4d21533af9b949a4cb910f2d4fa4c, type: 3}
<RandomSide>k__BackingField: {x: -2, y: 2}
<RockfallInterval>k__BackingField: 2
<RockfallSpawnHeight>k__BackingField: 5

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 68a4123978f05af4281feb67596f171b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 0
<CastingTime>k__BackingField: 0.5
<Duration>k__BackingField: 0
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 2048
<TargetRandomRange>k__BackingField: 1
<SelfRandomRange>k__BackingField: 3
<JumpHeight>k__BackingField: 2

View File

@ -20,6 +20,9 @@ MonoBehaviour:
<Radius>k__BackingField: 5
<CastingTime>k__BackingField: 0.5
<Duration>k__BackingField: 1.8
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 4096
<MaxAttackCount>k__BackingField: 6
<ReturnStartPosition>k__BackingField: 0
<IsHitStop>k__BackingField: 1

View File

@ -19,7 +19,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
private Rigidbody _userRigidbody;
private CapsuleCollider _userCollider;
private Collider _targetCollider;
private LayerMask _targetLayer;
private float _colliderRadius;
private float _attackRadius;
@ -40,7 +39,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
_userRigidbody = _rhinoceros.Rigidbody;
_userCollider = _rhinoceros.CharacterCollider;
_targetCollider = _rhinoceros.Target;
_targetLayer = _rhinoceros.TargetLayer;
_colliderRadius = _userCollider.radius * _rhinoceros.transform.localScale.x;
_attackRadius = _colliderRadius * 0.5f;
}
@ -111,7 +109,7 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
var moveDistance = _bullChargeData.ChargeSpeed * Time.fixedDeltaTime;
var skillUserPosition = SkillUser.transform.position;
var hitCount = Physics.SphereCastNonAlloc(skillUserPosition, _attackRadius, targetDirection,
RaycastHits, 0f, _targetLayer, QueryTriggerInteraction.Collide);
RaycastHits, 0f, _bullChargeData.TargetLayer, QueryTriggerInteraction.Collide);
_userRigidbody.MovePosition(skillUserPosition + targetDirection * moveDistance);

View File

@ -18,7 +18,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
private Rhinoceros _rhinoceros;
private AnimationController _animationController;
private Collider _targetCollider;
private LayerMask _targetLayer;
private Vector3 _attackStartPosition;
@ -37,7 +36,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
_rhinoceros = SkillUser.GetComponent<Rhinoceros>();
_animationController = _rhinoceros.AnimationController;
_targetCollider = _rhinoceros.Target;
_targetLayer = _rhinoceros.TargetLayer;
}
_hammerSlamData = (HammerSlamData)SkillData;
HitColliders = new Collider[5];
@ -103,7 +101,8 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
}
AudioManager.Instance.PlaySfx("HammerSlam");
var hitCount = Physics.OverlapSphereNonAlloc(_attackStartPosition, SkillData.Radius, HitColliders, _targetLayer, QueryTriggerInteraction.Collide);
var hitCount = Physics.OverlapSphereNonAlloc(_attackStartPosition, SkillData.Radius, HitColliders,
_hammerSlamData.TargetLayer, QueryTriggerInteraction.Collide);
for (var i = 0; i < hitCount; i++)
{
var hitCollider = HitColliders[i];

View File

@ -1,7 +1,6 @@
using System;
using System.Collections;
using BlueWater.Interfaces;
using BlueWater.Maps;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using UnityEngine;
@ -19,7 +18,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
private Rhinoceros _rhinoceros;
private AnimationController _animationController;
private Collider _targetCollider;
private LayerMask _targetLayer;
private Transform _particleInstantiateLocation;
private static readonly int _angleHash = Shader.PropertyToID("_Angle");
@ -47,7 +45,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
_rhinoceros = SkillUser.GetComponent<Rhinoceros>();
_animationController = _rhinoceros.AnimationController;
_targetCollider = _rhinoceros.Target;
_targetLayer = _rhinoceros.TargetLayer;
_particleInstantiateLocation = _rhinoceros.BossMapController.ParticleInstantiateLocation;
}
_meteorSwingData = (MeteorSwingData)SkillData;
@ -112,7 +109,8 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
yield return null;
}
var hitCount = Physics.OverlapSphereNonAlloc(transform.position, SkillData.Radius, HitColliders, _targetLayer, QueryTriggerInteraction.Collide);
var hitCount = Physics.OverlapSphereNonAlloc(transform.position, SkillData.Radius, HitColliders,
_meteorSwingData.TargetLayer, QueryTriggerInteraction.Collide);
for (var i = 0; i < hitCount; i++)
{
var hitCollider = HitColliders[i];
@ -145,7 +143,7 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
var rotation = Quaternion.Euler(0, currentAngle, 0);
var projectile = Instantiate(_meteorSwingData.ProjectilePrefab,
startPosition + Vector3.up, rotation, _particleInstantiateLocation).GetComponent<ParticleWeapon>();
projectile.Initialize(_meteorSwingData.ProjectileDamage, _targetLayer);
projectile.Initialize(_meteorSwingData.ProjectileDamage, _meteorSwingData.TargetLayer);
projectile.AddForce(projectile.transform.forward * _meteorSwingData.ProjectileSpeed, ForceMode.Impulse);
}

View File

@ -1,7 +1,6 @@
using System;
using System.Collections;
using BlueWater.Interfaces;
using BlueWater.Maps;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using UnityEngine;
@ -17,7 +16,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
private SeismicThrustData _seismicThrustData;
private Rhinoceros _rhinoceros;
private Collider _targetCollider;
private LayerMask _targetLayer;
private Transform _particleInstantiateLocation;
private GameObject _seismicThrustParticle;
@ -48,7 +46,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
{
_rhinoceros = SkillUser.GetComponent<Rhinoceros>();
_targetCollider = _rhinoceros.Target;
_targetLayer = _rhinoceros.TargetLayer;
_particleInstantiateLocation = _rhinoceros.BossMapController.ParticleInstantiateLocation;
}
_seismicThrustData = (SeismicThrustData)SkillData;
@ -102,7 +99,7 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
SkillUser.transform.position + transform.forward * 4f, transform.rotation, _particleInstantiateLocation);
_startPosition = SkillUser.transform.position + transform.forward * _halfScale.z;
var maxSize = Physics.BoxCastNonAlloc(_startPosition, _halfScale, transform.forward,
RaycastHits, transform.rotation, 0f, _targetLayer, QueryTriggerInteraction.Collide);
RaycastHits, transform.rotation, 0f, _seismicThrustData.TargetLayer, QueryTriggerInteraction.Collide);
for (var i = 0; i < maxSize; i++)
{
var raycastHit = RaycastHits[i];

View File

@ -19,7 +19,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
private Rhinoceros _rhinoceros;
private AnimationController _animationController;
private Collider _targetCollider;
private LayerMask _targetLayer;
private static readonly int _colorHash = Shader.PropertyToID("_Color");
@ -30,7 +29,6 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
_rhinoceros = SkillUser.GetComponent<Rhinoceros>();
_animationController = _rhinoceros.AnimationController;
_targetCollider = _rhinoceros.Target;
_targetLayer = _rhinoceros.TargetLayer;
}
_skyFallSmashData = (SkyFallSmashData)SkillData;
HitColliders = new Collider[4];
@ -186,9 +184,9 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros.Skills
_skyFallSmashData.CameraShakingPower, _skyFallSmashData.CameraShakingDuration);
var centerPosition = transform.position;
var hitCount = Physics.OverlapSphereNonAlloc(centerPosition, SkillData.Radius, HitColliders, _targetLayer, QueryTriggerInteraction.Collide);
var hitCount = Physics.OverlapSphereNonAlloc(centerPosition, SkillData.Radius, HitColliders, _skyFallSmashData.TargetLayer, QueryTriggerInteraction.Collide);
var stunRange = SkillData.Radius * _skyFallSmashData.StunRadiusCoefficient;
var stunHitCount = Physics.OverlapSphereNonAlloc(centerPosition, stunRange, HitColliders, _targetLayer, QueryTriggerInteraction.Collide);
var stunHitCount = Physics.OverlapSphereNonAlloc(centerPosition, stunRange, HitColliders, _skyFallSmashData.TargetLayer, QueryTriggerInteraction.Collide);
for (var i = 0; i < hitCount; i++)
{
var iDamageable = HitColliders[i].GetComponentInParent<IDamageable>();

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c60aa50bff1aa5a4e9d4672d596ffb83
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: dddd75588542ed249ae6442a146334ed
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,41 @@
using UnityEngine;
namespace BlueWater.Enemies.Bosses.SandMole.Skills
{
[CreateAssetMenu(fileName = "SingleRollData", menuName = "ScriptableObjects/Skills/SandMole/SingleRollData", order = (int)SandMoleSkill.SingleRoll)]
public class SingleRollData : SkillData
{
[field: SerializeField]
public LayerMask WallLayer { get; private set; }
[field: SerializeField, Tooltip("초당 돌진 속도")]
public float RollSpeed { get; private set; } = 15f;
[field: SerializeField, Tooltip("공격했을 때, 타겟을 밀어내는 힘")]
public float PushPower { get; private set; } = 20f;
[field: SerializeField, Tooltip("벽에 부딪혔을 때, 공중으로 뜨는 힘")]
public float AirJumpForce { get; private set; } = 3f;
[field: SerializeField, Tooltip("벽에 부딪혔을 때, 밀려나는 힘")]
public float BounceBackForce { get; private set; } = 150f;
[field: SerializeField]
public float CameraShakingPower { get; private set; } = 5f;
[field: SerializeField]
public float CameraShakingDuration { get; private set; } = 1f;
[field: SerializeField]
public GameObject RockfallPrefab { get; private set; }
[field: SerializeField]
public Vector2 RandomSide { get; private set; } = new(-2, 2);
[field: SerializeField]
public float RockfallInterval { get; private set; } = 2f;
[field: SerializeField]
public float RockfallSpawnHeight { get; private set; } = 5f;
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1754c19573409534085289855f7331e3

View File

@ -0,0 +1,206 @@
using System;
using System.Collections;
using BlueWater.Interfaces;
using BlueWater.Maps;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using UnityEngine;
using Random = UnityEngine.Random;
namespace BlueWater.Enemies.Bosses.SandMole.Skills
{
public class SingleRoll : BaseSkill
{
[Title("추가 옵션")]
[SerializeField]
private bool _isDrawingGizmo = true;
private SingleRollData _singleRollData;
private SandMole _sandMole;
private AnimationController _animationController;
private Rigidbody _userRigidbody;
private CapsuleCollider _userCollider;
private Collider _targetCollider;
private BossMapController _sandMoleMapController;
private float _colliderRadius;
private float _attackRadius;
private void OnDrawGizmos()
{
if (!_isDrawingGizmo || !IsUsingSkill) return;
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(SkillUser.transform.position, _attackRadius);
}
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;
}
_singleRollData = (SingleRollData)SkillData;
HitColliders = new Collider[4];
base.BasicSetting();
}
public override void ActivateSkill(params Action[] actions)
{
Utils.StartUniqueCoroutine(this, ref SkillCoroutineInstance, SkillCoroutine(actions));
}
private IEnumerator SkillCoroutine(params Action[] actions)
{
EnableSkill = false;
_sandMole.StopMove();
_animationController.SetAnimationParameter("skillIndex", (int)SandMoleSkill.SingleRoll);
var animationStarted = false;
yield return StartCoroutine(_animationController.WaitForAnimationToRun("SingleRoll",
success => animationStarted = success));
if (!animationStarted || !SkillUser)
{
EndSkill(0, actions[0]);
yield break;
}
IsUsingSkill = true;
_animationController.ResetAnimationSpeed();
var startPosition = SkillUser.transform.position;
var targetVector = _targetCollider.transform.position - startPosition;
targetVector.y = 0f;
var targetDirection = targetVector.normalized;
float targetDistance;
if (Physics.Raycast(startPosition, targetDirection, out var hit, 100f, _singleRollData.WallLayer))
{
targetDistance = hit.distance;
}
else
{
Debug.LogError("벽을 탐지하지 못했습니다.");
EndSkill(0, actions[0]);
yield break;
}
transform.position = startPosition + Vector3.up * 3f;
transform.localScale = new Vector3(_colliderRadius, 6f, targetDistance * 2);
var angle = Mathf.Atan2(targetDirection.x, targetDirection.z) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0, angle, 0);
_sandMole.CurrentDirection = targetDirection;
ShowIndicator();
var elapsedTime = 0f;
var fill = 1 / SkillData.CastingTime;
while (elapsedTime <= SkillData.CastingTime)
{
elapsedTime += Time.deltaTime;
if (IsUsingIndicator && Indicator)
{
var fillValue = Indicator.material.GetFloat(_fillHash) + Time.deltaTime * fill;
Indicator.material.SetFloat(_fillHash, fillValue);
}
yield return null;
}
HideIndicator();
while (true)
{
if (!SkillUser)
{
EndSkill(SkillData.Cooldown, actions[0]);
yield break;
}
var skillUserPosition = SkillUser.transform.position;
var moveDistance = _singleRollData.RollSpeed * Time.fixedDeltaTime;
var hitCount = Physics.OverlapSphereNonAlloc(skillUserPosition, _attackRadius, HitColliders,
_singleRollData.TargetLayer, QueryTriggerInteraction.Collide);
var isCrashedWall = false;
for (var i = 0; i < hitCount; i++)
{
var hitCollider = HitColliders[i];
if (hitCollider.CompareTag("Wall"))
{
VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera,
_singleRollData.CameraShakingPower, _singleRollData.CameraShakingDuration);
var forceDirection = -targetDirection + Vector3.up * _singleRollData.AirJumpForce;
_userRigidbody.AddForce(forceDirection * _singleRollData.BounceBackForce, ForceMode.Impulse);
isCrashedWall = true;
break;
}
var iDamageable = hitCollider.transform.GetComponentInParent<IDamageable>();
if (iDamageable == null || !iDamageable.CanDamage()) continue;
iDamageable.TakeDamage(SkillData.Damage);
var iPhysicMovable = hitCollider.transform.GetComponentInParent<IPhysicMovable>();
if (iPhysicMovable == null) continue;
var hitVector = hitCollider.transform.position - SkillUser.transform.position;
hitVector.y = 0f;
var hitDirection = hitVector.normalized;
var cross = Vector3.Cross(hitDirection, transform.forward);
var addForceDirection = cross.y >= 0f
? Quaternion.Euler(0, -90, 0) * transform.forward
: Quaternion.Euler(0, 90, 0) * transform.forward;
iPhysicMovable.AddForce(addForceDirection * _singleRollData.PushPower, ForceMode.Impulse);
}
if (isCrashedWall)
{
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);
}
break;
}
_userRigidbody.MovePosition(skillUserPosition + targetDirection * moveDistance);
yield return new WaitForFixedUpdate();
}
EndSkill(SkillData.Cooldown, actions[0]);
}
private void EndSkill(float cooldown, Action action)
{
Utils.EndUniqueCoroutine(this, ref SkillCoroutineInstance);
_animationController.SetAnimationParameter("skillIndex", (int)SandMoleSkill.None);
action?.Invoke();
IsUsingSkill = false;
Utils.StartUniqueCoroutine(this, ref CooldownCoroutineInstance,Utils.CoolDownCoroutine(cooldown, EndCooldown));
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b30a1dae096e3af44a1792bbc3a2b620

View File

@ -16,7 +16,6 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills
private TitanSlimeState _titanSlimeState;
private Rigidbody _userRigidbody;
private Collider _targetCollider;
private LayerMask _targetLayer;
private float _colliderRadius;
protected override void BasicSetting()
@ -28,7 +27,6 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills
_titanSlimeState = _titanSlime.TitanSlimeState;
_userRigidbody = _titanSlime.Rigidbody;
_targetCollider = _titanSlime.Target;
_targetLayer = _titanSlime.TargetLayer;
_colliderRadius = _titanSlime.CharacterCollider.radius * _titanSlime.transform.localScale.x;
}
_jumpSlamData = (JumpSlamData)SkillData;
@ -242,7 +240,7 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills
private void DoAttack(Vector3 attackPosition)
{
var hitCount = Physics.OverlapSphereNonAlloc(attackPosition, _colliderRadius, HitColliders, _targetLayer);
var hitCount = Physics.OverlapSphereNonAlloc(attackPosition, _colliderRadius, HitColliders, _jumpSlamData.TargetLayer);
for (var i = 0; i < hitCount; i++)
{
var hitCollider = HitColliders[i];

View File

@ -24,7 +24,6 @@ namespace BlueWater.Players.Combat.Skills
private CombatPlayer _combatPlayer;
private AnimationController _animationController;
private IPhysicMovable _iPhysicMovable;
private LayerMask _targetLayer;
private ParticleSystem _readyParticleInstance;
private ParticleSystem _attackParticleInstance;
@ -61,7 +60,6 @@ namespace BlueWater.Players.Combat.Skills
_combatPlayer = SkillUser.GetComponent<CombatPlayer>();
_animationController = _combatPlayer.AnimationController;
_iPhysicMovable = _combatPlayer.GetComponent<IPhysicMovable>();
_targetLayer = _combatPlayer.TargetLayer;
}
_theWaltzOfTheSwordData = (TheWaltzOfTheSwordData)SkillData;
_readyParticleInstance = Instantiate(_theWaltzOfTheSwordData.ReadyParticle, SkillUser.transform);
@ -73,7 +71,8 @@ namespace BlueWater.Players.Combat.Skills
_originStartPosition = SkillUser.transform.position;
HitColliders = new Collider[_theWaltzOfTheSwordData.MaxAttackCount];
_hitCount = Physics.OverlapSphereNonAlloc(_originStartPosition, SkillData.Radius, HitColliders, _targetLayer, QueryTriggerInteraction.Collide);
_hitCount = Physics.OverlapSphereNonAlloc(_originStartPosition, SkillData.Radius, HitColliders,
_theWaltzOfTheSwordData.TargetLayer, QueryTriggerInteraction.Collide);
return _hitCount > 0;
}

View File

@ -28,5 +28,8 @@ namespace BlueWater
[field: SerializeField]
public float Duration { get; private set; }
[field: SerializeField]
public LayerMask TargetLayer { get; private set; }
}
}

View File

@ -11,7 +11,7 @@ PrefabInstance:
- target: {fileID: 310644174614533744, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_Controller
value:
objectReference: {fileID: 9100000, guid: b72997f7313898044ab80e696c84e390, type: 2}
objectReference: {fileID: 9100000, guid: a6d9ab891e7e22741a581057b97110d5, type: 2}
- target: {fileID: 3476210053167940160, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_LocalPosition.y
value: 0.5
@ -42,15 +42,15 @@ PrefabInstance:
objectReference: {fileID: 7464818668275774481, guid: c068e12b504a1ca48bf609ee2724abc8, type: 3}
- target: {fileID: 6255916646741457976, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_LocalScale.x
value: 6
value: 5
objectReference: {fileID: 0}
- target: {fileID: 6255916646741457976, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_LocalScale.y
value: 6
value: 5
objectReference: {fileID: 0}
- target: {fileID: 6255916646741457976, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_LocalScale.z
value: 6
value: 5
objectReference: {fileID: 0}
- target: {fileID: 6255916646741457976, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_LocalPosition.x
@ -99,7 +99,7 @@ PrefabInstance:
- target: {fileID: 6274137400612009998, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
objectReference: {fileID: 21300000, guid: 884b7fc30283f3e4aad173e3e7bef059, type: 3}
- target: {fileID: 6274137400612009998, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
@ -119,7 +119,31 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
insertIndex: 3
addedObject: {fileID: 1110469622569527304}
- targetCorrespondingSourceObject: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
insertIndex: -1
addedObject: {fileID: -3236352117277465236}
m_SourcePrefab: {fileID: 100100000, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
--- !u!4 &1410821550004090100 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 3476210053167940160, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1878389004569703936 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4159255405813448884, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4623786526972472839}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5e547505a3a98b44c9660eec12b91720, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!95 &2875096611673055428 stripped
Animator:
m_CorrespondingSourceObject: {fileID: 310644174614533744, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
--- !u!1 &4623786526972472839 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
@ -144,7 +168,7 @@ MonoBehaviour:
logTaskChanges: 0
group: 0
resetValuesOnRestart: 0
externalBehavior: {fileID: 0}
externalBehavior: {fileID: 11400000, guid: ff3ad0a810bbf9d49a60f5990463ab05, type: 2}
mBehaviorSource:
behaviorName: SandMole
behaviorDescription:
@ -153,15 +177,96 @@ MonoBehaviour:
parentIndex:
startIndex:
variableStartIndex:
JSONSerialization: '{}'
JSONSerialization: '{"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true,"GameObjectmValue":0},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"CurrentHealthPoint","IsShared":true,"PropertyMapping":"BlueWater.Enemies.Bosses.SandMole.SandMole/CurrentHealthPoint","PropertyMappingOwner":1,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true,"PropertyMapping":"BlueWater.Enemies.Bosses.SandMole.SandMole/Target","PropertyMappingOwner":2}]}'
fieldSerializationData:
typeName: []
fieldNameHash:
startIndex:
dataPosition:
unityObjects: []
unityObjects:
- {fileID: 4623786526972472839}
- {fileID: 4623786526972472839}
- {fileID: 4623786526972472839}
byteData:
byteDataArray:
Version: 1.7.9
gizmoViewMode: 2
showBehaviorDesignerGizmo: 0
--- !u!114 &-3236352117277465236
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4623786526972472839}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e606f828f61d0241be522a81ccc2915, type: 3}
m_Name:
m_EditorClassIdentifier:
<Rigidbody>k__BackingField: {fileID: 6368257510650399952}
<CharacterCollider>k__BackingField: {fileID: 6969328794869467798}
<BehaviorTree>k__BackingField: {fileID: 1110469622569527304}
<VisualLook>k__BackingField: {fileID: 1410821550004090100}
<SpriteRenderer>k__BackingField: {fileID: 8411583502041648826}
<Animator>k__BackingField: {fileID: 2875096611673055428}
<HitBoxCollider>k__BackingField: {fileID: 5897569616117255232}
<BossData>k__BackingField: {fileID: 11400000, guid: ac684afe9ab056d4eb4a6b2fedfcf6d9, type: 2}
<AnimationController>k__BackingField: {fileID: 8314565348215340790}
<BossHealthPoint>k__BackingField: {fileID: 8923351760400967455}
<AIMovement>k__BackingField: {fileID: 9002511558952892456}
<BossSkillController>k__BackingField: {fileID: 1878389004569703936}
<Target>k__BackingField: {fileID: 0}
--- !u!65 &5897569616117255232 stripped
BoxCollider:
m_CorrespondingSourceObject: {fileID: 8246553021837507316, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
--- !u!54 &6368257510650399952 stripped
Rigidbody:
m_CorrespondingSourceObject: {fileID: 8919762167155522148, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
--- !u!136 &6969328794869467798 stripped
CapsuleCollider:
m_CorrespondingSourceObject: {fileID: 4832858849328938018, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
--- !u!114 &8314565348215340790 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: -3401764490790336446, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4623786526972472839}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 17488a2bea6f4126a7877ce5d934f865, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!212 &8411583502041648826 stripped
SpriteRenderer:
m_CorrespondingSourceObject: {fileID: 6274137400612009998, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
--- !u!114 &8923351760400967455 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 6377054450616127915, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4623786526972472839}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7b9900c0671da864e910821e6447affc, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &9002511558952892456 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 6865346796134993564, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
m_PrefabInstance: {fileID: 2569800677110986420}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4623786526972472839}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 75b48aa4b99043cb9e665a892ec46c75, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -439,7 +439,7 @@ MonoBehaviour:
<MovePower>k__BackingField: 2
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 4096
m_Bits: 4352
_mouseClickLayer:
serializedVersion: 2
m_Bits: 32832

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ba349aabc5e18a64fa7c024a2ac7fd2c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 660dfd0ccf26cbf489a7556236949683
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d0dcc7c99b5d610459440dff89d43e0b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,171 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3764902268943045601
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7986070582027999988}
- component: {fileID: 2892108968249248585}
- component: {fileID: 1772409705626034443}
m_Layer: 8
m_Name: BaseDamageableProps
m_TagString: DamageableProps
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7986070582027999988
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3764902268943045601}
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: 1
m_Children:
- {fileID: 7438534416270888028}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!54 &2892108968249248585
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3764902268943045601}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 1
m_Constraints: 112
m_CollisionDetection: 2
--- !u!135 &1772409705626034443
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3764902268943045601}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.5
m_Center: {x: 0, y: 0.5, z: 0}
--- !u!1 &7835622629792856689
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7438534416270888028}
- component: {fileID: 3580758810857167321}
m_Layer: 8
m_Name: VisualLook
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7438534416270888028
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7835622629792856689}
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: 7986070582027999988}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &3580758810857167321
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7835622629792856689}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: d3c87e7ec1e83654cb2bff3178900c99, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 5
m_Sprite: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: bfc5c806b2fa3ba40850df302d3db0b7
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,129 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &3577643095578124186
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1772409705626034443, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_ExcludeLayers.m_Bits
value: 1024
objectReference: {fileID: 0}
- target: {fileID: 3580758810857167321, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: aeefbca1d88d1ed4c9e8aa4d8d008383, type: 3}
- target: {fileID: 3580758810857167321, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3764902268943045601, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_Name
value: Rockfall
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalScale.x
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalScale.y
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalScale.z
value: 1.5
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 3764902268943045601, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
insertIndex: -1
addedObject: {fileID: -7768665423605519573}
m_SourcePrefab: {fileID: 100100000, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
--- !u!1 &403575580428700795 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 3764902268943045601, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
m_PrefabInstance: {fileID: 3577643095578124186}
m_PrefabAsset: {fileID: 0}
--- !u!114 &-7768665423605519573
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 403575580428700795}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 61cf0c2253d7c9c4a923ed6a630f7a93, type: 3}
m_Name:
m_EditorClassIdentifier:
<MaxHealthPoint>k__BackingField: 1
<CurrentHealthPoint>k__BackingField: 0
_dieSfxName:
_dieParticle: {fileID: 19826678, guid: 660dfd0ccf26cbf489a7556236949683, type: 3}
_rigidbody: {fileID: 1838738275417183443}
_sphereCollider: {fileID: 2971964863692897937}
_targetLayer:
serializedVersion: 2
m_Bits: 2048
_groundLayer:
serializedVersion: 2
m_Bits: 64
_checkDistance: 0.1
_attackDamage: 1
_groundCrashSfxName:
_groundCrashParticle: {fileID: 19826678, guid: 660dfd0ccf26cbf489a7556236949683, type: 3}
--- !u!54 &1838738275417183443 stripped
Rigidbody:
m_CorrespondingSourceObject: {fileID: 2892108968249248585, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
m_PrefabInstance: {fileID: 3577643095578124186}
m_PrefabAsset: {fileID: 0}
--- !u!135 &2971964863692897937 stripped
SphereCollider:
m_CorrespondingSourceObject: {fileID: 1772409705626034443, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
m_PrefabInstance: {fileID: 3577643095578124186}
m_PrefabAsset: {fileID: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 28e4d21533af9b949a4cb910f2d4fa4c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a1116b4b3d4a1064282a06d69fdbe9e1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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: SingleRoll
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: 68a4123978f05af4281feb67596f171b, type: 2}
EnableSkill: 1
IsUsingIndicator: 1
Indicator: {fileID: 4604593881685827721}
_isDrawingGizmo: 1

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a09fc16b8b3c86a4e88ac3f049b5fd89
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 32af00c205b47bb499400ee0df5674c0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,783 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-9181742229983782996
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 5
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 7184740733897293241}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-8593698506726839684
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6198737061502339589}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-8360421920375830872
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: isDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 7753610216372121977}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-7632896210515437490
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 5
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 7184740733897293241}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-6198737061502339589
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: IdleState
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -9181742229983782996}
- {fileID: 4508055025463837073}
- {fileID: 6611349521497906245}
- {fileID: 7264072594426360772}
- {fileID: 7761545933434869747}
- {fileID: -3144810468399223301}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 426946429960984326}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-6029808731430279332
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6198737061502339589}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-5691180661881930344
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WalkState
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -7632896210515437490}
- {fileID: 2782055452541925557}
- {fileID: 2079002825027507685}
- {fileID: -3106078971425646077}
- {fileID: -1896492407808793123}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 5372302960397064869}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-3144810468399223301
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6198737061502339589}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-3106078971425646077
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 2
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 738300769568541194}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-2853154237229373714
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6198737061502339589}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-2270464072665711239
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6198737061502339589}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-1896492407808793123
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: isMoving
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6198737061502339589}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1107 &-934075150057655220
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -6198737061502339589}
m_Position: {x: 300, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: -5691180661881930344}
m_Position: {x: 600, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: 7753610216372121977}
m_Position: {x: 200, y: -100, z: 0}
- serializedVersion: 1
m_State: {fileID: 6774117770736358250}
m_Position: {x: 110, y: 260, z: 0}
- serializedVersion: 1
m_State: {fileID: 738300769568541194}
m_Position: {x: -110, y: 200, z: 0}
- serializedVersion: 1
m_State: {fileID: -239926944250279742}
m_Position: {x: 460, y: 270, z: 0}
- serializedVersion: 1
m_State: {fileID: 7184740733897293241}
m_Position: {x: 720, y: 200, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: -8360421920375830872}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 0, y: -100, z: 0}
m_EntryPosition: {x: 0, y: 100, z: 0}
m_ExitPosition: {x: 890, y: -70, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -6198737061502339589}
--- !u!1102 &-239926944250279742
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SpikeBarrage
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -2853154237229373714}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SandMole
serializedVersion: 5
m_AnimatorParameters:
- m_Name: xDirection
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: zDirection
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: isMoving
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: isDead
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: skillIndex
m_Type: 3
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -934075150057655220}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!206 &426946429960984326
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 0
m_Position: {x: 0, y: -1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 0.33333334
m_Position: {x: -0.9, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 0.6666667
m_Position: {x: 0.9, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 1
m_Position: {x: 0, y: 1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
m_BlendParameter: xDirection
m_BlendParameterY: zDirection
m_MinThreshold: 0
m_MaxThreshold: 1
m_UseAutomaticThresholds: 1
m_NormalizedBlendValues: 0
m_BlendType: 1
--- !u!1102 &738300769568541194
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: RollingBarrage
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -2270464072665711239}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &2079002825027507685
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 3
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 6774117770736358250}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &2782055452541925557
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 4
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -239926944250279742}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &4508055025463837073
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 4
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -239926944250279742}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!206 &5372302960397064869
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 0
m_Position: {x: 0, y: -1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 0.33333334
m_Position: {x: -0.9, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 0.6666667
m_Position: {x: 0.9, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 0}
m_Threshold: 1
m_Position: {x: 0, y: 1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
m_BlendParameter: xDirection
m_BlendParameterY: zDirection
m_MinThreshold: 0
m_MaxThreshold: 1
m_UseAutomaticThresholds: 1
m_NormalizedBlendValues: 0
m_BlendType: 1
--- !u!1101 &6611349521497906245
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 3
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 6774117770736358250}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &6774117770736358250
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SingleRoll
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -8593698506726839684}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &7184740733897293241
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SummonMiniSandMole
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -6029808731430279332}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &7264072594426360772
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 6
m_ConditionEvent: skillIndex
m_EventTreshold: 2
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 738300769568541194}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.75409836
m_HasExitTime: 0
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &7753610216372121977
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Die
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &7761545933434869747
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: isMoving
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -5691180661881930344}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a6d9ab891e7e22741a581057b97110d5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -41,7 +41,7 @@ MonoBehaviour:
Skill","Instant":true,"BossSkillName_bossSkillName":"SeismicThrust"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(138.695557,145.216064)"},"ID":24,"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.Wait","NodeData":{"Offset":"(100,150)"},"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":"(1.4637413,149.411728)"},"ID":26,"Name":"Meteor
Swing","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Conditionals.CanSkill","NodeData":{"Offset":"(-210,150)"},"ID":27,"Name":"Can
Skill","Instant":true,"BossSkillName_bossSkillName":"MeteorSwing"},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-64.02417,148.139359)"},"ID":28,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-104.997131,153.633057)"},"ID":29,"Name":"Move
Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.Move","NodeData":{"Offset":"(-102.194824,145.121338)"},"ID":30,"Name":"Move","Instant":true,"BooleanUseMovePosition":false,"SharedVector3MovePosition":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"SharedColliderTarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(102.927307,153.901367)"},"ID":31,"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":"BlueWater.BehaviorTrees.ReturnSuccess","NodeData":{"Offset":"(113.292358,153.542847)"},"ID":32,"Name":"Return
Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.Move","NodeData":{"Offset":"(-102.194824,145.121338)"},"ID":30,"Name":"Move","Instant":true,"BooleanUseMovePosition":false,"SharedVector3MovePosition":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(0,0,0)"},"SharedColliderTarget":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(102.927307,153.901367)"},"ID":31,"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":"BlueWater.BehaviorTrees.Actions.ReturnSuccess","NodeData":{"Offset":"(110,150)"},"ID":32,"Name":"Return
Success","Instant":true}]},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(87.43816,150)"},"ID":33,"Name":"Activate
Skill","Instant":true,"BossSkillName_bossSkillName":"MeteorSwing"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(244.149719,151.666656)"},"ID":34,"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":"(728.971252,147.857132)"},"ID":35,"Name":"Sky
Fall Smash","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Conditionals.CanSkill","NodeData":{"Offset":"(-170,150)"},"ID":36,"Name":"Can

View File

@ -0,0 +1,43 @@
%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: SandMole
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":"(89.99982,145.294128)"},"ID":2,"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.Repeater","NodeData":{"Offset":"(242.734253,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.UntilSuccess","NodeData":{"Offset":"(-4.999878,154.166809)"},"ID":9,"Name":"Until
Success","Instant":true,"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.RandomSelector","NodeData":{"Offset":"(-0.8695679,146.086731)"},"ID":10,"Name":"Random
Selector","Instant":true,"Int32seed":0,"BooleanuseSeed":false,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1254.71313,148.733643)"},"ID":11,"Name":"Single
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Conditionals.CanSkill","NodeData":{"Offset":"(-150,150)"},"ID":12,"Name":"Can
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(0,150)"},"ID":13,"Name":"Activate
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(154.705811,153.681122)"},"ID":14,"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}}]}]}]}]}]}]}]},"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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ff3ad0a810bbf9d49a60f5990463ab05
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -6,6 +6,7 @@ TagManager:
tags:
- Missile
- Wall
- DamageableProps
layers:
- Default
- TransparentFX