public void FireAction(IGameAction action, IGameObject target, ActionCompletedCallback callback = null, float delay = 0f) { action.Parent = Parent; action.Target = target; if (delay > 0f) { actionManager.RegisterDelayedAction(action, delay, callback); } else { actionManager.RegisterAction(action, callback); } }