[Action Refactor Fix] Action blockers now work on Actions (#37948)
This commit is contained in:
committed by
GitHub
parent
93f780c22d
commit
f6c9ef344e
@@ -58,6 +58,7 @@ public abstract class SharedActionsSystem : EntitySystem
|
|||||||
SubscribeLocalEvent<ActionsComponent, ComponentShutdown>(OnShutdown);
|
SubscribeLocalEvent<ActionsComponent, ComponentShutdown>(OnShutdown);
|
||||||
SubscribeLocalEvent<ActionsComponent, ComponentGetState>(OnGetState);
|
SubscribeLocalEvent<ActionsComponent, ComponentGetState>(OnGetState);
|
||||||
|
|
||||||
|
SubscribeLocalEvent<ActionComponent, ActionValidateEvent>(OnValidate);
|
||||||
SubscribeLocalEvent<InstantActionComponent, ActionValidateEvent>(OnInstantValidate);
|
SubscribeLocalEvent<InstantActionComponent, ActionValidateEvent>(OnInstantValidate);
|
||||||
SubscribeLocalEvent<EntityTargetActionComponent, ActionValidateEvent>(OnEntityValidate);
|
SubscribeLocalEvent<EntityTargetActionComponent, ActionValidateEvent>(OnEntityValidate);
|
||||||
SubscribeLocalEvent<WorldTargetActionComponent, ActionValidateEvent>(OnWorldValidate);
|
SubscribeLocalEvent<WorldTargetActionComponent, ActionValidateEvent>(OnWorldValidate);
|
||||||
@@ -316,19 +317,9 @@ public abstract class SharedActionsSystem : EntitySystem
|
|||||||
|
|
||||||
private void OnValidate(Entity<ActionComponent> ent, ref ActionValidateEvent args)
|
private void OnValidate(Entity<ActionComponent> ent, ref ActionValidateEvent args)
|
||||||
{
|
{
|
||||||
if (ent.Comp.CheckConsciousness && !_actionBlocker.CanConsciouslyPerformAction(args.User))
|
if ((ent.Comp.CheckConsciousness && !_actionBlocker.CanConsciouslyPerformAction(args.User))
|
||||||
{
|
|| (ent.Comp.CheckCanInteract && !_actionBlocker.CanInteract(args.User, null)))
|
||||||
args.Invalid = true;
|
args.Invalid = true;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ent.Comp.CheckCanInteract && !_actionBlocker.CanInteract(args.User, null))
|
|
||||||
{
|
|
||||||
args.Invalid = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Event is not set here, only below
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnInstantValidate(Entity<InstantActionComponent> ent, ref ActionValidateEvent args)
|
private void OnInstantValidate(Entity<InstantActionComponent> ent, ref ActionValidateEvent args)
|
||||||
|
|||||||
Reference in New Issue
Block a user