public NodeHelper FindNode()
        {
            var nodes = Host.getDoodads().Where(d => MiningNodes.Exists(d.phaseId)

                                                && !ignorePhases.Contains(d.phaseId) &&
                                                !skipNodes.Contains(d.GetHashCode()) &&
                                                !ignoreNodes.Contains(d.GetHashCode()) &&
                                                GetNavDist(d) <= 200 &&
                                                d != Host.me.castObject);

            int count = 0;

            if ((count = nodes.Count()) < 1)
            {
                return(null);
            }


            DoodadObject temp = null;

            if (count == 1)
            {
                temp = nodes.First();
            }
            else
            {
                temp = nodes.OrderBy(d => GetNavDist(d)).ThenBy(d => Host.dist(d)).First();
            }


            return(new NodeHelper(temp, Host));
        }
        private bool MakeTask(string name)
        {
            if (!UI.MiningTasks.ContainsKey(name))
            {
                return(false);
            }


            mineTask = UI.MiningTasks[name];

            if (mineTask == null || !gps.Load(mineTask.MiningZone))
            {
                return(false);
            }


            foreach (var vein in mineTask.IgnoreVeins)
            {
                mining.AddIgnorePhases(MiningNodes.GetPhasesByName(vein));
            }


            if ((stats == null) || (stats.ZoneName != mineTask.MiningZone) || UI.ResetStats())
            {
                stats                  = new Statistics(UI);
                stats.ZoneName         = mineTask.MiningZone;
                stats.LaborStartedWith = Host.me.laborPoints;
            }


            return(mineTask != null && stats != null);
        }
Example #3
0
 private void GetMiningNodes()
 {
     Utils.InvokeOn(this, () =>
     {
         chklbox_IgnoreVeins.Items.AddRange(MiningNodes.GetAll().Select(n => n.Name).ToArray());
     });
 }
        private void OnNewInvItem(Item item, int count)
        {
            if (!MiningNodes.IsProduct(item.id))
            {
                return;
            }

            // Add item to box
            UI.AddToMined(item, count);
        }
Example #5
0
        private void GetMiningProducts()
        {
            var items = MiningNodes.GetProducts().Select
                            (i => (Host.clientVersion != ClientVersion.RussiaMailRu) ? i.Value : i.Value.ToRussian());

            Utils.InvokeOn(this, () =>
            {
                lbox_ItemsList.Items.Clear();
                lbox_ItemsList.Items.AddRange(items.ToArray());
            });
        }