Ejemplo n.º 1
0
        private async void SaveButton_Click(object sender, EventArgs ea)
        {
            var waitingOverlay = new WaitingOverlay(UIScreen.MainScreen.Bounds, "Saving...");

            View.Add(waitingOverlay);

            Bindings.UpdateSourceForLastView();
            this.Model.ApplyEdit();
            try
            {
                //this.Model.GetBrokenRules();
                this.Model = await this.Model.SaveAsync();

                var alert = new UIAlertView();
                alert.Message = "Saved...";
                alert.AddButton("Close");
                alert.DismissWithClickedButtonIndex(0, false);
                alert.Show();
            }
            catch (Exception ex)
            {
                var alert = new UIAlertView();
                alert.Message = string.Format("the following error has occurred: {0}", ex.Message);
                alert.AddButton("Close");
                alert.DismissWithClickedButtonIndex(0, false);
                alert.Show();
            }
            finally
            {
                InitializeBindings(this.Model);
                waitingOverlay.Hide();
            }
        }
Ejemplo n.º 2
0
 private void LinkSendLogToDev_Click(object sender, EventArgs e)
 {
     try
     {
         string subject = InputBox.Input("Any comment? (optional)", settings.StyleColor);
         if (subject != null)
         {
             WaitingOverlay waitingOverlay = new WaitingOverlay(this, "Please wait...", settings.StyleColor).Show();
             Task.Factory.StartNew(() =>
             {
                 try
                 {
                     Log2.UploadLog(subject);
                 }
                 catch (Exception ex)
                 {
                     log.Error("Can't send log: " + ex.Message);
                     this.TaskDialog("Can't send log", ex.Message, NotifyUserType.Error);
                 }
                 finally
                 {
                     BeginInvoke(new Action(waitingOverlay.Close));
                 }
             });
         }
     }
     catch (Exception ex)
     {
         log.Info("Can't send log file: " + ex.Message);
         this.TaskDialog("Log file sending error", ex.Message, NotifyUserType.Error);
     }
 }
Ejemplo n.º 3
0
        private async void DeleteButton_Click(object sender, EventArgs ea)
        {
            var waitingOverlay = new WaitingOverlay(UIScreen.MainScreen.Bounds, "Deleting...");

            View.Add(waitingOverlay);

            try
            {
                this.Model.Delete();
                this.Model.ApplyEdit();
                var returnModel = await this.Model.SaveAsync();

                InitializeBindings(returnModel);
            }
            catch (Exception ex)
            {
                var alert = new UIAlertView();
                alert.Message = string.Format("the following error has occurred: {0}", ex.Message);
                alert.AddButton("Close");
                alert.DismissWithClickedButtonIndex(0, false);
                alert.Show();
            }
            finally
            {
                waitingOverlay.Hide();
            }
        }
Ejemplo n.º 4
0
        public BoredGame(MainScreen _mainScreen, int _seed)
        {
            mainScreen = _mainScreen;
            seed       = _seed;

            Button resignBtn = new Button(this)
            {
                Position = new Point(412, 512),
                Size     = new Point(100, 50),
                Font     = Main.MediumFont,
                Text     = "Quit Game"
            };

            resignBtn.ClickEvent += (object s) =>
            {
                resignBtn.active = false;

                var msg = Networking.CreateMessage();
                msg.Write((byte)MainScreen.Side.GAME_SIDE);
                msg.Write((byte)MessageType.RESIGN);
                Networking.SendMessage(msg);

                var wait = new WaitingOverlay("You requested to quit the game. Waiting for a response...");

                wait.action += (bool quit) =>
                {
                    if (quit)
                    {
                        if (Networking.IsServer)
                        {
                            mainScreen.gameSide = new GameChoose(mainScreen);
                        }
                        else
                        {
                            mainScreen.gameSide = new WaitForChoose(mainScreen);
                        }
                    }
                    else
                    {
                        resignBtn.active = true;
                    }
                };

                overlay = wait;
            };

            components.Add(resignBtn);
        }
