public void MoveTo(MyHexPosition selectorPosition, UnitModel selectedUnit, MyHexPosition magicUsePosition) { var magicType = _courseModel.GetPlayerMagicType(CurrentPlayer); if (magicUsePosition != null) { Assert.IsNull(_magicUsage); _magicUsage = new MagicUsage(magicType, magicUsePosition, _courseModel, CurrentPlayer, CameraShake, MasterSound); } _unitLocomotions.Push(LocomotionUtils.CreateMovementJourney(_courseModel, _unitModelToGameObjectMap[selectedUnit], selectorPosition)); _courseModel.NextTurn(); _possibleMoveTargetsCache = new Dictionary <PossibleMoveTargetsQueryKey, List <MyHexPosition> >(); }