#27 SandMole, MiniSandMole 스파인 동기화 완료
+ 스파인 오브젝트에 커스텀 Material 추가 및 MaterialPropertyBlock 방식 추가 + 개발자 키(F3) 전투플레이어 체력 회복 기능 추가 + SandMole Spike 파티클 변경 + 맵 이동할 때, 재시작할 때, 보스 체력 바 제거
This commit is contained in:
parent
c766d4879b
commit
c9e2a6ab5d
@ -10772,7 +10772,7 @@ MonoBehaviour:
|
|||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
m_FillMethod: 1
|
m_FillMethod: 1
|
||||||
m_FillAmount: 0.613
|
m_FillAmount: 0.3
|
||||||
m_FillClockwise: 1
|
m_FillClockwise: 1
|
||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
|
@ -71,6 +71,7 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
public Collider Target { get; protected set; }
|
public Collider Target { get; protected set; }
|
||||||
|
|
||||||
public IAstarAI AstarAi;
|
public IAstarAI AstarAi;
|
||||||
|
protected MaterialPropertyBlock MaterialPropertyBlock;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -133,6 +134,9 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
BossSkillController = GetComponent<BossSkillController>();
|
BossSkillController = GetComponent<BossSkillController>();
|
||||||
|
|
||||||
AstarAi = GetComponent<IAstarAI>();
|
AstarAi = GetComponent<IAstarAI>();
|
||||||
|
|
||||||
|
MaterialPropertyBlock = new MaterialPropertyBlock();
|
||||||
|
BossHealthPoint.SetMaterialPropertyBlock(MaterialPropertyBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -55,6 +55,7 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
private Coroutine _damageIntervalCoroutine;
|
private Coroutine _damageIntervalCoroutine;
|
||||||
|
|
||||||
private bool _enableHealthChangedEvent;
|
private bool _enableHealthChangedEvent;
|
||||||
|
private MaterialPropertyBlock _materialPropertyBlock;
|
||||||
|
|
||||||
// Hashes
|
// Hashes
|
||||||
private static readonly int _isHitHash = Shader.PropertyToID("_IsHit");
|
private static readonly int _isHitHash = Shader.PropertyToID("_IsHit");
|
||||||
@ -77,10 +78,9 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
{
|
{
|
||||||
if (_enableHealthChangedEvent && _fieldBossHealthPointUi)
|
if (!_enableHealthChangedEvent || !_fieldBossHealthPointUi) return;
|
||||||
{
|
|
||||||
OnHealthChanged -= _fieldBossHealthPointUi.SetCurrentHealthPoint;
|
OnHealthChanged -= _fieldBossHealthPointUi.SetCurrentHealthPoint;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize methods
|
// Initialize methods
|
||||||
@ -122,10 +122,12 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
var changeHp = Mathf.Max(CurrentHealthPoint - damageAmount, 0);
|
var changeHp = Mathf.Max(CurrentHealthPoint - damageAmount, 0);
|
||||||
SetCurrentHealthPoint(changeHp);
|
SetCurrentHealthPoint(changeHp);
|
||||||
|
|
||||||
if (_renderer.material.HasInt(_isHitHash))
|
Utils.StartUniqueCoroutine(this, ref _flashWhiteCoroutine, FlashWhiteCoroutine());
|
||||||
{
|
|
||||||
Utils.StartUniqueCoroutine(this, ref _flashWhiteCoroutine, FlashWhiteCoroutine());
|
// if (_renderer.material.HasInt(_isHitHash))
|
||||||
}
|
// {
|
||||||
|
// Utils.StartUniqueCoroutine(this, ref _flashWhiteCoroutine, FlashWhiteCoroutine());
|
||||||
|
// }
|
||||||
|
|
||||||
// 죽었는지 체크
|
// 죽었는지 체크
|
||||||
if (changeHp == 0)
|
if (changeHp == 0)
|
||||||
@ -175,9 +177,13 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
|
|
||||||
private IEnumerator FlashWhiteCoroutine()
|
private IEnumerator FlashWhiteCoroutine()
|
||||||
{
|
{
|
||||||
_renderer.material.SetInt(_isHitHash, 1);
|
_materialPropertyBlock.SetInteger(_isHitHash, 1);
|
||||||
|
_renderer.SetPropertyBlock(_materialPropertyBlock);
|
||||||
|
|
||||||
yield return _flashWhiteWaitTime;
|
yield return _flashWhiteWaitTime;
|
||||||
_renderer.material.SetInt(_isHitHash, 0);
|
|
||||||
|
_materialPropertyBlock.SetInteger(_isHitHash, 0);
|
||||||
|
_renderer.SetPropertyBlock(_materialPropertyBlock);
|
||||||
|
|
||||||
Utils.EndUniqueCoroutine(this, ref _flashWhiteCoroutine);
|
Utils.EndUniqueCoroutine(this, ref _flashWhiteCoroutine);
|
||||||
}
|
}
|
||||||
@ -188,12 +194,6 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
Utils.EndUniqueCoroutine(this, ref _damageIntervalCoroutine);
|
Utils.EndUniqueCoroutine(this, ref _damageIntervalCoroutine);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HideFieldBossHealthPointUi()
|
public void SetMaterialPropertyBlock(MaterialPropertyBlock materialPropertyBlock) => _materialPropertyBlock = materialPropertyBlock;
|
||||||
{
|
|
||||||
if (_fieldBossHealthPointUi.gameObject.activeSelf)
|
|
||||||
{
|
|
||||||
_fieldBossHealthPointUi.SetActiveHpSlider(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,28 +24,33 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
|||||||
|
|
||||||
public override async void Initialize()
|
public override async void Initialize()
|
||||||
{
|
{
|
||||||
|
HitBoxCollider.enabled = false;
|
||||||
BossHealthPoint.Initialize(false, BossData.MaxHealthPoint,
|
BossHealthPoint.Initialize(false, BossData.MaxHealthPoint,
|
||||||
BossData.DisplayName, SandMoleMapController.ParticleInstanceLocation);
|
BossData.DisplayName, SandMoleMapController.ParticleInstanceLocation);
|
||||||
BossSkillController.Initialize(BossData.SkillDataList);
|
BossSkillController.Initialize(BossData.SkillDataList);
|
||||||
SetMoveSpeed(SandMoleData.MoveSpeed);
|
SetMoveSpeed(SandMoleData.MoveSpeed);
|
||||||
StopMove();
|
StopMove();
|
||||||
|
|
||||||
MeshRenderer.material.SetFloat(_dissolveValueHash, 0f);
|
MaterialPropertyBlock.SetFloat(_dissolveValueHash, 0f);
|
||||||
|
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
||||||
var elapsedTime = 0f;
|
var elapsedTime = 0f;
|
||||||
while (elapsedTime <= _spawnDissolveTime)
|
while (elapsedTime <= _spawnDissolveTime)
|
||||||
{
|
{
|
||||||
var value = Mathf.Lerp(0f, 1f, elapsedTime / _spawnDissolveTime);
|
var value = Mathf.Lerp(0f, 1f, elapsedTime / _spawnDissolveTime);
|
||||||
MeshRenderer.material.SetFloat(_dissolveValueHash, value);
|
MaterialPropertyBlock.SetFloat(_dissolveValueHash, value);
|
||||||
|
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
||||||
elapsedTime += Time.deltaTime;
|
elapsedTime += Time.deltaTime;
|
||||||
await Awaitable.NextFrameAsync();
|
await Awaitable.NextFrameAsync();
|
||||||
}
|
}
|
||||||
MeshRenderer.material.SetFloat(_dissolveValueHash, 1f);
|
MaterialPropertyBlock.SetFloat(_dissolveValueHash, 1f);
|
||||||
|
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
||||||
|
|
||||||
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
||||||
var roarTrack = SpineController.PlayAnimation(SandMoleAnimation.Roar.ToString(), false);
|
var roarTrack = SpineController.PlayAnimation(SandMoleAnimation.Roar.ToString(), false);
|
||||||
|
|
||||||
await SpineController.WaitForAnimationCompletion(roarTrack);
|
await SpineController.WaitForAnimationCompletion(roarTrack);
|
||||||
BehaviorTree.EnableBehavior();
|
BehaviorTree.EnableBehavior();
|
||||||
|
HitBoxCollider.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using BlueWater.Items;
|
using BlueWater.Items;
|
||||||
using BlueWater.Maps;
|
using BlueWater.Maps;
|
||||||
@ -27,7 +28,8 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
|||||||
{
|
{
|
||||||
None = 0,
|
None = 0,
|
||||||
Die,
|
Die,
|
||||||
Dig,
|
DigIn,
|
||||||
|
DigOut,
|
||||||
Idle,
|
Idle,
|
||||||
Roar,
|
Roar,
|
||||||
Spin,
|
Spin,
|
||||||
@ -90,6 +92,17 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
|||||||
|
|
||||||
public override async void Initialize()
|
public override async void Initialize()
|
||||||
{
|
{
|
||||||
|
StartCoroutine(InitializeCoroutine());
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
#region Methods
|
||||||
|
|
||||||
|
private IEnumerator InitializeCoroutine()
|
||||||
|
{
|
||||||
|
HitBoxCollider.enabled = false;
|
||||||
BossHealthPoint.Initialize(true, SandMoleData.MaxHealthPoint,
|
BossHealthPoint.Initialize(true, SandMoleData.MaxHealthPoint,
|
||||||
SandMoleData.DisplayName, SandMoleMapController.ParticleInstanceLocation);
|
SandMoleData.DisplayName, SandMoleMapController.ParticleInstanceLocation);
|
||||||
BossHealthPoint.OnHealthChanged += SummonMiniSandMole;
|
BossHealthPoint.OnHealthChanged += SummonMiniSandMole;
|
||||||
@ -98,17 +111,25 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
|||||||
StopMove();
|
StopMove();
|
||||||
|
|
||||||
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
||||||
|
var isCameraShakeActive = false;
|
||||||
var roarTrack = SpineController.PlayAnimation(SandMoleAnimation.Roar.ToString(), false);
|
var roarTrack = SpineController.PlayAnimation(SandMoleAnimation.Roar.ToString(), false);
|
||||||
|
while (!roarTrack.IsComplete)
|
||||||
|
{
|
||||||
|
if (CurrentHealthPoint == 0) yield break;
|
||||||
|
|
||||||
|
if (roarTrack.TrackTime >= 1f && !isCameraShakeActive)
|
||||||
|
{
|
||||||
|
VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera, 2f, 1f);
|
||||||
|
isCameraShakeActive = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
yield return null;
|
||||||
|
}
|
||||||
|
|
||||||
await SpineController.WaitForAnimationCompletion(roarTrack);
|
|
||||||
BehaviorTree.EnableBehavior();
|
BehaviorTree.EnableBehavior();
|
||||||
|
HitBoxCollider.enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
// Methods
|
|
||||||
#region Methods
|
|
||||||
|
|
||||||
protected override async void Die()
|
protected override async void Die()
|
||||||
{
|
{
|
||||||
BossSkillController.StopAllCoroutine();
|
BossSkillController.StopAllCoroutine();
|
||||||
|
@ -18,7 +18,7 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
// Classes
|
// Classes
|
||||||
[field: SerializeField]
|
[field: SerializeField]
|
||||||
public SpineController SpineController { get; private set; }
|
public SpineController SpineController { get; private set; }
|
||||||
|
|
||||||
public bool IsMoving { get; private set; }
|
public bool IsMoving { get; private set; }
|
||||||
|
|
||||||
private Vector3 _currentDirection = Vector3.right;
|
private Vector3 _currentDirection = Vector3.right;
|
||||||
|
@ -16,6 +16,9 @@ namespace BlueWater.Players.Combat
|
|||||||
// Components
|
// Components
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Rigidbody _rigidbody;
|
private Rigidbody _rigidbody;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private CapsuleCollider _capsuleCollider;
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private AnimationController _animationController;
|
private AnimationController _animationController;
|
||||||
@ -91,6 +94,7 @@ namespace BlueWater.Players.Combat
|
|||||||
private void InitializeComponents()
|
private void InitializeComponents()
|
||||||
{
|
{
|
||||||
_rigidbody = GetComponent<Rigidbody>();
|
_rigidbody = GetComponent<Rigidbody>();
|
||||||
|
_capsuleCollider = GetComponent<CapsuleCollider>();
|
||||||
_animationController = GetComponent<AnimationController>();
|
_animationController = GetComponent<AnimationController>();
|
||||||
|
|
||||||
_iPhysicMovable = GetComponent<IPhysicMovable>();
|
_iPhysicMovable = GetComponent<IPhysicMovable>();
|
||||||
@ -257,9 +261,10 @@ namespace BlueWater.Players.Combat
|
|||||||
{
|
{
|
||||||
iDamageable.TakeDamage(ComboAttacks[comboAttackCount - 1].Damage);
|
iDamageable.TakeDamage(ComboAttacks[comboAttackCount - 1].Damage);
|
||||||
// TODO : Collider에 따라 잘 안보이는 경우가 있음
|
// TODO : Collider에 따라 잘 안보이는 경우가 있음
|
||||||
var closestPoint = hitCollider.ClosestPoint(transform.position);
|
var spawnPosition = _capsuleCollider.bounds.center + targetDirection * 1.5f;
|
||||||
|
//var closestPoint = hitCollider.ClosestPoint(_capsuleCollider.bounds.center);
|
||||||
//var spawnPosition = closestPoint + Random.insideUnitSphere * 0.2f;
|
//var spawnPosition = closestPoint + Random.insideUnitSphere * 0.2f;
|
||||||
Instantiate(_swordAttackParticle, closestPoint, Quaternion.identity);
|
Instantiate(_swordAttackParticle, spawnPosition, Quaternion.identity);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (comboAttackCount == 2)
|
if (comboAttackCount == 2)
|
||||||
|
@ -182,6 +182,14 @@ namespace BlueWater.Players.Combat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnHealthPointMax(InputAction.CallbackContext context)
|
||||||
|
{
|
||||||
|
if (context.performed)
|
||||||
|
{
|
||||||
|
GameManager.Instance.CurrentCombatPlayer.SetCurrentHealthPointMax();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void OnCancel(InputAction.CallbackContext context)
|
public void OnCancel(InputAction.CallbackContext context)
|
||||||
{
|
{
|
||||||
if (context.performed)
|
if (context.performed)
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using Spine;
|
using Spine;
|
||||||
using Spine.Unity;
|
using Spine.Unity;
|
||||||
@ -15,6 +14,7 @@ namespace BlueWater.Players
|
|||||||
// Components
|
// Components
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private SkeletonAnimation _skeletonAnimation;
|
private SkeletonAnimation _skeletonAnimation;
|
||||||
|
|
||||||
private AnimationState _animationState;
|
private AnimationState _animationState;
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
|
@ -102,6 +102,7 @@ namespace BlueWater.Maps
|
|||||||
DestroyAllObjects();
|
DestroyAllObjects();
|
||||||
|
|
||||||
DataManager.Instance.CurrentSaveStage = SaveStage;
|
DataManager.Instance.CurrentSaveStage = SaveStage;
|
||||||
|
CombatUiManager.Instance.FieldBossHealthPointUi.SetActiveHpSlider(false);
|
||||||
AudioManager.Instance.StopBgm();
|
AudioManager.Instance.StopBgm();
|
||||||
CombatUiManager.Instance.FadeInOut(InitializeFadeInOutTime.x, InitializeFadeInOutTime.y,
|
CombatUiManager.Instance.FadeInOut(InitializeFadeInOutTime.x, InitializeFadeInOutTime.y,
|
||||||
new Color(0f, 0f, 0f, 0f), 1f);
|
new Color(0f, 0f, 0f, 0f), 1f);
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using BlueWater.Audios;
|
||||||
using BlueWater.Enemies.Bosses;
|
using BlueWater.Enemies.Bosses;
|
||||||
|
using BlueWater.Uis;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -160,6 +162,8 @@ namespace BlueWater.Maps
|
|||||||
if (!GameManager.Instance.CurrentCombatPlayer) return;
|
if (!GameManager.Instance.CurrentCombatPlayer) return;
|
||||||
|
|
||||||
GameManager.Instance.CurrentCombatPlayer.transform.position = PlayerSpawnLocation.position;
|
GameManager.Instance.CurrentCombatPlayer.transform.position = PlayerSpawnLocation.position;
|
||||||
|
CombatUiManager.Instance.FieldBossHealthPointUi.SetActiveHpSlider(false);
|
||||||
|
AudioManager.Instance.StopBgm();
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void ResetMap(bool isHardReset = false);
|
public abstract void ResetMap(bool isHardReset = false);
|
||||||
|
@ -29,20 +29,6 @@ namespace BlueWater.Maps
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void InitializeMap()
|
|
||||||
// {
|
|
||||||
// if (_currentMapController != null)
|
|
||||||
// {
|
|
||||||
// _currentMapController.AllDestroyObjects();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// _currentMapController = GetMapController(DataManager.Instance.CurrentSaveStage);
|
|
||||||
// if (_currentMapController != null)
|
|
||||||
// {
|
|
||||||
// _currentMapController.InitializeMap();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
public MapController GetMapController(SaveStage saveStage)
|
public MapController GetMapController(SaveStage saveStage)
|
||||||
{
|
{
|
||||||
switch (saveStage)
|
switch (saveStage)
|
||||||
@ -87,8 +73,7 @@ namespace BlueWater.Maps
|
|||||||
{
|
{
|
||||||
_currentMapController.ResetMap();
|
_currentMapController.ResetMap();
|
||||||
}
|
}
|
||||||
GameManager.Instance.CurrentCombatPlayer.SetCurrentHealthPointMax();
|
|
||||||
AudioManager.Instance.StopBgm();
|
|
||||||
var moveMapController = GetMapController((SaveStage)stage);
|
var moveMapController = GetMapController((SaveStage)stage);
|
||||||
moveMapController.MovePlayer();
|
moveMapController.MovePlayer();
|
||||||
}
|
}
|
||||||
|
@ -783,6 +783,15 @@
|
|||||||
"interactions": "",
|
"interactions": "",
|
||||||
"initialStateCheck": false
|
"initialStateCheck": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "HealthPointMax",
|
||||||
|
"type": "Button",
|
||||||
|
"id": "0dbf1015-499a-43fe-b252-11c232b9a1ae",
|
||||||
|
"expectedControlType": "",
|
||||||
|
"processors": "",
|
||||||
|
"interactions": "",
|
||||||
|
"initialStateCheck": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "OpenMenu",
|
"name": "OpenMenu",
|
||||||
"type": "Button",
|
"type": "Button",
|
||||||
@ -946,6 +955,17 @@
|
|||||||
"isComposite": false,
|
"isComposite": false,
|
||||||
"isPartOfComposite": false
|
"isPartOfComposite": false
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"id": "e222deb0-5edd-446d-a834-6224ea05eb2e",
|
||||||
|
"path": "<Keyboard>/f3",
|
||||||
|
"interactions": "",
|
||||||
|
"processors": "",
|
||||||
|
"groups": ";Keyboard&Mouse",
|
||||||
|
"action": "HealthPointMax",
|
||||||
|
"isComposite": false,
|
||||||
|
"isPartOfComposite": false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "",
|
"name": "",
|
||||||
"id": "46591849-5c1e-4b83-b490-0a4ad29ed80f",
|
"id": "46591849-5c1e-4b83-b490-0a4ad29ed80f",
|
||||||
|
@ -46,14 +46,14 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
|||||||
{
|
{
|
||||||
EnableSkill = false;
|
EnableSkill = false;
|
||||||
_spineController.SetSkin(SandMoleSkin.Normal.ToString());
|
_spineController.SetSkin(SandMoleSkin.Normal.ToString());
|
||||||
var digTrack = _spineController.PlayAnimation(SandMoleAnimation.Dig.ToString(), false);
|
var digInTrack = _spineController.PlayAnimation(SandMoleAnimation.DigIn.ToString(), false);
|
||||||
if (digTrack == null || !SkillUser)
|
if (digInTrack == null || !SkillUser)
|
||||||
{
|
{
|
||||||
EndSkill(0, actions[0]);
|
EndSkill(0, actions[0]);
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
|
||||||
yield return new WaitUntil(() => digTrack.IsComplete);
|
yield return new WaitUntil(() => digInTrack.IsComplete);
|
||||||
|
|
||||||
_userHitBox.enabled = false;
|
_userHitBox.enabled = false;
|
||||||
_aiMovement.Teleport(_centerSpawnTransform.position);
|
_aiMovement.Teleport(_centerSpawnTransform.position);
|
||||||
@ -61,14 +61,14 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
|||||||
yield return new WaitForSeconds(1f);
|
yield return new WaitForSeconds(1f);
|
||||||
|
|
||||||
_userHitBox.enabled = true;
|
_userHitBox.enabled = true;
|
||||||
var reverseDigTrack = _spineController.PlayAnimation(SandMoleAnimation.Dig.ToString(), false, 1f, true);
|
var digOutTrack = _spineController.PlayAnimation(SandMoleAnimation.DigOut.ToString(), false);
|
||||||
if (reverseDigTrack == null || !SkillUser)
|
if (digOutTrack == null || !SkillUser)
|
||||||
{
|
{
|
||||||
EndSkill(0, actions[0]);
|
EndSkill(0, actions[0]);
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
|
||||||
yield return new WaitUntil(() => reverseDigTrack.TrackTime <= 0f);
|
yield return new WaitUntil(() => digOutTrack.IsComplete);
|
||||||
|
|
||||||
_spineController.SetSkin(SandMoleSkin.Idle.ToString());
|
_spineController.SetSkin(SandMoleSkin.Idle.ToString());
|
||||||
var spinReady2Track = _spineController.PlayAnimation(SandMoleAnimation.SpinReady2.ToString(), false);
|
var spinReady2Track = _spineController.PlayAnimation(SandMoleAnimation.SpinReady2.ToString(), false);
|
||||||
|
146
Assets/04.Materials/Characters/MiniSandMole.mat
Normal file
146
Assets/04.Materials/Characters/MiniSandMole.mat
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: MiniSandMole
|
||||||
|
m_Shader: {fileID: -6465566751694194690, guid: 25b64c74397178e47a04794eb9a74d8f, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses:
|
||||||
|
- MOTIONVECTORS
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailAlbedoMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMask:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailNormalMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 3c44ede4067bf47479030196a1fc61ec, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OcclusionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _ParallaxMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SpecGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AddPrecomputedVelocity: 0
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _AlphaClipThreshold: 0.2
|
||||||
|
- _AlphaToMask: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BlendModePreserveSpecular: 1
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DissolveValue: 0
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _DstBlendAlpha: 0
|
||||||
|
- _EnvironmentReflections: 1
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _GlowSize: 0.1
|
||||||
|
- _IsHit: 0
|
||||||
|
- _IsSeeThrough: 0
|
||||||
|
- _Metallic: 0
|
||||||
|
- _OcclusionStrength: 1
|
||||||
|
- _Opacity: 0.7
|
||||||
|
- _Parallax: 0.005
|
||||||
|
- _QueueControl: 0
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Size: 0
|
||||||
|
- _Smoothness: 0.8
|
||||||
|
- _SmoothnessTextureChannel: 0
|
||||||
|
- _SpecularHighlights: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _SrcBlendAlpha: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _WorkflowMode: 1
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _FlashColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _GlowColor: {r: 5.3403134, g: 5.3403134, b: 0, a: 0}
|
||||||
|
- _PlayerPosition: {r: 0.5, g: 0.55, b: 0, a: 0}
|
||||||
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
||||||
|
--- !u!114 &3929801182760292753
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 11
|
||||||
|
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
version: 9
|
8
Assets/04.Materials/Characters/MiniSandMole.mat.meta
Normal file
8
Assets/04.Materials/Characters/MiniSandMole.mat.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9d32cf8bfac003345a3e86211d6fb83c
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -114,7 +114,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 3216521486739552858, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 3216521486739552858, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
propertyPath: 'm_Materials.Array.data[0]'
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 2100000, guid: d9ca9344cd131c049810707093126ca7, type: 2}
|
objectReference: {fileID: 2100000, guid: cd85759cb00b35c4b9d52d8814bf680b, type: 2}
|
||||||
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: customMaterialOverrides.Array.size
|
propertyPath: customMaterialOverrides.Array.size
|
||||||
value: 1
|
value: 1
|
||||||
@ -126,15 +126,23 @@ PrefabInstance:
|
|||||||
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: customMaterialOverrides.Array.data[0].replacementMaterial
|
propertyPath: customMaterialOverrides.Array.data[0].replacementMaterial
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 2100000, guid: d9ca9344cd131c049810707093126ca7, type: 2}
|
objectReference: {fileID: 2100000, guid: 9d32cf8bfac003345a3e86211d6fb83c, type: 2}
|
||||||
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: _initialSkinName
|
propertyPath: _initialSkinName
|
||||||
value: Normal
|
value: Normal
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
|
propertyPath: _originalMaterial
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: _skeletonAnimation
|
propertyPath: _skeletonAnimation
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 8381193314241175309}
|
objectReference: {fileID: 8381193314241175309}
|
||||||
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
|
propertyPath: _replacementMaterial
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 2100000, guid: 9d32cf8bfac003345a3e86211d6fb83c, type: 2}
|
||||||
- target: {fileID: 6255916646741457976, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 6255916646741457976, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
propertyPath: m_LocalScale.x
|
||||||
value: 2
|
value: 2
|
||||||
|
@ -114,7 +114,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 3216521486739552858, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 3216521486739552858, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: 'm_Materials.Array.data[0]'
|
propertyPath: 'm_Materials.Array.data[0]'
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 2100000, guid: cd85759cb00b35c4b9d52d8814bf680b, type: 2}
|
objectReference: {fileID: 2100000, guid: d9ca9344cd131c049810707093126ca7, type: 2}
|
||||||
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: customSlotMaterials.Array.size
|
propertyPath: customSlotMaterials.Array.size
|
||||||
value: 1
|
value: 1
|
||||||
@ -139,10 +139,18 @@ PrefabInstance:
|
|||||||
propertyPath: _initialSkinName
|
propertyPath: _initialSkinName
|
||||||
value: Normal
|
value: Normal
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
|
propertyPath: _originalMaterial
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: _skeletonAnimation
|
propertyPath: _skeletonAnimation
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 8381193314241175309}
|
objectReference: {fileID: 8381193314241175309}
|
||||||
|
- target: {fileID: 5517970820860260785, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
|
propertyPath: _replacementMaterial
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 2100000, guid: d9ca9344cd131c049810707093126ca7, type: 2}
|
||||||
- target: {fileID: 6255916646741457976, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
- target: {fileID: 6255916646741457976, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
|
||||||
propertyPath: m_LocalScale.x
|
propertyPath: m_LocalScale.x
|
||||||
value: 5
|
value: 5
|
||||||
@ -341,7 +349,6 @@ MonoBehaviour:
|
|||||||
<MeshRenderer>k__BackingField: {fileID: 8739437251540422414}
|
<MeshRenderer>k__BackingField: {fileID: 8739437251540422414}
|
||||||
<SpineController>k__BackingField: {fileID: 1835238398239900901}
|
<SpineController>k__BackingField: {fileID: 1835238398239900901}
|
||||||
<SandMoleStatus>k__BackingField: {fileID: 4802344397510425122}
|
<SandMoleStatus>k__BackingField: {fileID: 4802344397510425122}
|
||||||
_summonMiniSandMoles: []
|
|
||||||
--- !u!114 &4802344397510425122
|
--- !u!114 &4802344397510425122
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -431,6 +431,22 @@ MonoBehaviour:
|
|||||||
m_CallState: 2
|
m_CallState: 2
|
||||||
m_ActionId: 2f6cc7b3-e806-4b78-b11f-e6ed70bb67ac
|
m_ActionId: 2f6cc7b3-e806-4b78-b11f-e6ed70bb67ac
|
||||||
m_ActionName: 'Combat/ForceKillBoss[/Keyboard/f2]'
|
m_ActionName: 'Combat/ForceKillBoss[/Keyboard/f2]'
|
||||||
|
- m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 522031830802304584}
|
||||||
|
m_TargetAssemblyTypeName: BlueWater.Players.Combat.CombatInput, Assembly-CSharp
|
||||||
|
m_MethodName: OnHealthPointMax
|
||||||
|
m_Mode: 0
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument:
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
|
m_ActionId: 0dbf1015-499a-43fe-b252-11c232b9a1ae
|
||||||
|
m_ActionName: 'Combat/HealthPointMax[/Keyboard/f3]'
|
||||||
m_NeverAutoSwitchControlSchemes: 0
|
m_NeverAutoSwitchControlSchemes: 0
|
||||||
m_DefaultControlScheme:
|
m_DefaultControlScheme:
|
||||||
m_DefaultActionMap: Combat
|
m_DefaultActionMap: Combat
|
||||||
@ -522,6 +538,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_rigidbody: {fileID: 1951754024224882079}
|
_rigidbody: {fileID: 1951754024224882079}
|
||||||
|
_capsuleCollider: {fileID: 195447075763637701}
|
||||||
_animationController: {fileID: 3889238742570113982}
|
_animationController: {fileID: 3889238742570113982}
|
||||||
<MaxHitCount>k__BackingField: 10
|
<MaxHitCount>k__BackingField: 10
|
||||||
<ComboAttacks>k__BackingField:
|
<ComboAttacks>k__BackingField:
|
||||||
|
@ -96,11 +96,10 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_rigidbody: {fileID: 5534983560125118465}
|
_rigidbody: {fileID: 5534983560125118465}
|
||||||
_sphereCollider: {fileID: 8035217722497169373}
|
_sphereCollider: {fileID: 8035217722497169373}
|
||||||
_projectilePrefab: {fileID: 1339409385940702124, guid: 54af6d1c262ce644085eb5fcb3bc84e5, type: 3}
|
_projectilePrefab: {fileID: 1339409385940702124, guid: cb0210513f94b074db3d5cdeda82fef1, type: 3}
|
||||||
_muzzleParticle: {fileID: 8379670427772074999, guid: 82c2f5f04b06a78449817259830635fe, type: 3}
|
_muzzleParticle: {fileID: 8379670427772074999, guid: 82c2f5f04b06a78449817259830635fe, type: 3}
|
||||||
<ImpactParticle>k__BackingField: {fileID: 4957782242376068896, guid: 02c25e70f96b2a34c92ae40dc6e32c35, type: 3}
|
<ImpactParticle>k__BackingField: {fileID: 4957782242376068896, guid: 02c25e70f96b2a34c92ae40dc6e32c35, type: 3}
|
||||||
_colliderRadius: 0.25
|
_colliderRadius: 0.25
|
||||||
_collideOffset: 0
|
|
||||||
_attackDamage: 1
|
_attackDamage: 1
|
||||||
_targetLayer:
|
_targetLayer:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
|
@ -80,7 +80,7 @@ SphereCollider:
|
|||||||
m_ProvidesContacts: 0
|
m_ProvidesContacts: 0
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_Radius: 0.25
|
m_Radius: 0.5
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
--- !u!114 &1370849024704300366
|
--- !u!114 &1370849024704300366
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
@ -96,11 +96,10 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_rigidbody: {fileID: 5534983560125118465}
|
_rigidbody: {fileID: 5534983560125118465}
|
||||||
_sphereCollider: {fileID: 8035217722497169373}
|
_sphereCollider: {fileID: 8035217722497169373}
|
||||||
_projectilePrefab: {fileID: 1339409385940702124, guid: cb0210513f94b074db3d5cdeda82fef1, type: 3}
|
_projectilePrefab: {fileID: 8140003656796606540, guid: 4365e8e583da1f641a0fe88127be80c3, type: 3}
|
||||||
_muzzleParticle: {fileID: 8379670427772074999, guid: 82c2f5f04b06a78449817259830635fe, type: 3}
|
_muzzleParticle: {fileID: 8379670427772074999, guid: 82c2f5f04b06a78449817259830635fe, type: 3}
|
||||||
<ImpactParticle>k__BackingField: {fileID: 4957782242376068896, guid: 02c25e70f96b2a34c92ae40dc6e32c35, type: 3}
|
<ImpactParticle>k__BackingField: {fileID: 4957782242376068896, guid: 02c25e70f96b2a34c92ae40dc6e32c35, type: 3}
|
||||||
_colliderRadius: 0.25
|
_colliderRadius: 0.25
|
||||||
_collideOffset: 0
|
|
||||||
_attackDamage: 1
|
_attackDamage: 1
|
||||||
_targetLayer:
|
_targetLayer:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4365e8e583da1f641a0fe88127be80c3
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user