1
This commit is contained in:
@@ -81,8 +81,8 @@ namespace BITKit.Entities
|
||||
{
|
||||
public override DamageMessage ReadBinary(BinaryReader reader)
|
||||
{
|
||||
UnityEntitiesService.TryGetEntity(reader.ReadUInt64(),out var initiator);
|
||||
UnityEntitiesService.TryGetEntity(reader.ReadUInt64(),out var target);
|
||||
UnityEntitiesService.TryGetEntity(reader.ReadInt32(),out var initiator);
|
||||
UnityEntitiesService.TryGetEntity(reader.ReadInt32(),out var target);
|
||||
return new DamageMessage()
|
||||
{
|
||||
Initiator = initiator as Entity,
|
||||
@@ -114,6 +114,7 @@ namespace BITKit.Entities
|
||||
IHealth Health { get; }
|
||||
IUnityEntity UnityEntity { get; }
|
||||
Rigidbody Rigidbody { get; }
|
||||
Collider Collider { get; }
|
||||
void GiveDamage(DamageMessage message);
|
||||
}
|
||||
public class DamageService:MonoBehaviour,IDamageService
|
||||
|
@@ -90,11 +90,6 @@ namespace BITKit.Entities
|
||||
OnSetAlive?.Invoke(alive);
|
||||
}
|
||||
|
||||
private void AddHP(int hp)
|
||||
{
|
||||
OnHealthPointChangedInternal(healthPoint, healthPoint += hp);
|
||||
}
|
||||
|
||||
private void OnGetDamage(DamageMessage damageMessage)
|
||||
{
|
||||
if (damageMessage.Target != UnityEntity) return;
|
||||
@@ -114,11 +109,23 @@ namespace BITKit.Entities
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (Data.Get<bool>("god") is false)
|
||||
AddHP(-damage);
|
||||
|
||||
|
||||
damageMessage.Damage = damage;
|
||||
if (Data.Get<bool>("god") is false)
|
||||
{
|
||||
healthPoint-=damage;
|
||||
}
|
||||
|
||||
IsAlive = healthPoint >= 0;
|
||||
|
||||
OnSetHealthPoint?.Invoke(healthPoint);
|
||||
|
||||
OnDamageRelease?.Invoke(damageMessage);
|
||||
|
||||
if (!IsAlive)
|
||||
{
|
||||
OnSetAliveInternal(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
#if UNITY_EDITOR
|
||||
|
Reference in New Issue
Block a user