Пример #1
0
        bool BookmarkPrep(object[] Params)
        {
            Bookmark Bookmark = (Bookmark)Params[0];
            int      Distance = (int)Params[1];

            if (Bookmark == null)
            {
                return(true);
            }

            if (Session.InStation)
            {
                if (Session.StationID == Bookmark.ItemID)
                {
                    return(true);
                }
                QueueState(Undock);
                QueueState(BookmarkPrep, -1, Bookmark, Distance);
                return(true);
            }
            if (Bookmark.LocationID != Session.SolarSystemID)
            {
                if (Route.Path.Last() != Bookmark.LocationID)
                {
                    Log.Log("|oSetting course");
                    Log.Log(" |-g{0}", Bookmark.Title);
                    Bookmark.SetDestination();
                }
                QueueState(AutoPilot, 2000);
            }
            if (Bookmark.Dockable() && Bookmark.LocationID == Session.SolarSystemID)
            {
                QueueState(Dock, -1, Entity.All.FirstOrDefault(a => a.ID == Bookmark.ItemID));
            }
            else
            {
                QueueState(BookmarkWarp, -1, Bookmark, Distance);
            }
            return(true);
        }