Ejemplo n.º 5
0
        public async override void ViewDidLoad()
        {
            base.ViewDidLoad();

            if (Initialized)
            {
                return;
            }
            Initialized = true;

            this.View = new MainView();

            // create binding manager
            Bindings = new BindingManager(this.View);

            ((MainView)this.View).btnSave.TouchUpInside          += SaveButton_Click;
            ((MainView)this.View).btnCancel.TouchUpInside        += CancelButton_Click;
            ((MainView)this.View).btnMarkForDelete.TouchUpInside += DeleteButton_Click;

            ((MainView)this.View).txtName.ShouldReturn += (textField) =>
            {
                textField.ResignFirstResponder();
                return(true);
            };

            var waitingOverlay = new WaitingOverlay(UIScreen.MainScreen.Bounds, "Loading...");

            View.Add(waitingOverlay);

            try
            {
                this.Model = await CustomerEdit.GetCustomerEditAsync(1);

                InitializeBindings(this.Model);
            }
            catch (Exception ex)
            {
                var alert = new UIAlertView();
                alert.Message = string.Format("the following error has occurred: {0}", ex.Message);
                alert.AddButton("Close");
                alert.DismissWithClickedButtonIndex(0, false);
                alert.Show();
            }
            finally
            {
                waitingOverlay.Hide();
            }
        }
Ejemplo n.º 6
0
        public void GameEnd(string message)
        {
            if (Networking.IsServer)
            {
                var yesNo = new OptionsOverlay(message + Environment.NewLine + Environment.NewLine + "Play again?", new string[] { "Yes", "No" });
                yesNo.action += (string s) =>
                {
                    var msg = Networking.CreateMessage();
                    msg.Write((byte)MainScreen.Side.GAME_SIDE);

                    if (s == "Yes")
                    {
                        msg.Write(true);

                        ResetGame();
                    }
                    else
                    {
                        msg.Write(false);

                        mainScreen.gameSide = new GameChoose(mainScreen);
                    }

                    Networking.SendMessage(msg);
                };
                overlay = yesNo;
            }
            else
            {
                var waiting = new WaitingOverlay(message + Environment.NewLine + Environment.NewLine + "Waiting for host to make a decision...");

                waiting.action += (bool s) =>
                {
                    if (s)
                    {
                        ResetGame();
                        //overlay = null;
                    }
                    else
                    {
                        mainScreen.gameSide = new WaitForChoose(mainScreen);
                    }
                };

                overlay = waiting;
            }
        }
Ejemplo n.º 7
0
 private void MetroLinkRefreshClick(object sender, EventArgs e)
 {
     if (game.IsInGame)
     {
         lastRefresh = DateTime.UtcNow;
         listView1.Items.Clear();
         bmItems.Clear();
         timerUpdateList.Enabled = false;
         var waitingOverlay = new WaitingOverlay(this, "Please wait...", Utilities.MetroColorStyle).Show();
         Task.Run(delegate
         {
             foreach (BlackMarketItem item in BlackMarketMgr.GetAllItems(game))
             {
                 bmItems.Add(item);
                 PostInvoke(delegate
                 {
                     if (!ImageListContainsKeySafe(item.Name))
                     {
                         ImageListAddSafe(item.Name, item.Image);
                     }
                     listView1.Items.Add(new ListViewItem(new[]
                     {
                         item.Name,
                         item.TimeLeft.ToString("hh\\:mm\\:ss"),
                         item.LastBidGold + " g",
                         item.NumBids.ToString()
                     })
                     {
                         ImageKey = item.Name
                     });
                 });
             }
         }).ContinueWith(l =>
         {
             PostInvoke(delegate
             {
                 timerUpdateList.Enabled = true;
                 waitingOverlay.Close();
             });
         });
     }
     else
     {
         TaskDialog.Show("Player isn't logged in", nameof(AxTools), "If you sure it is, close this window and open BMTracker again", 0, TaskDialogIcon.Warning);
     }
 }