1
This commit is contained in:
@@ -7,7 +7,8 @@
|
||||
"GUID:7efac18f239530141802fb139776f333",
|
||||
"GUID:d525ad6bd40672747bde77962f1c401e",
|
||||
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
|
||||
"GUID:f51ebe6a0ceec4240a699833d6309b23"
|
||||
"GUID:f51ebe6a0ceec4240a699833d6309b23",
|
||||
"GUID:bea3628e8b592ae47ade218cb9ec98db"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
|
@@ -1,16 +1,21 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using BITKit;
|
||||
using BITKit.Animations;
|
||||
using BITKit.Entities;
|
||||
using BITKit.Physics;
|
||||
|
||||
namespace BITFALL.Entites
|
||||
{
|
||||
public class EntityProxyCharacter : EntityComponent
|
||||
{
|
||||
public UnityAnimator animator;
|
||||
[SerializeField] private UnityAnimator animator;
|
||||
[SerializeReference, SubclassSelector] public References _getDamage;
|
||||
[SerializeField] private Optional<Collider> aliveCollider = new();
|
||||
[SerializeField] private bool allowAnimatorParameter;
|
||||
[SerializeField] private Optional<PhysicsBasedAnimation> physicsBasedAnimation = new();
|
||||
[Inject]
|
||||
private IHealth _health;
|
||||
public override void OnStart()
|
||||
@@ -20,10 +25,27 @@ namespace BITFALL.Entites
|
||||
_health.OnSetHealthPoint += OnSetHP;
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (physicsBasedAnimation.Allow)
|
||||
{
|
||||
physicsBasedAnimation.Value.Blend =
|
||||
Mathf.MoveTowards(
|
||||
physicsBasedAnimation.Value.Blend,
|
||||
_health.IsAlive ? 1 : 0,
|
||||
Time.fixedTime
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSetAlive(bool alive)
|
||||
{
|
||||
if (aliveCollider.Allow)
|
||||
aliveCollider.Value.enabled = alive;
|
||||
if (allowAnimatorParameter && animator is not null)
|
||||
{
|
||||
animator.animator.SetBool(nameof(IHealth.IsAlive), alive);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSetHP(int hp)
|
||||
|
Reference in New Issue
Block a user