public DropState(WorldView view, NewDropDelegate newDrop)
     : base(view)
 {
     this.newDropCallback = newDrop;
     CreateNewDrop();
 }
 public DropState(WorldView view, NewDropDelegate newDrop)
     : base(view)
 {
     this.newDropCallback = newDrop;
     CreateNewDrop();
 }
 void gel_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (DefaultState.GameEntitiesList.SelectedItems.Count > 0)
     {
         Random random = new Random();
         newDropCallback = () =>
             {
                 var t = (Type)DefaultState.GameEntitiesList.SelectedItems[
                     random.Next(DefaultState.GameEntitiesList.SelectedItems.Count)].Tag;
                 return (Graphics.Entity)Activator.CreateInstance(t);
             };
         //Eewh.. damn Select method
         System.Threading.ThreadPool.QueueUserWorkItem((o) =>
         {
             System.Threading.Thread.Sleep(300);
             MainWindow.Instance.Invoke(new System.Windows.Forms.MethodInvoker(() => view.Select()));
         });
         if (dropping != null)
             dropping.Remove();
         CreateNewDrop();
     }
 }
 public DropState(WorldView view)
     : base(view)
 {
     this.newDropCallback = () => { return null; };
     CreateNewDrop();
 }