public void AlignWithTarget(IShooter target, Action OnAlignComplete) { Vector3 alignTo = new Vector3(target.GetPosition().x, GetPosition().y, GetPosition().z); StartAligning(alignTo, () => { OnAlignComplete(); playerState = State.Idle; }); }