This commit is contained in:
CortexCore
2024-05-31 01:23:15 +08:00
parent c798b224be
commit 299082fe27
164 changed files with 3604 additions and 2018 deletions

View File

@@ -62,6 +62,7 @@ namespace BITKit.Entities
/// </summary>
public interface IEntityMovement:IStateMachine<IEntityMovementState>
{
Vector3 Size => Vector3.one;
float ReferenceSpeed => 2.5f;
Vector3 Position { get; set; }
Quaternion Rotation { get; set; }
@@ -138,5 +139,6 @@ namespace BITKit.Entities
void BeforeUpdateMovement(float deltaTime);
void AfterUpdateMovement(float deltaTime);
void ExecuteCommand<T>(T command);
void DrawGizmos();
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -27,10 +27,24 @@ namespace BITKit.Entities
}
public Rigidbody Rigidbody
{
get=>m_rigidbody;
get
{
EnsureConfigure();
return m_rigidbody;
}
set=>m_rigidbody=value;
}
public Collider Collider
{
get
{
EnsureConfigure();
return _collider;
}
}
private Collider _collider;
public void GiveDamage(DamageMessage message)
{
if (_unityEntity is not null)
@@ -53,6 +67,7 @@ namespace BITKit.Entities
_unityEntity = GetComponentInParent<IUnityEntity>(true);
_unityEntity?.Inject(this);
_initialized = true;
_collider = GetComponent<Collider>();
}
}
}

View File

@@ -3,7 +3,9 @@ using System.Collections.Generic;
using BITFALL.Rig;
using BITKit.Entities;
using Cysharp.Threading.Tasks.Triggers;
#if UNITY_EDITOR
using UnityEditor;
#endif
using UnityEngine;
namespace BITKit
@@ -14,6 +16,7 @@ namespace BITKit
[SerializeField] private EntityHitbox[] hitboxes;
[SerializeReference,SubclassSelector] private IReference[] tagReferences;
#if UNITY_EDITOR
[BIT]
private void Build()
{
@@ -73,5 +76,6 @@ namespace BITKit
}
EditorUtility.SetDirty(this);
}
#endif
}
}

View File

@@ -1,3 +1,16 @@
{
"name": "BITKit.Entities.Physics"
}
"name": "BITKit.Entities.Physics",
"rootNamespace": "",
"references": [
"GUID:14fe60d984bf9f84eac55c6ea033a8f4"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -10,6 +10,7 @@ namespace BITKit.Entities.Physics
/// </summary>
public interface IEntityPhysics
{
ValidHandle DisablePhysics { get; }
Vector3 Center { get; }
bool IsPhysics { get; }
Vector3 Velocity { get; set; }