public override void DeleteMultipleItems()
        {
            int nodeCount = CurrentNodes.Count();

            if (nodeCount == 1)
            {
                DeleteItem();
            }
            else if (nodeCount > 0)
            {
                var nodes = CurrentNodes.Select(node => (PackageDependencyNode)node.DataItem).ToArray();
                RemoveMultiplePackages(nodes);
            }
        }
Esempio n. 2
0
        public void Execute()
        {
            if (!Entered)
            {
                EntryTime = DateTime.Now;
                Entered   = true;
            }

            if (DungeonProfile != null)
            {
                if (!HasFinishedDungeon)
                {
                    if (CurrentNodes.Count() == 0)
                    {
                        LoadNodes();
                    }
                    else
                    {
                        bool isMePartyleader = WowInterface.ObjectManager.Player.Guid == WowInterface.ObjectManager.PartyleaderGuid || WowInterface.ObjectManager.PartyleaderGuid == 0;

                        if (isMePartyleader)
                        {
                            // wait for all players to arrive
                            if (AreAllPlayersPresent())
                            {
                                AllPlayerPresentDistance = 48;

                                if (!ShouldWaitForGroup()) // ShouldWaitForGroup()
                                {
                                    FollowNodePath(WowInterface.MovementSettings.WaypointCheckThreshold);
                                }
                            }
                            else
                            {
                                // wait until the players are near us
                                AllPlayerPresentDistance = 16;
                            }
                        }
                        else
                        {
                            if (!MoveToGroupLeader())
                            {
                                // wait for the group leader
                            }
                        }
                    }
                }
                else
                {
                    if (ExitDungeonEvent.Run())
                    {
                        // find a way to exit the dungeon, maybe hearthstone
                        if (WowInterface.HookManager.IsInLfgGroup())
                        {
                            WowInterface.HookManager.LuaDoString("LFGTeleport(true);");
                        }
                    }
                }
            }
            else
            {
                LoadProfile(TryLoadProfile());
            }
        }