Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pos"></param>
        /// <param name="IsFake"></param>
        /// <returns></returns>s
        public bool TryGotoTarget(SimPosition pos, out bool IsFake)
        {
            IsFake = false;
            SimMoverState state = SimMoverState.TRYAGAIN;

            while (state == SimMoverState.TRYAGAIN)
            {
                SimWaypoint      target = (SimWaypoint)pos;
                IList <SimRoute> routes = (IList <SimRoute>)GetRouteList(target, out IsFake);
                if (routes == null)
                {
                    return(false);
                }
                SimRouteMover ApproachPlan = new SimRouteMover(Mover, routes, pos.GlobalPosition, pos.GetSizeDistance());
                state = ApproachPlan.Goto();
                if (state == SimMoverState.COMPLETE)
                {
                    return(true);
                }
            }
            return(false);

            //== SimMoverState.COMPLETE;
        }
Пример #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="pos"></param>
        /// <param name="IsFake"></param>
        /// <returns></returns>s
        public bool TryGotoTarget(SimPosition pos, out bool IsFake)
        {
            IsFake = false;
            SimMoverState state = SimMoverState.TRYAGAIN;
            while (state == SimMoverState.TRYAGAIN)
            {
                SimWaypoint target = (SimWaypoint)pos;
                IList<SimRoute> routes = (IList<SimRoute>)GetRouteList(target, out IsFake);
                if (routes == null) return false;
                SimRouteMover ApproachPlan = new SimRouteMover(Mover, routes, pos.GlobalPosition, pos.GetSizeDistance());
                state = ApproachPlan.Goto();
                if (state == SimMoverState.COMPLETE) return true;
            }
            return false;

            //== SimMoverState.COMPLETE;
        }