Ejemplo n.º 1
0
        public void LoadProfile(IDungeonProfile profile)
        {
            Reset();
            DungeonProfile = profile;

            // filter out already checked nodes
            DungeonNode closestDungeonNode = DungeonProfile.Path.OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)).FirstOrDefault();
            bool        shouldAddNodes     = closestDungeonNode == null;

            foreach (DungeonNode d in DungeonProfile.Path)
            {
                // skip all already completed nodes
                if (!shouldAddNodes && d == closestDungeonNode)
                {
                    shouldAddNodes = true;
                }

                if (shouldAddNodes)
                {
                    CurrentNodes.Enqueue(d);
                }
            }

            TotalNodes = CurrentNodes.Count;
        }
Ejemplo n.º 2
0
        public void LoadProfile(IDungeonProfile profile)
        {
            if (!WowInterface.ObjectManager.IsWorldLoaded || DateTime.Now - EntryTime < TimeSpan.FromSeconds(3))
            {
                return;
            }

            Reset();

            DungeonProfile = profile;
            LoadNodes();

            WowInterface.CombatClass.PriorityTargets = profile.PriorityUnits;
            TotalNodes = CurrentNodes.Count;
        }
Ejemplo n.º 3
0
        public void LoadProfile(IDungeonProfile profile)
        {
            Profile = profile;

            // DungeonNode closestNode = profile.Nodes.OrderBy(e => e.Position.GetDistance(WowInterface.ObjectManager.Player.Position)).FirstOrDefault();
            // int closestNodeIndex = profile.Nodes.IndexOf(closestNode);

            for (int i = 0; i < profile.Nodes.Count; ++i)
            {
                CurrentNodes.Enqueue(profile.Nodes[i]);
            }

            WowInterface.CombatClass.PriorityTargetDisplayIds = profile.PriorityUnits;
            TotalNodes = CurrentNodes.Count;
        }