1
This commit is contained in:
@@ -84,9 +84,16 @@ namespace BITKit.Entities
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var x in entityComponents)
|
||||
var monoBehaviours = GetComponentsInChildren<MonoBehaviour>(true);
|
||||
foreach (var x in monoBehaviours)
|
||||
{
|
||||
foreach (var att in x.GetType().GetCustomAttributes<CustomTypeAttribute>())
|
||||
foreach (var att in x
|
||||
//.GetCustomAttributes<CustomTypeAttribute>()
|
||||
.GetType()
|
||||
//.GetCustomAttributes<CustomTypeAttribute>()
|
||||
.GetCustomAttributes()
|
||||
.OfType<CustomTypeAttribute>()
|
||||
)
|
||||
{
|
||||
genericEvent.Set(att.Type,x);
|
||||
genericEvent.Set(att.Type.FullName, x);
|
||||
@@ -94,7 +101,7 @@ namespace BITKit.Entities
|
||||
}
|
||||
genericEvent.Set(x.GetType(),x);
|
||||
}
|
||||
foreach (var x in GetComponentsInChildren<MonoBehaviour>(true))
|
||||
foreach (var x in monoBehaviours)
|
||||
{
|
||||
Inject(x);
|
||||
}
|
||||
|
@@ -9,6 +9,7 @@ namespace BITKit.Entities
|
||||
bool IsOvering { get; }
|
||||
void AddOverride(object key);
|
||||
void RemoveOverride(object key);
|
||||
event Action<bool> OnOverride;
|
||||
}
|
||||
public interface IEntityOverrideCallback
|
||||
{
|
||||
@@ -17,10 +18,13 @@ namespace BITKit.Entities
|
||||
[CustomType(typeof(IEntityOverride))]
|
||||
public class EntityOverride : EntityComponent,IEntityOverride
|
||||
{
|
||||
[SerializeField,ReadOnly] private bool isOvering;
|
||||
public bool IsOvering => _allowOverrideHandle;
|
||||
private readonly ValidHandle _allowOverrideHandle = new();
|
||||
public void AddOverride(object key) => _allowOverrideHandle.AddElement(key);
|
||||
public void RemoveOverride(object key)=>_allowOverrideHandle.RemoveElement(key);
|
||||
public event Action<bool> OnOverride;
|
||||
|
||||
public override void Initialize(IEntity _entity)
|
||||
{
|
||||
base.Initialize(_entity);
|
||||
@@ -33,10 +37,8 @@ namespace BITKit.Entities
|
||||
}
|
||||
private void Override(bool @override)
|
||||
{
|
||||
foreach (var x in entity.GetCallbacks<IEntityOverrideCallback>())
|
||||
{
|
||||
x.OnEntryOverride(@override);
|
||||
}
|
||||
OnOverride?.Invoke(@override);
|
||||
isOvering=@override;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user