Closes #150
+ 주인공 스킬(검의 왈츠)가 추가되었습니다. ㄴ 검의 왈츠 애니메이션이 추가되었습니다. ㄴ 스킬에 맞게 UI를 표시합니다. + 주인공이 더 이상 공격 중에 이동할 수 없습니다. + 새로운 스킬 시스템으로 변경하였습니다. + Combat씬에서 사용할 Camera, Ui를 추가하였습니다. + Input Action이 변경 되었습니다. (UseSkill => ActivateMainSkill) + Idamameable 인터페이스에 GetCurrentHp() 기능이 추가되었습니다. ㄴ 변경에 따라 기존 스크립트들에 추가되었습니다.
This commit is contained in:
parent
419259c5f4
commit
27267fbeeb
File diff suppressed because it is too large
Load Diff
@ -145,7 +145,7 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
""initialStateCheck"": false
|
||||
},
|
||||
{
|
||||
""name"": ""UseSkill"",
|
||||
""name"": ""ActivateMainSkill"",
|
||||
""type"": ""Button"",
|
||||
""id"": ""bde6ac11-b3da-4cdd-a8a9-b11db01d47e3"",
|
||||
""expectedControlType"": ""Button"",
|
||||
@ -396,7 +396,7 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
""interactions"": """",
|
||||
""processors"": """",
|
||||
""groups"": ""Keyboard&Mouse"",
|
||||
""action"": ""UseSkill"",
|
||||
""action"": ""ActivateMainSkill"",
|
||||
""isComposite"": false,
|
||||
""isPartOfComposite"": false
|
||||
},
|
||||
@ -619,7 +619,7 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
m_Player_CancelHold = m_Player.FindAction("CancelHold", throwIfNotFound: true);
|
||||
m_Player_Attack = m_Player.FindAction("Attack", throwIfNotFound: true);
|
||||
m_Player_Dash = m_Player.FindAction("Dash", throwIfNotFound: true);
|
||||
m_Player_UseSkill = m_Player.FindAction("UseSkill", throwIfNotFound: true);
|
||||
m_Player_ActivateMainSkill = m_Player.FindAction("ActivateMainSkill", throwIfNotFound: true);
|
||||
m_Player_Mouse0 = m_Player.FindAction("Mouse0", throwIfNotFound: true);
|
||||
m_Player_Mouse1 = m_Player.FindAction("Mouse1", throwIfNotFound: true);
|
||||
m_Player_ShiftKey = m_Player.FindAction("ShiftKey", throwIfNotFound: true);
|
||||
@ -707,7 +707,7 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
private readonly InputAction m_Player_CancelHold;
|
||||
private readonly InputAction m_Player_Attack;
|
||||
private readonly InputAction m_Player_Dash;
|
||||
private readonly InputAction m_Player_UseSkill;
|
||||
private readonly InputAction m_Player_ActivateMainSkill;
|
||||
private readonly InputAction m_Player_Mouse0;
|
||||
private readonly InputAction m_Player_Mouse1;
|
||||
private readonly InputAction m_Player_ShiftKey;
|
||||
@ -729,7 +729,7 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
public InputAction @CancelHold => m_Wrapper.m_Player_CancelHold;
|
||||
public InputAction @Attack => m_Wrapper.m_Player_Attack;
|
||||
public InputAction @Dash => m_Wrapper.m_Player_Dash;
|
||||
public InputAction @UseSkill => m_Wrapper.m_Player_UseSkill;
|
||||
public InputAction @ActivateMainSkill => m_Wrapper.m_Player_ActivateMainSkill;
|
||||
public InputAction @Mouse0 => m_Wrapper.m_Player_Mouse0;
|
||||
public InputAction @Mouse1 => m_Wrapper.m_Player_Mouse1;
|
||||
public InputAction @ShiftKey => m_Wrapper.m_Player_ShiftKey;
|
||||
@ -782,9 +782,9 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
@Dash.started += instance.OnDash;
|
||||
@Dash.performed += instance.OnDash;
|
||||
@Dash.canceled += instance.OnDash;
|
||||
@UseSkill.started += instance.OnUseSkill;
|
||||
@UseSkill.performed += instance.OnUseSkill;
|
||||
@UseSkill.canceled += instance.OnUseSkill;
|
||||
@ActivateMainSkill.started += instance.OnActivateMainSkill;
|
||||
@ActivateMainSkill.performed += instance.OnActivateMainSkill;
|
||||
@ActivateMainSkill.canceled += instance.OnActivateMainSkill;
|
||||
@Mouse0.started += instance.OnMouse0;
|
||||
@Mouse0.performed += instance.OnMouse0;
|
||||
@Mouse0.canceled += instance.OnMouse0;
|
||||
@ -840,9 +840,9 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
@Dash.started -= instance.OnDash;
|
||||
@Dash.performed -= instance.OnDash;
|
||||
@Dash.canceled -= instance.OnDash;
|
||||
@UseSkill.started -= instance.OnUseSkill;
|
||||
@UseSkill.performed -= instance.OnUseSkill;
|
||||
@UseSkill.canceled -= instance.OnUseSkill;
|
||||
@ActivateMainSkill.started -= instance.OnActivateMainSkill;
|
||||
@ActivateMainSkill.performed -= instance.OnActivateMainSkill;
|
||||
@ActivateMainSkill.canceled -= instance.OnActivateMainSkill;
|
||||
@Mouse0.started -= instance.OnMouse0;
|
||||
@Mouse0.performed -= instance.OnMouse0;
|
||||
@Mouse0.canceled -= instance.OnMouse0;
|
||||
@ -1021,7 +1021,7 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
|
||||
void OnCancelHold(InputAction.CallbackContext context);
|
||||
void OnAttack(InputAction.CallbackContext context);
|
||||
void OnDash(InputAction.CallbackContext context);
|
||||
void OnUseSkill(InputAction.CallbackContext context);
|
||||
void OnActivateMainSkill(InputAction.CallbackContext context);
|
||||
void OnMouse0(InputAction.CallbackContext context);
|
||||
void OnMouse1(InputAction.CallbackContext context);
|
||||
void OnShiftKey(InputAction.CallbackContext context);
|
||||
|
@ -123,7 +123,7 @@
|
||||
"initialStateCheck": false
|
||||
},
|
||||
{
|
||||
"name": "UseSkill",
|
||||
"name": "ActivateMainSkill",
|
||||
"type": "Button",
|
||||
"id": "bde6ac11-b3da-4cdd-a8a9-b11db01d47e3",
|
||||
"expectedControlType": "Button",
|
||||
@ -374,7 +374,7 @@
|
||||
"interactions": "",
|
||||
"processors": "",
|
||||
"groups": "Keyboard&Mouse",
|
||||
"action": "UseSkill",
|
||||
"action": "ActivateMainSkill",
|
||||
"isComposite": false,
|
||||
"isPartOfComposite": false
|
||||
},
|
||||
|
@ -10,6 +10,8 @@ namespace BlueWaterProject
|
||||
|
||||
public OceanCamera OceanCamera { get; set; }
|
||||
|
||||
public CombatCamera CombatCamera { get; set; }
|
||||
|
||||
[Title("InShip Change Offset")]
|
||||
private Vector3 targetOffset;
|
||||
private Vector3 startingOffset;
|
||||
|
@ -53,6 +53,8 @@ namespace BlueWaterProject
|
||||
[DisableIf("@true")]
|
||||
public class CurrentState
|
||||
{
|
||||
public bool useMouseAttack = true;
|
||||
public bool isInvincibility;
|
||||
public bool isAttacking;
|
||||
public bool isComboPossible;
|
||||
public bool isComboAttacking;
|
||||
@ -80,11 +82,16 @@ namespace BlueWaterProject
|
||||
[field: SerializeField] public CharacterOption MyCharacterOption { get; private set; }
|
||||
[field: SerializeField] public CurrentState MyCurrentState { get; set; }
|
||||
[field: SerializeField] public CurrentValue MyCurrentValue { get; set; }
|
||||
|
||||
public string mainSkillName;
|
||||
public GameObject MainSkillObject { get; private set; }
|
||||
private ISkill mainSkill;
|
||||
|
||||
public static readonly int IsMovingHash = Animator.StringToHash("isMoving");
|
||||
public static readonly int XDirectionHash = Animator.StringToHash("xDirection");
|
||||
public static readonly int ZDirectionHash = Animator.StringToHash("zDirection");
|
||||
public static readonly int IsAttackingHash = Animator.StringToHash("isAttacking");
|
||||
public static readonly int IsActivateMainSkillHash = Animator.StringToHash("isActivateMainSkill");
|
||||
|
||||
#endregion
|
||||
|
||||
@ -106,6 +113,7 @@ namespace BlueWaterProject
|
||||
private void Start()
|
||||
{
|
||||
InitComponents();
|
||||
InitSkills();
|
||||
InitStartValue();
|
||||
}
|
||||
|
||||
@ -132,6 +140,22 @@ namespace BlueWaterProject
|
||||
MyComponents.movement.SetAnimator(MyComponents.animator);
|
||||
}
|
||||
|
||||
private void InitSkills()
|
||||
{
|
||||
MainSkillObject = SkillManager.Inst.InstantiateSkill(mainSkillName).gameObject;
|
||||
mainSkill = MainSkillObject.GetComponent<ISkill>();
|
||||
if (mainSkill != null)
|
||||
{
|
||||
var myCollider = MyComponents.movement.MyComponents.capsuleCollider;
|
||||
var myRb = MyComponents.movement.MyComponents.rb;
|
||||
var myVisualLook = MyComponents.visualLook;
|
||||
var ui = UiManager.Inst.CombatUi.MainSkillUi;
|
||||
ui.gameObject.SetActive(true);
|
||||
|
||||
mainSkill.SkillInputData.InitInputData(myCollider, myRb, myVisualLook, MyCharacterOption.targetLayer, ui);
|
||||
}
|
||||
}
|
||||
|
||||
private void InitStartValue()
|
||||
{
|
||||
MyCurrentValue.hitColliders = new Collider[MyCharacterOption.maxHitNum];
|
||||
@ -149,16 +173,16 @@ namespace BlueWaterProject
|
||||
{
|
||||
if (MyCurrentState.isAttacking && !MyCurrentState.isComboPossible) return;
|
||||
|
||||
// var control = context.control;
|
||||
//
|
||||
// if (control.name.Equals("leftButton"))
|
||||
// {
|
||||
// UseMouseAttack = true;
|
||||
// }
|
||||
// else if (control.name.Equals("k"))
|
||||
// {
|
||||
// UseMouseAttack = false;
|
||||
// }
|
||||
var control = context.control;
|
||||
|
||||
if (control.name.Equals("leftButton"))
|
||||
{
|
||||
MyCurrentState.useMouseAttack = true;
|
||||
}
|
||||
else if (control.name.Equals("k"))
|
||||
{
|
||||
MyCurrentState.useMouseAttack = false;
|
||||
}
|
||||
|
||||
if (MyCurrentState.isComboPossible)
|
||||
{
|
||||
@ -167,6 +191,19 @@ namespace BlueWaterProject
|
||||
}
|
||||
MyComponents.animator.SetBool(IsAttackingHash, true);
|
||||
}
|
||||
|
||||
private void OnActivateMainSkill()
|
||||
{
|
||||
if (MyCurrentState.isAttacking || GetIsDashing()) return;
|
||||
|
||||
mainSkill.SkillInputData.UpdateInputData(GetCurrentPosition());
|
||||
if (mainSkill.EnableSkill())
|
||||
{
|
||||
SetEnableMoving(false);
|
||||
MyComponents.animator.SetBool(IsActivateMainSkillHash, true);
|
||||
mainSkill.ActivateSkill();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -178,15 +215,15 @@ namespace BlueWaterProject
|
||||
// IDamageable
|
||||
public void TakeDamage(float attackerPower, Vector3? attackPos = null)
|
||||
{
|
||||
if (MyComponents.movement.GetIsDashing()) return;
|
||||
if (MyCurrentState.isInvincibility) return;
|
||||
|
||||
var changeHp = Mathf.Max(MyCurrentValue.currentHp - attackerPower, 0);
|
||||
SetCurrentHp(changeHp);
|
||||
|
||||
if (InIslandCamera.Inst.InIslandCam)
|
||||
{
|
||||
VisualFeedbackManager.Inst.CameraShake(InIslandCamera.Inst.InIslandCam);
|
||||
}
|
||||
// if (InIslandCamera.Inst.InIslandCam)
|
||||
// {
|
||||
// VisualFeedbackManager.Inst.CameraShake(InIslandCamera.Inst.InIslandCam);
|
||||
// }
|
||||
|
||||
// 죽었는지 체크
|
||||
if (changeHp == 0f)
|
||||
@ -200,6 +237,8 @@ namespace BlueWaterProject
|
||||
{
|
||||
print("Combat Player Die");
|
||||
}
|
||||
|
||||
public float GetCurrentHp() => MyCurrentValue.currentHp;
|
||||
|
||||
#endregion
|
||||
|
||||
@ -282,8 +321,12 @@ namespace BlueWaterProject
|
||||
|
||||
[Button("현재 체력 변경")]
|
||||
private void SetCurrentHp(float value) => MyCurrentValue.currentHp = value;
|
||||
public void SetEnableMoving(bool value) => MyComponents.movement.SetEnableMoving(value);
|
||||
public void Move(Vector3 velocity) => MyComponents.movement.Move(velocity);
|
||||
public void MoveToCurrentDirection(float speed) => MyComponents.movement.MoveToCurrentDirection(speed);
|
||||
public bool GetIsAttacking() => MyCurrentState.isAttacking;
|
||||
public bool GetIsComboAttacking() => MyCurrentState.isComboAttacking;
|
||||
public bool GetIsDashing() => MyComponents.movement.GetIsDashing();
|
||||
public float GetDashCooldown() => MyComponents.movement.GetDashCooldown();
|
||||
public float GetDashTime() => MyComponents.movement.GetDashTime();
|
||||
public float GetAttackTime() => MyCharacterOption.attackTime;
|
||||
@ -292,6 +335,19 @@ namespace BlueWaterProject
|
||||
public void SetIsComboPossible(bool value) => MyCurrentState.isComboPossible = value;
|
||||
public void SetIsDashing(bool value) => MyComponents.movement.SetIsDashing(value);
|
||||
public void SetEnableDashing(bool value) => MyComponents.movement.SetEnableDashing(value);
|
||||
public Vector3 GetCurrentPosition() => MyComponents.movement.GetCurrentPosition();
|
||||
public void SetIsInvincibility(bool value) => MyCurrentState.isInvincibility = value;
|
||||
public void SetIsTrigger(bool value) => MyComponents.movement.SetIsTrigger(value);
|
||||
public void SetUseGravity(bool value) => MyComponents.movement.SetUseGravity(value);
|
||||
public void SetPreviousMoveDirection(Vector3 value)
|
||||
{
|
||||
MyComponents.movement.SetPreviousMoveDirection(value);
|
||||
if (value != Vector3.zero)
|
||||
{
|
||||
MyComponents.animator.SetFloat(XDirectionHash, value.x);
|
||||
MyComponents.animator.SetFloat(ZDirectionHash, value.z);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ using System;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
@ -63,6 +62,7 @@ namespace BlueWaterProject
|
||||
[DisableIf("@true")]
|
||||
public class CurrentState
|
||||
{
|
||||
public bool enableMoving = true;
|
||||
public bool isMoving;
|
||||
public bool isGrounded;
|
||||
public bool isOnSlope;
|
||||
@ -138,6 +138,8 @@ namespace BlueWaterProject
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (!MyCurrentState.enableMoving) return;
|
||||
|
||||
InputMove();
|
||||
CheckGround();
|
||||
CheckForward();
|
||||
@ -366,6 +368,18 @@ namespace BlueWaterProject
|
||||
MyComponents.rb.MovePosition(finalVelocity);
|
||||
}
|
||||
|
||||
public void Move(Vector3 velocity)
|
||||
{
|
||||
MyComponents.rb.position = velocity;
|
||||
}
|
||||
|
||||
public void MoveToCurrentDirection(float speed)
|
||||
{
|
||||
var finalVelocity = MyComponents.rb.position + MyCurrentValue.previousMoveDirection * speed * Time.fixedDeltaTime;
|
||||
MyComponents.rb.MovePosition(finalVelocity);
|
||||
}
|
||||
|
||||
public void SetEnableMoving(bool value) => MyCurrentState.enableMoving = value;
|
||||
public bool GetIsMoving() => MyCurrentState.isMoving;
|
||||
public bool GetIsDashing() => MyCurrentState.isDashing;
|
||||
public float GetDashCooldown() => MyMovementOption.dashCooldown;
|
||||
@ -373,7 +387,11 @@ namespace BlueWaterProject
|
||||
public void SetIsDashing(bool value) => MyCurrentState.isDashing = value;
|
||||
public void SetEnableDashing(bool value) => MyCurrentState.enableDash = value;
|
||||
public Vector3 GetPreviousMoveDirection() => MyCurrentValue.previousMoveDirection;
|
||||
public void SetPreviousMoveDirection(Vector3 value) => MyCurrentValue.previousMoveDirection = value;
|
||||
public void SetAnimator(Animator animator) => MyComponents.animator = animator;
|
||||
public Vector3 GetCurrentPosition() => MyComponents.rb.position;
|
||||
public void SetIsTrigger(bool value) => MyComponents.capsuleCollider.isTrigger = value;
|
||||
public void SetUseGravity(bool value) => MyComponents.rb.useGravity = value;
|
||||
|
||||
#endregion
|
||||
|
||||
@ -469,14 +487,21 @@ namespace BlueWaterProject
|
||||
var yPos = 10f;
|
||||
GUI.Label(new Rect(sWidth - 350f, yPos, 150f, 30f), $"Speed : {MyMovementOption.moveSpeed: 00.00}",
|
||||
RTLabelStyle);
|
||||
MyMovementOption.moveSpeed = GUI.HorizontalSlider(new Rect(sWidth - 200f, yPos + 10f, 180f, 20f),
|
||||
MyMovementOption.moveSpeed = GUI.HorizontalSlider(new Rect(sWidth - 180f, yPos + 10f, 160f, 20f),
|
||||
MyMovementOption.moveSpeed, 1f, 10f);
|
||||
|
||||
yPos += 20f;
|
||||
GUI.Label(new Rect(sWidth - 350f, yPos, 150f, 30f), $"Max Slope : {MyMovementOption.maxSlopeAngle: 00}",
|
||||
RTLabelStyle);
|
||||
MyMovementOption.maxSlopeAngle = (int)GUI.HorizontalSlider(
|
||||
new Rect(sWidth - 200f, yPos + 10f, 180f, 20f), MyMovementOption.maxSlopeAngle, 1f, 75f);
|
||||
new Rect(sWidth - 180f, yPos + 10f, 160f, 20f), MyMovementOption.maxSlopeAngle, 1f, 75f);
|
||||
|
||||
yPos += 20f;
|
||||
GUI.Label(new Rect(sWidth - 350f, yPos, 180f, 30f), $"TimeScale : {Time.timeScale: 0.00}",
|
||||
RTLabelStyle);
|
||||
Time.timeScale = GUI.HorizontalSlider(
|
||||
new Rect(sWidth - 180f, yPos + 10f, 160f, 20f), Time.timeScale, 0f, 1f);
|
||||
Time.fixedDeltaTime = 0.02f * Time.timeScale;
|
||||
|
||||
labelStyle.fontSize = Math.Max(guiTextSize, 20);
|
||||
}
|
||||
|
@ -0,0 +1,65 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class ComboAttackBehavior : StateMachineBehaviour
|
||||
{
|
||||
private CombatPlayerController combatPlayerController;
|
||||
|
||||
[SerializeField] private LayerMask groundLayer;
|
||||
|
||||
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
if (combatPlayerController == null)
|
||||
{
|
||||
combatPlayerController = animator.GetComponentInParent<CombatPlayerController>();
|
||||
}
|
||||
var animationLength = stateInfo.length;
|
||||
animator.speed = animationLength / combatPlayerController.GetAttackTime();
|
||||
|
||||
combatPlayerController.SetEnableMoving(false);
|
||||
combatPlayerController.SetIsAttacking(true);
|
||||
combatPlayerController.SetIsComboPossible(true);
|
||||
|
||||
if (combatPlayerController.MyCurrentState.useMouseAttack)
|
||||
{
|
||||
var mousePos = Mouse.current.position.ReadValue();
|
||||
var ray = CameraManager.Inst.MainCam.ScreenPointToRay(mousePos);
|
||||
|
||||
if (!Physics.Raycast(ray, out var hit, float.MaxValue, groundLayer)) return;
|
||||
|
||||
var attackDirection = (hit.point - combatPlayerController.GetCurrentPosition()).normalized;
|
||||
attackDirection.y = 0f;
|
||||
combatPlayerController.SetPreviousMoveDirection(attackDirection);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
if (stateInfo.normalizedTime < 0.2f)
|
||||
{
|
||||
combatPlayerController.MoveToCurrentDirection(1f);
|
||||
}
|
||||
else if (combatPlayerController.GetIsComboAttacking() && stateInfo.normalizedTime is > 0.4f and < 0.45f)
|
||||
{
|
||||
combatPlayerController.MoveToCurrentDirection(10f);
|
||||
}
|
||||
|
||||
if (stateInfo.normalizedTime >= 1f)
|
||||
{
|
||||
animator.SetBool(CombatPlayerController.IsAttackingHash, false);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
animator.speed = 1f;
|
||||
combatPlayerController.SetIsComboPossible(false);
|
||||
combatPlayerController.SetIsComboAttacking(false);
|
||||
combatPlayerController.SetIsAttacking(false);
|
||||
combatPlayerController.SetEnableMoving(true);
|
||||
}
|
||||
}
|
||||
}
|
@ -3,7 +3,7 @@ using UnityEngine;
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class Dash : StateMachineBehaviour
|
||||
public class DashBehavior : StateMachineBehaviour
|
||||
{
|
||||
private CombatPlayerController combatPlayerController;
|
||||
|
||||
@ -16,6 +16,7 @@ namespace BlueWaterProject
|
||||
var animationLength = stateInfo.length;
|
||||
animator.speed = animationLength / combatPlayerController.GetDashTime();
|
||||
|
||||
combatPlayerController.SetIsInvincibility(true);
|
||||
combatPlayerController.SetIsDashing(true);
|
||||
combatPlayerController.SetEnableDashing(false);
|
||||
}
|
||||
@ -32,7 +33,7 @@ namespace BlueWaterProject
|
||||
{
|
||||
animator.speed = 1f;
|
||||
combatPlayerController.SetIsDashing(false);
|
||||
animator.SetBool(PhysicsMovement.IsDashingHash, false);
|
||||
combatPlayerController.SetIsInvincibility(false);
|
||||
|
||||
combatPlayerController.CoolDown(combatPlayerController.GetDashCooldown(), () => combatPlayerController.SetEnableDashing(true));
|
||||
}
|
@ -1,11 +1,13 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class ComboAttack : StateMachineBehaviour
|
||||
public class ReadyToTheWaltzOfTheSwordBehavior : StateMachineBehaviour
|
||||
{
|
||||
private CombatPlayerController combatPlayerController;
|
||||
private TheWaltzOfTheSword theWaltzOfTheSword;
|
||||
|
||||
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
@ -13,28 +15,24 @@ namespace BlueWaterProject
|
||||
{
|
||||
combatPlayerController = animator.GetComponentInParent<CombatPlayerController>();
|
||||
}
|
||||
var animationLength = stateInfo.length;
|
||||
animator.speed = animationLength / combatPlayerController.GetAttackTime();
|
||||
|
||||
if (theWaltzOfTheSword == null)
|
||||
{
|
||||
theWaltzOfTheSword = combatPlayerController.MainSkillObject.GetComponent<TheWaltzOfTheSword>();
|
||||
}
|
||||
|
||||
combatPlayerController.SetIsAttacking(true);
|
||||
combatPlayerController.SetIsComboPossible(true);
|
||||
var animationLength = stateInfo.length;
|
||||
animator.speed = animationLength / theWaltzOfTheSword.castingTime;
|
||||
}
|
||||
|
||||
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
if (stateInfo.normalizedTime >= 1f)
|
||||
{
|
||||
animator.SetBool(CombatPlayerController.IsAttackingHash, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
animator.speed = 1f;
|
||||
combatPlayerController.SetIsComboPossible(false);
|
||||
combatPlayerController.SetIsComboAttacking(false);
|
||||
combatPlayerController.SetIsAttacking(false);
|
||||
animator.SetBool(CombatPlayerController.IsAttackingHash, false);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 905d1054b17eb674bb34e1798f47c650
|
@ -0,0 +1,164 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class TheWaltzOfTheSwordBehavior : StateMachineBehaviour
|
||||
{
|
||||
private enum Direction
|
||||
{
|
||||
NONE = -1,
|
||||
LEFT,
|
||||
BACK,
|
||||
RIGHT
|
||||
}
|
||||
|
||||
private CombatPlayerController combatPlayerController;
|
||||
private TheWaltzOfTheSword theWaltzOfTheSword;
|
||||
|
||||
private int currentHitNum;
|
||||
private int hitCount;
|
||||
private float time;
|
||||
private float intervalTime;
|
||||
private Direction currentDirection;
|
||||
private bool previousLeft;
|
||||
private bool isMoved;
|
||||
|
||||
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
if (combatPlayerController == null)
|
||||
{
|
||||
combatPlayerController = animator.GetComponentInParent<CombatPlayerController>();
|
||||
}
|
||||
|
||||
if (theWaltzOfTheSword == null)
|
||||
{
|
||||
theWaltzOfTheSword = combatPlayerController.MainSkillObject.GetComponent<TheWaltzOfTheSword>();
|
||||
}
|
||||
|
||||
var animationLength = stateInfo.length;
|
||||
animator.speed = animationLength / theWaltzOfTheSword.skillDuration;
|
||||
intervalTime = stateInfo.length / 6f;
|
||||
|
||||
combatPlayerController.SetUseGravity(false);
|
||||
combatPlayerController.SetIsTrigger(true);
|
||||
combatPlayerController.SetIsInvincibility(true);
|
||||
currentDirection = Direction.BACK;
|
||||
previousLeft = false;
|
||||
isMoved = false;
|
||||
currentHitNum = 0;
|
||||
hitCount = 0;
|
||||
time = 0f;
|
||||
}
|
||||
|
||||
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
time += Time.deltaTime;
|
||||
|
||||
if (hitCount < 6)
|
||||
{
|
||||
if (!isMoved)
|
||||
{
|
||||
MovePoint(theWaltzOfTheSword.HitColliders[currentHitNum], currentDirection);
|
||||
}
|
||||
|
||||
else if (time >= intervalTime)
|
||||
{
|
||||
ExecuteAttackRoutine(animator);
|
||||
}
|
||||
}
|
||||
|
||||
// 모든 공격 시퀀스가 완료된 경우
|
||||
if (hitCount >= 6)
|
||||
{
|
||||
animator.SetBool(CombatPlayerController.IsActivateMainSkillHash, false);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||
{
|
||||
animator.speed = 1f;
|
||||
|
||||
if (theWaltzOfTheSword.returnToStartPosition)
|
||||
{
|
||||
combatPlayerController.Move(theWaltzOfTheSword.SkillInputData.startPosition);
|
||||
}
|
||||
|
||||
combatPlayerController.SetIsTrigger(false);
|
||||
combatPlayerController.SetUseGravity(true);
|
||||
combatPlayerController.SetIsInvincibility(false);
|
||||
combatPlayerController.SetEnableMoving(true);
|
||||
}
|
||||
|
||||
private void ExecuteAttackRoutine(Animator animator)
|
||||
{
|
||||
theWaltzOfTheSword.SkillAttackTiming(theWaltzOfTheSword.HitColliders[currentHitNum]);
|
||||
hitCount++;
|
||||
AddCurrentNum();
|
||||
|
||||
for (var i = 0; i < theWaltzOfTheSword.HitSize; i++)
|
||||
{
|
||||
if (!theWaltzOfTheSword.IsTargetAlive(theWaltzOfTheSword.HitColliders[currentHitNum]))
|
||||
{
|
||||
AddCurrentNum();
|
||||
continue;
|
||||
}
|
||||
|
||||
isMoved = false;
|
||||
time = 0f;
|
||||
return;
|
||||
}
|
||||
|
||||
animator.SetBool(CombatPlayerController.IsActivateMainSkillHash, false);
|
||||
}
|
||||
|
||||
private void AddCurrentNum()
|
||||
{
|
||||
currentHitNum = (currentHitNum + 1) % theWaltzOfTheSword.HitSize;
|
||||
}
|
||||
|
||||
private void MovePoint(Collider hitCollider, Direction direction)
|
||||
{
|
||||
var center = hitCollider.bounds.center;
|
||||
var addX = 0f;
|
||||
var addZ = 0f;
|
||||
switch(direction)
|
||||
{
|
||||
case Direction.NONE:
|
||||
break;
|
||||
case Direction.LEFT:
|
||||
combatPlayerController.SetPreviousMoveDirection(Vector3.right);
|
||||
addX = -hitCollider.bounds.extents.x;
|
||||
currentDirection = Direction.BACK;
|
||||
break;
|
||||
case Direction.BACK:
|
||||
addZ = hitCollider.bounds.extents.z;
|
||||
if (previousLeft)
|
||||
{
|
||||
currentDirection = Direction.RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentDirection = Direction.LEFT;
|
||||
}
|
||||
|
||||
previousLeft = !previousLeft;
|
||||
break;
|
||||
case Direction.RIGHT:
|
||||
combatPlayerController.SetPreviousMoveDirection(Vector3.left);
|
||||
addX = hitCollider.bounds.extents.x;
|
||||
currentDirection = Direction.BACK;
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(direction), direction, null);
|
||||
}
|
||||
|
||||
var newPosition = new Vector3(center.x + addX, combatPlayerController.transform.position.y, center.z + addZ);
|
||||
combatPlayerController.Move(newPosition);
|
||||
|
||||
isMoved = true;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc7f327f78a10164b8a90f10b8eefc5f
|
@ -405,6 +405,8 @@ namespace BlueWaterProject
|
||||
Destroy(gameObject, 2f);
|
||||
}
|
||||
|
||||
public float GetCurrentHp() => CurrentHp;
|
||||
|
||||
// IAnimatorBridge
|
||||
public virtual void AttackTiming()
|
||||
{
|
||||
|
@ -321,6 +321,8 @@ namespace BlueWaterProject
|
||||
Destroy(hpSlider.gameObject, 2f);
|
||||
Destroy(gameObject, 2f);
|
||||
}
|
||||
|
||||
public float GetCurrentHp() => CurrentHp;
|
||||
|
||||
// IAiView
|
||||
[field: Title("IAiView")]
|
||||
|
@ -112,6 +112,8 @@ namespace BlueWaterProject
|
||||
{
|
||||
Destroy(gameObject, 2f);
|
||||
}
|
||||
|
||||
public float GetCurrentHp() => CurrentHp;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -29,6 +29,11 @@ namespace BlueWaterProject
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public virtual float GetCurrentHp()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public virtual void OnMove(InputValue value) // WASD
|
||||
{
|
||||
movementInput = value.Get<Vector2>();
|
||||
|
@ -223,8 +223,8 @@ namespace BlueWaterProject
|
||||
base.OnEnable();
|
||||
|
||||
playerInput.actions.FindAction("Attack").performed += OnAttackEvent;
|
||||
playerInput.actions.FindAction("UseSkill").performed += OnUseSkillEvent;
|
||||
playerInput.actions.FindAction("UseSkill").canceled += OnCancelSkillEvent;
|
||||
playerInput.actions.FindAction("ActivateMainSkill").performed += OnUseSkillEvent;
|
||||
playerInput.actions.FindAction("ActivateMainSkill").canceled += OnCancelSkillEvent;
|
||||
}
|
||||
|
||||
protected override void OnDisable()
|
||||
@ -232,8 +232,8 @@ namespace BlueWaterProject
|
||||
base.OnDisable();
|
||||
|
||||
playerInput.actions.FindAction("Attack").performed -= OnAttackEvent;
|
||||
playerInput.actions.FindAction("UseSkill").performed -= OnUseSkillEvent;
|
||||
playerInput.actions.FindAction("UseSkill").canceled -= OnCancelSkillEvent;
|
||||
playerInput.actions.FindAction("ActivateMainSkill").performed -= OnUseSkillEvent;
|
||||
playerInput.actions.FindAction("ActivateMainSkill").canceled -= OnCancelSkillEvent;
|
||||
}
|
||||
|
||||
protected override void Update()
|
||||
@ -266,10 +266,10 @@ namespace BlueWaterProject
|
||||
var changeHp = Mathf.Max(CurrentHp - attackerPower, 0);
|
||||
SetCurrentHp(changeHp);
|
||||
|
||||
if (InIslandCamera.Inst.InIslandCam)
|
||||
{
|
||||
VisualFeedbackManager.Inst.CameraShake(InIslandCamera.Inst.InIslandCam);
|
||||
}
|
||||
// if (InIslandCamera.Inst.InIslandCam)
|
||||
// {
|
||||
// VisualFeedbackManager.Inst.CameraShake(InIslandCamera.Inst.InIslandCam);
|
||||
// }
|
||||
|
||||
// 죽었는지 체크
|
||||
if (changeHp == 0f)
|
||||
|
@ -2,7 +2,6 @@ using System.Collections;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using Vignette = UnityEngine.Rendering.Universal.Vignette;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
@ -441,6 +440,8 @@ namespace BlueWaterProject
|
||||
{
|
||||
print("배 파괴 - 현재 체력 : " + CurrentHp);
|
||||
}
|
||||
|
||||
public float GetCurrentHp() => CurrentHp;
|
||||
|
||||
#endregion
|
||||
|
||||
|
65
BlueWater/Assets/02.Scripts/CombatCamera.cs
Normal file
65
BlueWater/Assets/02.Scripts/CombatCamera.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using System.Collections.Generic;
|
||||
using Cinemachine;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class CombatCamera : MonoBehaviour
|
||||
{
|
||||
[Title("초기화 방식")]
|
||||
[SerializeField] private bool autoInit = true;
|
||||
|
||||
[field: Title("카메라")]
|
||||
[field: SerializeField] public CinemachineVirtualCamera BaseCombatCamera { get; private set; }
|
||||
|
||||
private GameObject cinemachineCameras;
|
||||
private List<CinemachineVirtualCamera> cineCamList;
|
||||
|
||||
private const int CINE_CAM_NUM = 1;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (autoInit)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
CameraManager.Inst.CombatCamera = this;
|
||||
CameraManager.Inst.MainCam = Camera.main;
|
||||
}
|
||||
|
||||
[Button("셋팅 초기화")]
|
||||
private void Init()
|
||||
{
|
||||
cinemachineCameras = GameObject.Find("CinemachineCameras");
|
||||
if (!cinemachineCameras)
|
||||
{
|
||||
Debug.LogError("cineCams is null error");
|
||||
return;
|
||||
}
|
||||
|
||||
BaseCombatCamera = cinemachineCameras.transform.Find("BaseCombatCamera")?.GetComponent<CinemachineVirtualCamera>();
|
||||
if (!BaseCombatCamera)
|
||||
{
|
||||
Debug.LogError("BaseShipCam is null error");
|
||||
return;
|
||||
}
|
||||
|
||||
cineCamList = new List<CinemachineVirtualCamera>(CINE_CAM_NUM)
|
||||
{
|
||||
BaseCombatCamera
|
||||
};
|
||||
|
||||
foreach (var cam in cineCamList)
|
||||
{
|
||||
cam.Priority = 0;
|
||||
}
|
||||
|
||||
BaseCombatCamera.Priority = 1;
|
||||
|
||||
CameraManager.Inst.MainCam = Camera.main;
|
||||
}
|
||||
}
|
||||
}
|
46
BlueWater/Assets/02.Scripts/CombatUi.cs
Normal file
46
BlueWater/Assets/02.Scripts/CombatUi.cs
Normal file
@ -0,0 +1,46 @@
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class CombatUi : MonoBehaviour
|
||||
{
|
||||
[Title("초기화 방식")]
|
||||
[SerializeField] private bool autoInit = true;
|
||||
|
||||
[field: Title("UI")]
|
||||
[field: SerializeField] public Canvas MainCanvas { get; private set; }
|
||||
[field: SerializeField] public SkillUi MainSkillUi { get; private set; }
|
||||
|
||||
|
||||
[Button("셋팅 초기화")]
|
||||
private void Init()
|
||||
{
|
||||
MainCanvas = GetComponent<Canvas>();
|
||||
if (!MainCanvas)
|
||||
{
|
||||
Debug.LogError("canvas is null error");
|
||||
return;
|
||||
}
|
||||
|
||||
MainSkillUi = MainCanvas.transform.Find("MainSkillUi").GetComponent<SkillUi>();
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (autoInit)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
UiManager.Inst.CombatUi = this;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
11
BlueWater/Assets/02.Scripts/CombatUi.cs.meta
Normal file
11
BlueWater/Assets/02.Scripts/CombatUi.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46e87f89bdfbf204490afa0109f8a7fa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -75,25 +75,25 @@ namespace BlueWaterProject
|
||||
|
||||
public void SetCurrentInIslandPlayer(IInIslandPlayer inIslandPlayer)
|
||||
{
|
||||
PlayerInput currentPlayerInput;
|
||||
|
||||
if (CurrentInIslandPlayer != null)
|
||||
{
|
||||
currentPlayerInput = CurrentInIslandPlayer.Transform.GetComponent<PlayerInput>();
|
||||
if (currentPlayerInput != null)
|
||||
{
|
||||
currentPlayerInput.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
CurrentInIslandPlayer = inIslandPlayer;
|
||||
InIslandCamera.Inst.SetTarget(inIslandPlayer.Transform);
|
||||
|
||||
currentPlayerInput = CurrentInIslandPlayer.Transform.GetComponent<PlayerInput>();
|
||||
if (currentPlayerInput != null)
|
||||
{
|
||||
currentPlayerInput.enabled = true;
|
||||
}
|
||||
// PlayerInput currentPlayerInput;
|
||||
//
|
||||
// if (CurrentInIslandPlayer != null)
|
||||
// {
|
||||
// currentPlayerInput = CurrentInIslandPlayer.Transform.GetComponent<PlayerInput>();
|
||||
// if (currentPlayerInput != null)
|
||||
// {
|
||||
// currentPlayerInput.enabled = false;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// CurrentInIslandPlayer = inIslandPlayer;
|
||||
// InIslandCamera.Inst.SetTarget(inIslandPlayer.Transform);
|
||||
//
|
||||
// currentPlayerInput = CurrentInIslandPlayer.Transform.GetComponent<PlayerInput>();
|
||||
// if (currentPlayerInput != null)
|
||||
// {
|
||||
// currentPlayerInput.enabled = true;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
using Cinemachine;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class InIslandCamera : Singleton<InIslandCamera>
|
||||
{
|
||||
[field: Required("InIslandCamera를 넣어주세요.")]
|
||||
[field: SerializeField] public CinemachineVirtualCamera InIslandCam { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// LookAt target and follow target
|
||||
/// </summary>
|
||||
/// <param name="obj"></param>
|
||||
public void SetTarget(Transform obj)
|
||||
{
|
||||
InIslandCam.LookAt = obj;
|
||||
InIslandCam.Follow = obj;
|
||||
}
|
||||
}
|
||||
}
|
@ -5,7 +5,8 @@ namespace BlueWaterProject
|
||||
{
|
||||
public interface IDamageable
|
||||
{
|
||||
public void TakeDamage(float attackerPower, Vector3? attackPos = null);
|
||||
public void Die();
|
||||
void TakeDamage(float attackerPower, Vector3? attackPos = null);
|
||||
void Die();
|
||||
float GetCurrentHp();
|
||||
}
|
||||
}
|
10
BlueWater/Assets/02.Scripts/Interface/ISkill.cs
Normal file
10
BlueWater/Assets/02.Scripts/Interface/ISkill.cs
Normal file
@ -0,0 +1,10 @@
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public interface ISkill
|
||||
{
|
||||
SkillInputData SkillInputData { get; set; }
|
||||
void ActivateSkill();
|
||||
bool EnableSkill();
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public interface ISkillUser
|
||||
{
|
||||
void UseSkill(SkillBase skill, SkillInputData inputData);
|
||||
}
|
||||
}
|
@ -1,15 +1,73 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public abstract class SkillBase : MonoBehaviour
|
||||
[Serializable]
|
||||
public class SkillInputData
|
||||
{
|
||||
[field: SerializeField] public float Cooldown { get; set; }
|
||||
[field: SerializeField] public float Range { get; set; }
|
||||
[Title("초기화 데이터")]
|
||||
public Collider playerCollider;
|
||||
public Rigidbody playerRb;
|
||||
public Transform playerVisualLook;
|
||||
public LayerMask targetLayer;
|
||||
public SkillUi skillUi;
|
||||
|
||||
public abstract void Activate(SkillInputData inputData);
|
||||
[Title("실시간 데이터")]
|
||||
public Vector3 startPosition;
|
||||
|
||||
protected abstract void ApplyEffect(GameObject target);
|
||||
public void InitInputData(Collider collider, Rigidbody rb, Transform visualLook, LayerMask target, SkillUi ui)
|
||||
{
|
||||
playerCollider = collider;
|
||||
playerRb = rb;
|
||||
playerVisualLook = visualLook;
|
||||
targetLayer = target;
|
||||
skillUi = ui;
|
||||
}
|
||||
|
||||
public void UpdateInputData(Vector3 start)
|
||||
{
|
||||
startPosition = start;
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class SkillBase : MonoBehaviour, ISkill
|
||||
{
|
||||
[Title("기본 설정")]
|
||||
public string skillName;
|
||||
public bool enableSkill = true;
|
||||
public float damage;
|
||||
public float cooldown;
|
||||
public float range;
|
||||
public float castingTime;
|
||||
public float skillDuration;
|
||||
|
||||
[field: DisableIf("@true")]
|
||||
[field: SerializeField] public SkillInputData SkillInputData { get; set; }
|
||||
|
||||
public abstract void ActivateSkill();
|
||||
|
||||
public virtual bool EnableSkill() => enableSkill;
|
||||
|
||||
public void CoolDown(float waitTime, Action onCooldownComplete = null)
|
||||
{
|
||||
StartCoroutine(CoolDownCoroutine(waitTime, onCooldownComplete));
|
||||
}
|
||||
|
||||
private IEnumerator CoolDownCoroutine(float waitTime, Action onCooldownComplete = null)
|
||||
{
|
||||
var time = 0f;
|
||||
|
||||
while (time <= waitTime)
|
||||
{
|
||||
time += Time.deltaTime;
|
||||
yield return null;
|
||||
}
|
||||
|
||||
onCooldownComplete?.Invoke();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
[Serializable]
|
||||
public class SkillInputData
|
||||
{
|
||||
[field: SerializeField] public Vector3 TargetPosition { get; set; }
|
||||
[field: SerializeField] public GameObject TargetObject { get; set; }
|
||||
}
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 69b5f511a1d916c44b583e01a50d7b69
|
@ -1,23 +1,52 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class SkillManager : Singleton<SkillManager>
|
||||
{
|
||||
private List<SkillBase> skillList = new();
|
||||
[SerializeField] private List<GameObject> skillPrefab = new();
|
||||
private List<SkillBase> skillList;
|
||||
|
||||
public void RegisterSkill(SkillBase skill)
|
||||
protected override void OnAwake()
|
||||
{
|
||||
skillList.Add(skill);
|
||||
}
|
||||
|
||||
public void ActivateSkill(ISkillUser user, int skillIndex, SkillInputData inputData)
|
||||
{
|
||||
if (skillIndex >= 0 && skillIndex < skillList.Count)
|
||||
var skillNum = skillPrefab.Count;
|
||||
skillList = new List<SkillBase>(skillNum);
|
||||
|
||||
for (var i = 0; i < skillNum; i++)
|
||||
{
|
||||
user.UseSkill(skillList[skillIndex], inputData);
|
||||
var skill = skillPrefab[i].GetComponent<SkillBase>();
|
||||
AddSkill(skill);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddSkill(SkillBase skill)
|
||||
{
|
||||
if (!skillList.Contains(skill))
|
||||
{
|
||||
skillList.Add(skill);
|
||||
}
|
||||
}
|
||||
|
||||
public SkillBase FindSkill(string skillName)
|
||||
{
|
||||
return skillList.Find(s => s.skillName == skillName);
|
||||
}
|
||||
|
||||
public SkillBase InstantiateSkill(string skillName)
|
||||
{
|
||||
var skill = FindSkill(skillName);
|
||||
|
||||
return skill ? Instantiate(skill.gameObject, Vector3.zero, Quaternion.identity).GetComponent<SkillBase>() : null;
|
||||
}
|
||||
|
||||
// public void ActivateSkill(ISkillUser user, int skillIndex, SkillInputData inputData)
|
||||
// {
|
||||
// if (skillIndex >= 0 && skillIndex < skillList.Count)
|
||||
// {
|
||||
// user.ActivateSkill(skillList[skillIndex], inputData);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 739234759b1614d40b223ee6336ab166
|
||||
guid: ef791b8610023cb4a8c2428c248f6160
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
@ -0,0 +1,81 @@
|
||||
using System.Linq;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class TheWaltzOfTheSword : SkillBase
|
||||
{
|
||||
[Title("추가 설정")]
|
||||
public bool returnToStartPosition;
|
||||
public bool isHitStop = true;
|
||||
[ShowIf("@isHitStop")]
|
||||
public float hitStopDuration = 0.3f;
|
||||
|
||||
[field: SerializeField] public Collider[] HitColliders { get; private set; } = new Collider[MAX_HIT_NUM];
|
||||
public int HitSize { get; private set; }
|
||||
|
||||
private const int MAX_HIT_NUM = 6;
|
||||
|
||||
public override void ActivateSkill()
|
||||
{
|
||||
SortCollidersByDistance();
|
||||
|
||||
enableSkill = false;
|
||||
CoolDown(cooldown, () => enableSkill = true);
|
||||
SkillInputData.skillUi.Cooldown(cooldown);
|
||||
}
|
||||
|
||||
public override bool EnableSkill()
|
||||
{
|
||||
if (!enableSkill) return false;
|
||||
|
||||
HitColliders = new Collider[MAX_HIT_NUM];
|
||||
HitSize = Physics.OverlapSphereNonAlloc(SkillInputData.startPosition, range, HitColliders,SkillInputData.targetLayer);
|
||||
var readySkill = HitSize > 0;
|
||||
|
||||
return readySkill;
|
||||
}
|
||||
|
||||
private void SortCollidersByDistance()
|
||||
{
|
||||
HitColliders = HitColliders
|
||||
.Where(c => c != null)
|
||||
.OrderBy(c => (c.transform.position - transform.position).sqrMagnitude)
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
public void SkillAttackTiming(Collider hitCollider)
|
||||
{
|
||||
var iDamageable = hitCollider.GetComponent<IDamageable>();
|
||||
iDamageable.TakeDamage(damage);
|
||||
|
||||
if (iDamageable.GetCurrentHp() == 0f)
|
||||
{
|
||||
if (isHitStop)
|
||||
{
|
||||
VisualFeedbackManager.Inst.CameraShake(CameraManager.Inst.CombatCamera.BaseCombatCamera);
|
||||
VisualFeedbackManager.Inst.TriggerHitStop(hitStopDuration);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsTargetAlive(Collider hitCollider)
|
||||
{
|
||||
if (!hitCollider) return false;
|
||||
|
||||
var damageable = hitCollider.GetComponent<IDamageable>();
|
||||
if (damageable != null && damageable.GetCurrentHp() > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool AllTargetsAreDead()
|
||||
{
|
||||
return HitColliders.All(c => c == null || !IsTargetAlive(c));
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2748ef62a9ba8734986610a7072e7155
|
@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
using Random = UnityEngine.Random;
|
||||
@ -61,5 +62,10 @@ namespace BlueWaterProject
|
||||
{
|
||||
Destroy(bulletEffect.gameObject);
|
||||
}
|
||||
|
||||
public virtual float GetCurrentHp()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -66,47 +66,47 @@ namespace BlueWaterProject
|
||||
|
||||
private void SpawnInIslandPlayer(Vector3 spawnPos, Quaternion spawnRotation)
|
||||
{
|
||||
// if (Physics.Raycast(spawnPos, Vector3.down, out var hit, 10f, groundLayer))
|
||||
// // if (Physics.Raycast(spawnPos, Vector3.down, out var hit, 10f, groundLayer))
|
||||
// // {
|
||||
// // print(hit.point.y);
|
||||
// // spawnPos.y = hit.point.y;
|
||||
// // }
|
||||
//
|
||||
// var islandPlayer = Instantiate(GameManager.Inst.InIslandPlayerPrefab, spawnPos, spawnRotation, spawnLocation);
|
||||
// islandPlayer.name = IN_ISLAND_PLAYER_NAME;
|
||||
// islandPlayer.gameObject.SetActive(true);
|
||||
//
|
||||
// var playerInput = islandPlayer.GetComponent<PlayerInput>();
|
||||
// if (playerInput == null)
|
||||
// {
|
||||
// print(hit.point.y);
|
||||
// spawnPos.y = hit.point.y;
|
||||
// playerInput = islandPlayer.transform.AddComponent<PlayerInput>();
|
||||
// }
|
||||
|
||||
var islandPlayer = Instantiate(GameManager.Inst.InIslandPlayerPrefab, spawnPos, spawnRotation, spawnLocation);
|
||||
islandPlayer.name = IN_ISLAND_PLAYER_NAME;
|
||||
islandPlayer.gameObject.SetActive(true);
|
||||
|
||||
var playerInput = islandPlayer.GetComponent<PlayerInput>();
|
||||
if (playerInput == null)
|
||||
{
|
||||
playerInput = islandPlayer.transform.AddComponent<PlayerInput>();
|
||||
}
|
||||
|
||||
var desiredActionMap = playerInput.actions.FindActionMap(PLAYER_NAME);
|
||||
if (desiredActionMap == null)
|
||||
{
|
||||
print($"Action map named '{PLAYER_NAME}' not found in player actions!");
|
||||
return;
|
||||
}
|
||||
|
||||
playerInput.defaultActionMap = PLAYER_NAME;
|
||||
|
||||
// if (GameManager.Inst.ShipPlayer != null)
|
||||
//
|
||||
// var desiredActionMap = playerInput.actions.FindActionMap(PLAYER_NAME);
|
||||
// if (desiredActionMap == null)
|
||||
// {
|
||||
// GameManager.Inst.ShipPlayer.GetComponent<PlayerInput>().enabled = false;
|
||||
// print($"Action map named '{PLAYER_NAME}' not found in player actions!");
|
||||
// return;
|
||||
// }
|
||||
|
||||
playerInput.enabled = true;
|
||||
|
||||
var inIslandPlayer = islandPlayer.GetComponent<InIslandPlayer>();
|
||||
if (inIslandPlayer == null)
|
||||
{
|
||||
inIslandPlayer = islandPlayer.AddComponent<InIslandPlayer>();
|
||||
}
|
||||
|
||||
InIslandCamera.Inst.SetTarget(islandPlayer.transform);
|
||||
|
||||
GameManager.Inst.SetCurrentInIslandPlayer(inIslandPlayer);
|
||||
//
|
||||
// playerInput.defaultActionMap = PLAYER_NAME;
|
||||
//
|
||||
// // if (GameManager.Inst.ShipPlayer != null)
|
||||
// // {
|
||||
// // GameManager.Inst.ShipPlayer.GetComponent<PlayerInput>().enabled = false;
|
||||
// // }
|
||||
//
|
||||
// playerInput.enabled = true;
|
||||
//
|
||||
// var inIslandPlayer = islandPlayer.GetComponent<InIslandPlayer>();
|
||||
// if (inIslandPlayer == null)
|
||||
// {
|
||||
// inIslandPlayer = islandPlayer.AddComponent<InIslandPlayer>();
|
||||
// }
|
||||
//
|
||||
// InIslandCamera.Inst.SetTarget(islandPlayer.transform);
|
||||
//
|
||||
// GameManager.Inst.SetCurrentInIslandPlayer(inIslandPlayer);
|
||||
}
|
||||
|
||||
[DisableIf("@crewmatePrefabIndex >= GameManager.Inst.CrewmatePrefabList.Count || crewmatePrefabIndex < 0")]
|
||||
|
41
BlueWater/Assets/02.Scripts/Ui/SkillUi.cs
Normal file
41
BlueWater/Assets/02.Scripts/Ui/SkillUi.cs
Normal file
@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using Doozy.Runtime.UIManager.Containers;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
[Serializable]
|
||||
public class SkillUi : MonoBehaviour
|
||||
{
|
||||
[field: SerializeField] public GameObject Obj { get; set; }
|
||||
[field: SerializeField] public Image Icon { get; set; }
|
||||
[field: SerializeField] public Image Fill { get; set; }
|
||||
[field: SerializeField] public UIView Fade { get; set; }
|
||||
|
||||
public void Cooldown(float waitTime)
|
||||
{
|
||||
StartCoroutine(CooldownCoroutine(waitTime));
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Fill.fillAmount = 0f;
|
||||
}
|
||||
|
||||
public IEnumerator CooldownCoroutine(float waitTime)
|
||||
{
|
||||
Fill.fillAmount = 1f;
|
||||
|
||||
while (Fill.fillAmount > 0f)
|
||||
{
|
||||
Fill.fillAmount -= Time.deltaTime / waitTime;
|
||||
yield return null;
|
||||
}
|
||||
|
||||
Fade.Show();
|
||||
}
|
||||
}
|
||||
}
|
2
BlueWater/Assets/02.Scripts/Ui/SkillUi.cs.meta
Normal file
2
BlueWater/Assets/02.Scripts/Ui/SkillUi.cs.meta
Normal file
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 879121df51fe6b848b90643a85533f9b
|
@ -11,11 +11,15 @@ namespace BlueWaterProject
|
||||
[Title("Mouse")]
|
||||
private Texture2D cursorTexture;
|
||||
|
||||
[Title("Ocean")]
|
||||
public OceanUi OceanUi { get; set; }
|
||||
|
||||
[Title("Tycoon")]
|
||||
public TycoonUi TycoonUi { get; set; }
|
||||
|
||||
[Title("Combat")]
|
||||
public CombatUi CombatUi { get; set; }
|
||||
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
@ -262,19 +262,21 @@ MonoBehaviour:
|
||||
maxHp: 100
|
||||
maxHitNum: 10
|
||||
attackDamage: 10
|
||||
attackTime: 0.7
|
||||
attackRange: 1.5
|
||||
attackAngle: 180
|
||||
comboTime: 0.5
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 512
|
||||
m_Bits: 8192
|
||||
<MyCurrentState>k__BackingField:
|
||||
isInvincibility: 0
|
||||
isAttacking: 0
|
||||
isComboPossible: 0
|
||||
isComboAttacking: 0
|
||||
<MyCurrentValue>k__BackingField:
|
||||
currentHp: 0
|
||||
hitColliders: []
|
||||
mainSkillName: TheWaltzOfTheSword
|
||||
--- !u!114 &803982772767150407
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -305,6 +307,7 @@ MonoBehaviour:
|
||||
dashTime: 0.2
|
||||
dashCooldown: 0.5
|
||||
<MyCurrentState>k__BackingField:
|
||||
enableMoving: 1
|
||||
isMoving: 0
|
||||
isGrounded: 0
|
||||
isOnSlope: 0
|
||||
|
8
BlueWater/Assets/05.Prefabs/Skills/CombatPlayer.meta
Normal file
8
BlueWater/Assets/05.Prefabs/Skills/CombatPlayer.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 27c025b40bf0ac240bc814fd06837cf9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,71 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &3729466749377576705
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8361458334772768619}
|
||||
- component: {fileID: 5112256407064551989}
|
||||
m_Layer: 0
|
||||
m_Name: TheWaltzOfTheSword
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8361458334772768619
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3729466749377576705}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &5112256407064551989
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3729466749377576705}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2748ef62a9ba8734986610a7072e7155, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
skillName: TheWaltzOfTheSword
|
||||
enableSkill: 1
|
||||
damage: 30
|
||||
cooldown: 5
|
||||
range: 10
|
||||
castingTime: 0.3
|
||||
skillDuration: 3
|
||||
<SkillInputData>k__BackingField:
|
||||
playerCollider: {fileID: 0}
|
||||
playerRb: {fileID: 0}
|
||||
playerVisualLook: {fileID: 0}
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
startPosition: {x: 0, y: 0, z: 0}
|
||||
returnToStartPosition: 0
|
||||
isHitStop: 1
|
||||
hitStopDuration: 0.3
|
||||
<HitColliders>k__BackingField:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3a62bfa9fbff9a740a8b945873365f44
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,5 +1,30 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1101 &-8486779952133263134
|
||||
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: isActivateMainSkill
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 5288804090290371663}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.64285713
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!206 &-8385716840509112995
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -72,6 +97,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-6446804397988170077
|
||||
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: 2904739495372590564}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.59016395
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!114 &-5518085723798809257
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -98,6 +148,56 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
StartPosition: {x: 0, y: 0}
|
||||
AnimationSpeed: {x: 1, y: 1}
|
||||
--- !u!1101 &-5095364130690757460
|
||||
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: isActivateMainSkill
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 0}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.64285713
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-4952400126227690250
|
||||
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: isDashing
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 9191734135348127121}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.64285713
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-4577426398346569303
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -179,6 +279,53 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!206 &-3909535805539343691
|
||||
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: 7400000, guid: ab6fed51b6721c54b93fa13229c486d8, type: 2}
|
||||
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: 7400000, guid: 8225cf4fb8d780f4da74eb343488237a, type: 2}
|
||||
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: 7400000, guid: 8225cf4fb8d780f4da74eb343488237a, type: 2}
|
||||
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: 7400000, guid: 8cd6c873f7a755549b544fa90b733869, type: 2}
|
||||
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 &-3809054890995379507
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -328,6 +475,18 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!114 &-623268372849783563
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
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: 7d04132e6724ede4ea1dacf9bcc84ec0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1102 &-618453422930481919
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@ -341,6 +500,7 @@ AnimatorState:
|
||||
m_Transitions:
|
||||
- {fileID: -3809054890995379507}
|
||||
- {fileID: -4577426398346569303}
|
||||
- {fileID: -8486779952133263134}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@ -356,6 +516,18 @@ AnimatorState:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!114 &-485676201465698196
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 1
|
||||
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: fc7f327f78a10164b8a90f10b8eefc5f, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1101 &-27374218785730259
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -423,6 +595,12 @@ AnimatorController:
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- m_Name: isActivateMainSkill
|
||||
m_Type: 4
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@ -436,6 +614,91 @@ AnimatorController:
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1101 &276457862005141075
|
||||
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: isActivateMainSkill
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 2
|
||||
m_ConditionEvent: isMoving
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 2904739495372590564}
|
||||
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 &750437929063984674
|
||||
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: isActivateMainSkill
|
||||
m_EventTreshold: 0
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: isMoving
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -618453422930481919}
|
||||
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 &937190665916713420
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MainSkill
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 276457862005141075}
|
||||
- {fileID: 750437929063984674}
|
||||
m_StateMachineBehaviours:
|
||||
- {fileID: -485676201465698196}
|
||||
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: 7400000, guid: 17f2b42253dd3d3469dba4824a446877, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!206 &1924325176296308351
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -512,6 +775,28 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 0
|
||||
--- !u!1101 &2391347082371453877
|
||||
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: 937190665916713420}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &2904739495372590564
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@ -525,6 +810,7 @@ AnimatorState:
|
||||
m_Transitions:
|
||||
- {fileID: 3163530354401825757}
|
||||
- {fileID: -7583967420879830985}
|
||||
- {fileID: 6486267535032140894}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
@ -656,6 +942,33 @@ BlendTree:
|
||||
m_UseAutomaticThresholds: 1
|
||||
m_NormalizedBlendValues: 0
|
||||
m_BlendType: 1
|
||||
--- !u!1102 &5288804090290371663
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ReadyToMainSkill
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 2391347082371453877}
|
||||
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: -3909535805539343691}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &6036754318826198548
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
@ -676,18 +989,49 @@ AnimatorStateMachine:
|
||||
m_Position: {x: 450, y: 210, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -1391371825940290833}
|
||||
m_Position: {x: 460, y: 0, z: 0}
|
||||
m_Position: {x: 300, y: 0, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 937190665916713420}
|
||||
m_Position: {x: 900, y: -100, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5288804090290371663}
|
||||
m_Position: {x: 600, y: -100, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions:
|
||||
- {fileID: 2368236931724677174}
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 240, y: 0, z: 0}
|
||||
m_AnyStatePosition: {x: 40, y: 0, z: 0}
|
||||
m_EntryPosition: {x: 40, y: 100, z: 0}
|
||||
m_ExitPosition: {x: 990, y: 110, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 2904739495372590564}
|
||||
--- !u!1101 &6486267535032140894
|
||||
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: isActivateMainSkill
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 5288804090290371663}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.59016395
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!206 &7176258330419148192
|
||||
BlendTree:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -747,6 +1091,9 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 1155782f2a5497e448bf8cc52985612c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
groundLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 8
|
||||
--- !u!1102 &9191734135348127121
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
8
BlueWater/Assets/07.Animation/CombatPlayer.meta
Normal file
8
BlueWater/Assets/07.Animation/CombatPlayer.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 50a1723014483a24e9804f6ee150c5d8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,81 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: BackReadyTheWaltzOfTheSword
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
- time: 0
|
||||
value: {fileID: 1825319529750142893, guid: 3799083e0fb2447b58c45499eaf37bd0,
|
||||
type: 3}
|
||||
- time: 0.15
|
||||
value: {fileID: -986075251332770354, guid: 3799083e0fb2447b58c45499eaf37bd0,
|
||||
type: 3}
|
||||
- time: 0.3
|
||||
value: {fileID: -3660300481513293558, guid: 3799083e0fb2447b58c45499eaf37bd0,
|
||||
type: 3}
|
||||
attribute: m_Sprite
|
||||
path:
|
||||
classID: 212
|
||||
script: {fileID: 0}
|
||||
flags: 2
|
||||
m_SampleRate: 100
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 0
|
||||
script: {fileID: 0}
|
||||
typeID: 212
|
||||
customType: 23
|
||||
isPPtrCurve: 1
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping:
|
||||
- {fileID: 1825319529750142893, guid: 3799083e0fb2447b58c45499eaf37bd0, type: 3}
|
||||
- {fileID: -986075251332770354, guid: 3799083e0fb2447b58c45499eaf37bd0, type: 3}
|
||||
- {fileID: -3660300481513293558, guid: 3799083e0fb2447b58c45499eaf37bd0, type: 3}
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.31
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 0
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves: []
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8cd6c873f7a755549b544fa90b733869
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,81 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: FrontReadyTheWaltzOfTheSword
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
- time: 0
|
||||
value: {fileID: 8842556938668532038, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.15
|
||||
value: {fileID: 2482873589965228132, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.3
|
||||
value: {fileID: -2708405932515165879, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
attribute: m_Sprite
|
||||
path:
|
||||
classID: 212
|
||||
script: {fileID: 0}
|
||||
flags: 2
|
||||
m_SampleRate: 100
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 0
|
||||
script: {fileID: 0}
|
||||
typeID: 212
|
||||
customType: 23
|
||||
isPPtrCurve: 1
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping:
|
||||
- {fileID: 8842556938668532038, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 2482873589965228132, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -2708405932515165879, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.31
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 0
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves: []
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab6fed51b6721c54b93fa13229c486d8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,81 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SideReadyTheWaltzOfTheSword
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
- time: 0
|
||||
value: {fileID: 7414131888971756592, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.15
|
||||
value: {fileID: -8491270915927727279, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.3
|
||||
value: {fileID: -3328434381802528436, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
attribute: m_Sprite
|
||||
path:
|
||||
classID: 212
|
||||
script: {fileID: 0}
|
||||
flags: 2
|
||||
m_SampleRate: 100
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 0
|
||||
script: {fileID: 0}
|
||||
typeID: 212
|
||||
customType: 23
|
||||
isPPtrCurve: 1
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping:
|
||||
- {fileID: 7414131888971756592, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8491270915927727279, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -3328434381802528436, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 0.31
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 0
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves: []
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8225cf4fb8d780f4da74eb343488237a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,393 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!74 &7400000
|
||||
AnimationClip:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: TheWaltzOfTheSword
|
||||
serializedVersion: 7
|
||||
m_Legacy: 0
|
||||
m_Compressed: 0
|
||||
m_UseHighQualityCurve: 1
|
||||
m_RotationCurves: []
|
||||
m_CompressedRotationCurves: []
|
||||
m_EulerCurves: []
|
||||
m_PositionCurves: []
|
||||
m_ScaleCurves: []
|
||||
m_FloatCurves: []
|
||||
m_PPtrCurves:
|
||||
- serializedVersion: 2
|
||||
curve:
|
||||
- time: 0
|
||||
value: {fileID: 676376719021367935, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.04
|
||||
value: {fileID: 7075474257182208009, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.08
|
||||
value: {fileID: -7330508827711092842, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.12
|
||||
value: {fileID: 1587993407618024185, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.15
|
||||
value: {fileID: 7125293203650736703, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.19
|
||||
value: {fileID: -1886102513309244554, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.23
|
||||
value: {fileID: -2236658673280625294, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.27
|
||||
value: {fileID: 7464747088723063719, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.31
|
||||
value: {fileID: -7053859854731117362, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.35
|
||||
value: {fileID: -246377619162188687, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.38
|
||||
value: {fileID: -8910233782443103351, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.42
|
||||
value: {fileID: 5074171851503986758, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.46
|
||||
value: {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.5
|
||||
value: {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 0.51
|
||||
value: {fileID: -4665969359783447086, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.56
|
||||
value: {fileID: 3046325850537428308, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.6
|
||||
value: {fileID: 8355407047057278999, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.64
|
||||
value: {fileID: 531808216999434893, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.68
|
||||
value: {fileID: -5238447988111708349, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.72
|
||||
value: {fileID: 3167164698273632755, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.76
|
||||
value: {fileID: -2343593065518401393, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.8
|
||||
value: {fileID: 3281824216133067538, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.84
|
||||
value: {fileID: 1000478860194645677, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.88
|
||||
value: {fileID: -6405820590031011402, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.92
|
||||
value: {fileID: 8450779600869156891, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 0.96
|
||||
value: {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1
|
||||
value: {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.01
|
||||
value: {fileID: 676376719021367935, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.05
|
||||
value: {fileID: 7075474257182208009, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.09
|
||||
value: {fileID: -7330508827711092842, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.12
|
||||
value: {fileID: 1587993407618024185, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.16
|
||||
value: {fileID: 7125293203650736703, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.2
|
||||
value: {fileID: -1886102513309244554, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.24
|
||||
value: {fileID: -2236658673280625294, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.27
|
||||
value: {fileID: 7464747088723063719, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.31
|
||||
value: {fileID: -7053859854731117362, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.35
|
||||
value: {fileID: -246377619162188687, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.39
|
||||
value: {fileID: -8910233782443103351, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.42
|
||||
value: {fileID: 5074171851503986758, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.46
|
||||
value: {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.5
|
||||
value: {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 1.51
|
||||
value: {fileID: -4665969359783447086, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.56
|
||||
value: {fileID: 3046325850537428308, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.6
|
||||
value: {fileID: 8355407047057278999, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.64
|
||||
value: {fileID: 531808216999434893, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.68
|
||||
value: {fileID: -5238447988111708349, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.72
|
||||
value: {fileID: 3167164698273632755, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.76
|
||||
value: {fileID: -2343593065518401393, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.8
|
||||
value: {fileID: 3281824216133067538, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.84
|
||||
value: {fileID: 1000478860194645677, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.88
|
||||
value: {fileID: -6405820590031011402, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.92
|
||||
value: {fileID: 8450779600869156891, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 1.96
|
||||
value: {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2
|
||||
value: {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.01
|
||||
value: {fileID: 676376719021367935, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.05
|
||||
value: {fileID: 7075474257182208009, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.09
|
||||
value: {fileID: -7330508827711092842, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.12
|
||||
value: {fileID: 1587993407618024185, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.16
|
||||
value: {fileID: 7125293203650736703, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.2
|
||||
value: {fileID: -1886102513309244554, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.24
|
||||
value: {fileID: -2236658673280625294, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.27
|
||||
value: {fileID: 7464747088723063719, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.31
|
||||
value: {fileID: -7053859854731117362, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.35
|
||||
value: {fileID: -246377619162188687, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.39
|
||||
value: {fileID: -8910233782443103351, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.42
|
||||
value: {fileID: 5074171851503986758, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.46
|
||||
value: {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.49
|
||||
value: {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab,
|
||||
type: 3}
|
||||
- time: 2.5
|
||||
value: {fileID: -4665969359783447086, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.55
|
||||
value: {fileID: 3046325850537428308, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.59
|
||||
value: {fileID: 8355407047057278999, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.63
|
||||
value: {fileID: 531808216999434893, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.67
|
||||
value: {fileID: -5238447988111708349, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.71
|
||||
value: {fileID: 3167164698273632755, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.75
|
||||
value: {fileID: -2343593065518401393, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.79
|
||||
value: {fileID: 3281824216133067538, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.83
|
||||
value: {fileID: 1000478860194645677, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.87
|
||||
value: {fileID: -6405820590031011402, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.91
|
||||
value: {fileID: 8450779600869156891, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 2.95
|
||||
value: {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
- time: 3
|
||||
value: {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572,
|
||||
type: 3}
|
||||
attribute: m_Sprite
|
||||
path:
|
||||
classID: 212
|
||||
script: {fileID: 0}
|
||||
flags: 2
|
||||
m_SampleRate: 100
|
||||
m_WrapMode: 0
|
||||
m_Bounds:
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
m_Extent: {x: 0, y: 0, z: 0}
|
||||
m_ClipBindingConstant:
|
||||
genericBindings:
|
||||
- serializedVersion: 2
|
||||
path: 0
|
||||
attribute: 0
|
||||
script: {fileID: 0}
|
||||
typeID: 212
|
||||
customType: 23
|
||||
isPPtrCurve: 1
|
||||
isIntCurve: 0
|
||||
isSerializeReferenceCurve: 0
|
||||
pptrCurveMapping:
|
||||
- {fileID: 676376719021367935, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7075474257182208009, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -7330508827711092842, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 1587993407618024185, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7125293203650736703, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -1886102513309244554, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -2236658673280625294, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7464747088723063719, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -7053859854731117362, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -246377619162188687, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -8910233782443103351, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 5074171851503986758, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -4665969359783447086, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3046325850537428308, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 8355407047057278999, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 531808216999434893, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -5238447988111708349, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3167164698273632755, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -2343593065518401393, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3281824216133067538, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 1000478860194645677, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -6405820590031011402, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 8450779600869156891, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 676376719021367935, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7075474257182208009, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -7330508827711092842, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 1587993407618024185, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7125293203650736703, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -1886102513309244554, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -2236658673280625294, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7464747088723063719, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -7053859854731117362, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -246377619162188687, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -8910233782443103351, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 5074171851503986758, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -4665969359783447086, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3046325850537428308, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 8355407047057278999, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 531808216999434893, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -5238447988111708349, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3167164698273632755, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -2343593065518401393, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3281824216133067538, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 1000478860194645677, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -6405820590031011402, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 8450779600869156891, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 676376719021367935, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7075474257182208009, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -7330508827711092842, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 1587993407618024185, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7125293203650736703, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -1886102513309244554, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -2236658673280625294, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 7464747088723063719, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -7053859854731117362, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -246377619162188687, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -8910233782443103351, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: 5074171851503986758, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -593530978813535299, guid: 88b84319f88e542e495fc1f6338dc3ab, type: 3}
|
||||
- {fileID: -4665969359783447086, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3046325850537428308, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 8355407047057278999, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 531808216999434893, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -5238447988111708349, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3167164698273632755, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -2343593065518401393, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 3281824216133067538, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 1000478860194645677, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -6405820590031011402, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: 8450779600869156891, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
- {fileID: -8540832944191789790, guid: defcc8125c9264ebc9dc3d4026bcb572, type: 3}
|
||||
m_AnimationClipSettings:
|
||||
serializedVersion: 2
|
||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||
m_AdditiveReferencePoseTime: 0
|
||||
m_StartTime: 0
|
||||
m_StopTime: 3.01
|
||||
m_OrientationOffsetY: 0
|
||||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
m_LoopBlendPositionXZ: 0
|
||||
m_KeepOriginalOrientation: 0
|
||||
m_KeepOriginalPositionY: 0
|
||||
m_KeepOriginalPositionXZ: 0
|
||||
m_HeightFromFeet: 0
|
||||
m_Mirror: 0
|
||||
m_EditorCurves: []
|
||||
m_EulerEditorCurves: []
|
||||
m_HasGenericRootTransform: 0
|
||||
m_HasMotionFloatCurves: 0
|
||||
m_Events: []
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 17f2b42253dd3d3469dba4824a446877
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in New Issue
Block a user