public override void TryDoingSomething(Sprite me, Map map)
 {
     if (me.IsMoving) return;
     script.Owner = me;
     object result = script.Run();
     if (result != null && result.GetType() == typeof(string)) {
         string res = (string)result;
         switch (res.ToLower()) {
             case "up": me.PlanMove(Sprite.Dir.Up, map); break;
             case "down": me.PlanMove(Sprite.Dir.Down, map); break;
             case "left": me.PlanMove(Sprite.Dir.Left, map); break;
             case "right": me.PlanMove(Sprite.Dir.Right, map); break;
             default: me.PlanMove(Sprite.Dir.None, map); break;
         }
     }
 }
 public override void TryDoingSomething(Sprite me, Map map)
 {
     if (game.Input.IsPressed(UserInput.Buttons.Up)) {
         me.PlanMove(Sprite.Dir.Up, map);
     }
     else if (game.Input.IsPressed(UserInput.Buttons.Down)) {
         me.PlanMove(Sprite.Dir.Down, map);
     }
     else if (game.Input.IsPressed(UserInput.Buttons.Left)) {
         me.PlanMove(Sprite.Dir.Left, map);
     }
     else if (game.Input.IsPressed(UserInput.Buttons.Right)) {
         me.PlanMove(Sprite.Dir.Right, map);
     }
     if (game.Input.IsPressed(UserInput.Buttons.Action)) {
         me.PlanAction(map);
     }
 }