IEnumerator swapPosition(MyCharacterController target, Action callback)
 {
     float time = Time.timeSinceLevelLoad;
     Vector2 end = target.CurrentPosition;
     StartCoroutine(target.normalMove2(time, target.CurrentPosition, this.CurrentPosition, () => { }));
     yield return StartCoroutine(this.normalMove2(time, this.CurrentPosition, end, () => { }));
     callback();
 }