public void PickupClosest() { var closest = WorldLocator.AtObject <ItemPart>(Physical, 2f); var item = closest.FirstOrDefault(i => !i.InStorage); if (item == null) { return; } Pickup(item); }
private void tryPickup() { if (!TW.Graphics.Keyboard.IsKeyPressed(Key.F)) { return; } var trader = WorldLocator.AtObject <TraderVisualizerPart>(robot.Physical, 4).FirstOrDefault(); if (trader != null && trader.TraderPart.CanTradeWith(robot)) { trader.TraderPart.PerformTrade(robot); } var resource = WorldLocator.AtObject <GenerationSourcePart>(robot.Physical, 4).FirstOrDefault(); if (resource != null && resource.GenerationPart.HasResource) { resource.GenerationPart.PlayerPickResource(robot); return; } robot.PickupClosest(); }
/// <summary> /// Gets the island the robot is standing on, null if none /// </summary> /// <returns></returns> public IslandPart GetPositionIsland() { return(WorldLocator.AtObject <IslandPart>(Physical, 3).FirstOrDefault()); }