示例#1
0
        public void PickupClosest()
        {
            var closest = WorldLocator.AtObject <ItemPart>(Physical, 2f);

            var item = closest.FirstOrDefault(i => !i.InStorage);

            if (item == null)
            {
                return;
            }

            Pickup(item);
        }
示例#2
0
        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();
        }
示例#3
0
 /// <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());
 }