Skip to content

Instantly share code, notes, and snippets.

@confessore
Created August 18, 2017 19:45
Show Gist options
  • Save confessore/2cc275b2c08beeae2cb8bf18ec4f4755 to your computer and use it in GitHub Desktop.
Save confessore/2cc275b2c08beeae2cb8bf18ec4f4755 to your computer and use it in GitHub Desktop.
public WoWGameObject ClosestNode()
{
List<WoWGameObject> herbNodes = ObjectManager.GameObjects
.Where(x => x.GatherInfo.Type == Enums.GatherType.Herbalism).ToList();
List<WoWGameObject> mineNodes = ObjectManager.GameObjects
.Where(x => x.GatherInfo.Type == Enums.GatherType.Mining).ToList();
List<string> herbCheckedBoxes = CMD.herbCheckedBoxes;
List<string> mineCheckedBoxes = CMD.mineCheckedBoxes;
if ((!herbNodes.Any() && !mineNodes.Any())
|| (herbCheckedBoxes?.Any() == false && mineCheckedBoxes?.Any() == false))
return null;
herbNodes = herbNodes.Where(x => /*x.GatherInfo.RequiredSkill <= HerbLevel()
&&*/ herbCheckedBoxes.Any(y => y == x.Name)).ToList();
mineNodes = mineNodes.Where(x => /*x.GatherInfo.RequiredSkill <= MineLevel()
&&*/ mineCheckedBoxes.Any(y => y == x.Name)).ToList();
List<WoWGameObject> nodes = herbNodes.Concat(mineNodes).ToList();
return nodes.OrderBy(x => ObjectManager.Player.Position.GetDistanceTo(x.Position)).FirstOrDefault();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment