Exemplo n.º 1
0
    void Update()
    {
        if (Input.inputString.Length > 0 && char.IsDigit(Input.inputString[0]))
        {
            _inputString += Input.inputString[0];
            SnackBar.ShowMessage(_inputString, 3);
        }

        if (Input.GetKeyDown(KeyCode.Minus) || Input.GetKeyDown(KeyCode.KeypadMinus))
        {
            var controller = BarSelector.CurrentlySelected.GetComponent <CharacterBarController>();
            int newHpValue = controller.Character.Hp - int.Parse(_inputString);
            StartCoroutine(AlterHp(controller.Character.CharId, newHpValue));
            _inputString            = string.Empty;
            controller.Character.Hp = newHpValue;
        }

        if (Input.GetKeyDown(KeyCode.Plus) || Input.GetKeyDown(KeyCode.KeypadPlus))
        {
            var controller = BarSelector.CurrentlySelected.GetComponent <CharacterBarController>();
            int newHpValue = controller.Character.Hp + int.Parse(_inputString);
            StartCoroutine(AlterHp(controller.Character.CharId, newHpValue));
            _inputString            = string.Empty;
            controller.Character.Hp = newHpValue;
        }
    }
Exemplo n.º 2
0
        public static async Task <bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func <Task> action, int durationMilliseconds = 3000)
        {
            _ = page ?? throw new ArgumentNullException(nameof(page));

            var messageOptions = new MessageOptions {
                Message = message
            };
            var actionOptions = new List <SnackBarActionOptions>
            {
                new SnackBarActionOptions
                {
                    Text = actionButtonText, Action = action
                }
            };
            var options = new SnackBarOptions
            {
                MessageOptions = messageOptions,
                Duration       = TimeSpan.FromMilliseconds(durationMilliseconds),
                Actions        = actionOptions,
#if NETSTANDARD1_0
                IsRtl = false,
#else
                IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft,
#endif
            };
            var snackBar = new SnackBar();
            await snackBar.Show(page, options);

            var isButtonClicked = await options.Result.Task;

            return(isButtonClicked);
        }
        public static Task <bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func <Task> action, int duration = 3000)
        {
            var messageOptions = new MessageOptions {
                Message = message
            };
            var actionOptions = new List <SnackBarActionOptions>
            {
                new SnackBarActionOptions
                {
                    Text = actionButtonText, Action = action
                }
            };
            var args = new SnackBarOptions(messageOptions,
                                           duration,
                                           Color.Default,
#if NETSTANDARD1_0
                                           false,
#else
                                           CultureInfo.CurrentCulture.TextInfo.IsRightToLeft,
#endif
                                           actionOptions);
            var snackBar = new SnackBar();

            snackBar.Show(page, args);
            return(args.Result.Task);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Display snackbar with the default visual configuration
        /// </summary>
        /// <param name="visualElement">Anchor element</param>
        /// <param name="message">Text of the snackbar</param>
        /// <param name="actionButtonText">Text of the snackbar button</param>
        /// <param name="action">Action of the snackbar button</param>
        /// <param name="duration">Snackbar duration</param>
        /// <returns>True if snackbar action is executed. False if snackbar is closed by timeout</returns>
        public static async Task <bool> DisplaySnackBarAsync(this VisualElement visualElement, string message, string actionButtonText, Func <Task> action, TimeSpan?duration = null)
        {
            _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement));

            var messageOptions = new MessageOptions {
                Message = message
            };
            var actionOptions = new List <SnackBarActionOptions>
            {
                new ()
                {
                    Text = actionButtonText, Action = action
                }
            };
            var options = new SnackBarOptions
            {
                MessageOptions = messageOptions,
                Duration       = duration ?? TimeSpan.FromSeconds(3),
                Actions        = actionOptions,
#if NETSTANDARD1_0
                IsRtl = false,
#else
                IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft,
#endif
            };
            var snackBar = new SnackBar();
            await snackBar.Show(visualElement, options);

            var result = await options.Result.Task;

            return(result);
        }
        public static Task <bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func <Task> action, int durationMilliseconds = 3000)
        {
            var messageOptions = new MessageOptions {
                Message = message
            };
            var actionOptions = new List <SnackBarActionOptions>
            {
                new SnackBarActionOptions
                {
                    Text = actionButtonText, Action = action
                }
            };
            var options = new SnackBarOptions
            {
                MessageOptions = messageOptions,
                Duration       = TimeSpan.FromMilliseconds(durationMilliseconds),
                Actions        = actionOptions,
#if NETSTANDARD1_0
                IsRtl = false,
#else
                IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft,
#endif
            };
            var snackBar = new SnackBar();

            snackBar.Show(page, options);
            return(options.Result.Task);
        }
        public override Widget build(BuildContext context)
        {
            TextStyle textStyle = Theme.of(context).textTheme.display1;

            return(new Card(
                       color: Colors.white,
                       child: new Center(
                           child: new Column(
                               mainAxisSize: MainAxisSize.min,
                               crossAxisAlignment: CrossAxisAlignment.center,
                               children: new List <Widget> {
                new Icon(this.choice.icon, size: 128.0f, color: textStyle.color),
                new RaisedButton(
                    child: new Text(this.choice.title, style: textStyle),
                    onPressed: () => {
                    SnackBar snackBar = new SnackBar(
                        content: new Text(this.choice.title + " is chosen !"),
                        action: new SnackBarAction(
                            label: "Ok",
                            onPressed: () => { }));

                    Scaffold.of(context).showSnackBar(snackBar);
                })
            }
                               )
                           )
                       ));
        }
        public static Task <bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions)
        {
            var snackBar  = new SnackBar();
            var arguments = snackBarOptions ?? new SnackBarOptions();

            snackBar.Show(page, arguments);
            return(arguments.Result.Task);
        }
        public static Task <bool> DisplaySnackbar(this Page page, string message, int duration = 3000, string actionButtonText = null, Func <Task> action = null)
        {
            var args     = new SnackbarArguments(message, duration, actionButtonText, action);
            var snackBar = new SnackBar();

            snackBar.Show(page, args);
            return(args.Result.Task);
        }
        public static Task <bool> DisplayToastAsync(this Page page, ActionOptions actionOptions)
        {
            var snackBar  = new SnackBar();
            var arguments = actionOptions ?? new ActionOptions();
            var options   = new SnackBarOptions(arguments.MessageOptions, arguments.Duration, arguments.BackgroundColor, arguments.IsRtl, null);

            snackBar.Show(page, options);
            return(options.Result.Task);
        }
Exemplo n.º 10
0
        public void AddUnit(int unitId)
        {
            Unit unit = Units.First(u => u.UnitId == unitId);

            MyUnits.Add(new UserUnit {
                UnitId = unit.UnitId, HitPoints = unit.HitPoints
            });
            SnackBar.Add($"Unit:{unit.Title} Added Successfully!", Severity.Success);
        }
            public void OnClick(View v)
            {
                SnackBar snack = new SnackBar(activity, "Do you want change color of this button to red?", "yes", delegate
                {
                    ButtonFlat btn = (ButtonFlat)activity.FindViewById(Resource.Id.buttonSnackBar);
                    btn.SetTextColor(Color.Red);
                });

                snack.Show();
            }
        public static Task <bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions)
        {
            _ = page ?? throw new ArgumentNullException(nameof(page));

            var snackBar  = new SnackBar();
            var arguments = snackBarOptions ?? new SnackBarOptions();

            snackBar.Show(page, arguments);
            return(arguments.Result.Task);
        }
Exemplo n.º 13
0
        /// <summary>
        /// Display snackbar with custom configuration
        /// </summary>
        /// <param name="visualElement">Snackbar anchor</param>
        /// <param name="snackBarOptions">Snackbar options</param>
        /// <returns>True if snackbar action is executed. False if snackbar is closed by timeout</returns>
        public static async Task <bool> DisplaySnackBarAsync(this VisualElement visualElement, SnackBarOptions snackBarOptions)
        {
            _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement));

            var snackBar = new SnackBar();
            await snackBar.Show(visualElement, snackBarOptions);

            var result = await snackBarOptions.Result.Task;

            return(result);
        }
Exemplo n.º 14
0
 public void SendMessage(string message, SnackBar snackBar)
 {
     if (snackBar == _northSnackBar)
     {
         _southSnackBar.Notify(message);
     }
     else
     {
         _northSnackBar.Notify(message);
     }
 }
Exemplo n.º 15
0
        private void UserLogin(IHavePassword parameter)
        {
            Task.Run(() =>
            {
                if (IsVisitorLogin == true)//游客登录
                {
                    Applicate.URLDATA.data.apiUrl = ConfigurationUtil.GetValue("InitialServer") + "/";
                    VisitorKey = ConfigurationUtil.GetValue("InitialServer_key");

                    int index  = VisitorKey.LastIndexOf("?");
                    VisitorKey = VisitorKey.Substring(index + 1);

                    int index2 = VisitorKey.LastIndexOf("=");
                    VisitorKey = VisitorKey.Substring(index2 + 1);
                    VisitorLogin();
                    return;
                }

                //接收用户名和密码
                string password;
                if (IsRememberPwd &&
                    TruePasswordWhenRemembered != null &&
                    !IsCancelRememberPwdAndTextNewPwd)     //如果当前处于记住有效密码 且 不为加载密码后重新输入的密码
                {
                    password = TruePasswordWhenRemembered; //使用数据库密码
                    //parameter.LoginSecurePassword = TruePasswordWhenRemembered.ToSecureString();
                }
                else//没记住密码 或
                {
                    password = parameter.LoginSecurePassword.UnSecure();//使用文本框内密码
                }
                EnabledLogin = false;//暂时禁用登录
                //获取经纬度
                string Longitude = "0";
                string Latitude  = "0";
                if (Location.IsUnknown != true)
                {
                    Longitude = Location.Longitude.ToString();
                    Latitude  = Location.Latitude.ToString();
                }
                try
                {
                    var client = ShiKuManager.ShiKuLogin(UserId, password, Latitude, Longitude, GobalAreaList[SelectedCountryCode].prefix.ToString());
                    client.UploadDataCompleted += LoginComplete;
                }
                catch (Exception ex)
                {
                    SnackBar.Enqueue("登录失败:" + ex.Message, "重试", () => { LoginCommand.Execute(Applicate.GetWindow <IHavePassword>()); });
                    Console.WriteLine("登录失败:" + ex.Message);
                    EnabledLogin = true;//启用登录
                }
            });
        }
Exemplo n.º 16
0
 /// <summary>
 /// 注册成功
 /// </summary>
 /// <param name="sender">Client</param>
 /// <param name="e"></param>
 private void RegisterComplete(object sender, UploadDataCompletedEventArgs e)
 {
     Task.Run(() =>
     {
         if (e.Error == null)
         {
             string result = Encoding.UTF8.GetString(e.Result);
             var resuser   = JsonConvert.DeserializeObject <RegisterModel>(result);
             Task.Run(() =>
             {
                 var client = ShiKuManager.UploadAvator(resuser.Data.userId, UploadfilePath);
                 client.UploadDataCompleted += (sen, eve) =>
                 {
                     if (eve.Error == null)
                     {
                         string restxt = Encoding.UTF8.GetString(eve.Result);
                         var resavator = JsonConvert.DeserializeObject <JsonBase>(restxt);
                         if (resavator.resultCode == 1)
                         {
                             App.Current.Dispatcher.Invoke(() =>
                             {
                                 LoginPageIndex = 0;
                                 SnackBar.Enqueue("注册成功");
                                 UserId = PhoneNumber;
                                 InitialRegisterProperties();//重置注册页面
                                 EnabledRegister = true;
                             });
                         }
                         else
                         {
                             SnackBar.Enqueue(resuser.resultMsg, true);                        //提示错误信息
                             App.Current.Dispatcher.Invoke(() => { EnabledRegister = true; }); //启用注册
                         }
                     }
                     else
                     {
                         SnackBar.Enqueue(eve.Error.Message);
                         App.Current.Dispatcher.Invoke(() => { EnabledRegister = true; });//启用注册
                     }
                 };
             });
         }
         else
         {
             SnackBar.Enqueue("注册失败:" + e.Error.Message);
             App.Current.Dispatcher.Invoke(() =>
             {
                 EnabledRegister = true;
             });
             ConsoleLog.Output("注册失败:" + e.Error.Message);
         }
     });
 }
Exemplo n.º 17
0
        public static async Task <bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions)
        {
            _ = page ?? throw new ArgumentNullException(nameof(page));

            var snackBar = new SnackBar();
            var options  = snackBarOptions ?? new SnackBarOptions();
            await snackBar.Show(page, options);

            var isButtonClicked = await options.Result.Task;

            return(isButtonClicked);
        }
Exemplo n.º 18
0
 public void ShowToast(string message) =>
 Device.InvokeOnMainThreadAsync(() =>
 {
     var snackbar = new SnackBar
     {
         Message         = message,
         LeftMargin      = 25f,
         RightMargin     = 25f,
         BottomMargin    = 25f,
         BackgroundColor = Color.Gray.ToUIColor(),
         Duration        = TimeSpan.FromSeconds(3),
         AnimationType   = SnackbarAnimationType.FadeInFadeOut
     };
     snackbar.Show();
 });
        public static Task DisplayToastAsync(this Page page, ToastOptions toastOptions)
        {
            var snackBar  = new SnackBar();
            var arguments = toastOptions ?? new ToastOptions();
            var options   = new SnackBarOptions
            {
                MessageOptions  = arguments.MessageOptions,
                Duration        = arguments.Duration,
                BackgroundColor = arguments.BackgroundColor,
                IsRtl           = arguments.IsRtl
            };

            snackBar.Show(page, options);
            return(options.Result.Task);
        }
 private void ShowSnackMethod(object obj)
 {
     SnackBar.Show(new Snack()
     {
         Duration        = 10000,
         Background      = Color.FromHex("#DF8049"),
         TextColor       = Color.White,
         ActionTextColor = Color.White,
         Text            = "Excellent Work!!",
         ActionText      = "Ok",
         Action          = (aobj) =>
         {
             SnackBar.Close();
         }
     });
 }
Exemplo n.º 21
0
        /// <summary>
        /// Display toast with the custom options
        /// </summary>
        /// <param name="visualElement">Toast anchor</param>
        /// <param name="toastOptions">Toast options</param>
        /// <returns>Task</returns>
        public static async Task DisplayToastAsync(this VisualElement visualElement, ToastOptions toastOptions)
        {
            _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement));

            var snackBar = new SnackBar();
            var options  = new SnackBarOptions
            {
                MessageOptions  = toastOptions.MessageOptions,
                Duration        = toastOptions.Duration,
                BackgroundColor = toastOptions.BackgroundColor,
                IsRtl           = toastOptions.IsRtl
            };

            await snackBar.Show(visualElement, options);

            await options.Result.Task;
        }
Exemplo n.º 22
0
        /// <summary>
        /// 用户注册
        /// </summary>
        /// <param name="parameter">包含密码的Login对象</param>
        private void UserRegisterAccount(IHavePassword parameter)
        {
            if (UploadfilePath == null)
            {
                SnackBar.Enqueue("请选择头像!");
                return;
            }
            if (rNickname == null || rNickname.Trim() == "")
            {
                SnackBar.Enqueue("昵称不能为空!");
                return;
            }
            if (parameter.FirstRegisterSecurePassword.UnSecure().Length < 6)
            {
                SnackBar.Enqueue("密码长度不能小于6位!");
                return;
            }
            if (parameter.FirstRegisterSecurePassword.UnSecure() != parameter.FinalRegisterSecurePassword.UnSecure())
            {
                SnackBar.Enqueue("两次输入密码不一致!");
                return;
            }

            /*
             * else if (string.IsNullOrEmpty(AvatorPath))
             * {
             *  SnackBar.Enqueue("请选择需要上传的头像!");
             *  return;
             * }
             */

            HttpClient client = APIHelper.RegisterAccountAsync(
                PhoneNumber, GobalAreaList[RSelectedCountryCode].prefix.ToString(),
                parameter.FinalRegisterSecurePassword.UnSecure(),
                RNickname,
                gender,
                Helpers.DatetimeToStamp(BornDate),
                SelectedCountry,
                SelectedProvince,
                SelectedCity,
                SelectedArea);

            EnabledRegister = false;//暂时禁用控件
            //指定注册成功事件
            client.UploadDataCompleted += RegisterComplete;
        }
Exemplo n.º 23
0
        public static async Task DisplayToastAsync(this Page page, ToastOptions toastOptions)
        {
            _ = page ?? throw new ArgumentNullException(nameof(page));

            var snackBar  = new SnackBar();
            var arguments = toastOptions ?? new ToastOptions();
            var options   = new SnackBarOptions
            {
                MessageOptions  = arguments.MessageOptions,
                Duration        = arguments.Duration,
                BackgroundColor = arguments.BackgroundColor,
                IsRtl           = arguments.IsRtl
            };
            await snackBar.Show(page, options);

            await options.Result.Task;
        }
Exemplo n.º 24
0
        private void toggleUndoDeletion(bool show)
        {
            if (snackBar != null)
            {
                snackBar.Hide();
                snackBar = null;
            }

            if (!show)
            {
                return;
            }

            snackBar = SnackBar.Factory.CreateUndoSnackBar(
                onUndo: () => ViewModel.TimeEntriesViewModel.CancelDeleteTimeEntry.Execute(Unit.Default));

            snackBar.SnackBottomAnchor = StartTimeEntryButton.TopAnchor;
            snackBar.Show(superView: View);
        }
        public static Task DisplayToastAsync(this Page page, string message, int durationMilliseconds = 3000)
        {
            var messageOptions = new MessageOptions {
                Message = message
            };
            var args = new SnackBarOptions
            {
                MessageOptions = messageOptions,
                Duration       = TimeSpan.FromMilliseconds(durationMilliseconds),
#if NETSTANDARD1_0
                IsRtl = false,
#else
                IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft,
#endif
            };
            var snackBar = new SnackBar();

            snackBar.Show(page, args);
            return(args.Result.Task);
        }
Exemplo n.º 26
0
 private void LoginComplete(object sender, UploadDataCompletedEventArgs e)
 {
     if (e.Error == null)//网络正常
     {
         string res      = Encoding.UTF8.GetString(e.Result);
         var    curruser = JsonConvert.DeserializeObject <Jsonuser>(res); //获取登录用户详情
         var    client   = (HttpClient)sender;
         string pwd      = client.Tag3.ToString();                        //获取密码
         if (curruser != null && curruser.resultCode == 1)
         {
             Task.Run(() =>
             {
                 var dblocalUser           = new LocalUser();                       //保存最近消息
                 dblocalUser.LastLoginTime = Helpers.DatetimeToStamp(DateTime.Now); //记录登录时间
                 dblocalUser.Telephone     = UserId;                                //电话号码
                 dblocalUser.UserId        = curruser.data.userId;                  //UserId
                 if (IsRememberPwd)                                                 //如果选中记住密码(保存密文密码到数据库)
                 {
                     dblocalUser.Password       = pwd;                              //存储密码
                     dblocalUser.PasswordLength = pwd.Length;                       //密码长度
                 }
                 dblocalUser.InsertOrUpdatePassword();                              //写入数据库
                 //成功后关闭登录
                 Messenger.Default.Send(true, Login.CloseWindow);
             });
         }
         else
         {
             //如ResultCode不为1的话,就输出错误信息,,,,,,并在界面给予提示
             SnackBar.Enqueue(curruser.resultMsg, true);
             EnabledLogin = true;//失败后启用登录按-钮
         }
     }
     else//网络错误
     {
         var error = e.Error as WebException;
         SnackBar.Enqueue("登录失败!\n" + error.Message, false);
         EnabledLogin = true;//失败后启用登录按钮
     }
 }
Exemplo n.º 27
0
        public ControllerPage()
        {
            NavigationPage.SetHasNavigationBar(this, false);
            _DefaultLayout           = new AbsoluteLayout();
            _ConnectionStateSnackBar = new SnackBar();
            _ConnectionManager       = DependencyService.Get <IConnectionManager>();

            if (_ConnectionManager.ControllerConnection == null || _ConnectionManager.ControllerConnection.ConnectionEstablishState == ConnectionEstablishState.Created)
            {
                _ConnectionStateSnackBar.BarType = BarType.Error;
            }
            else if (_ConnectionManager.ControllerConnection.ConnectionEstablishState == ConnectionEstablishState.Connecting)
            {
                _ConnectionStateSnackBar.BarType = BarType.Warning;
            }
            else if (_ConnectionManager.ControllerConnection.ConnectionEstablishState == ConnectionEstablishState.Succeeded)
            {
                _ConnectionStateSnackBar.IsVisible = false;
            }
            Content = _DefaultLayout;
            _DefaultLayout.Children.Add(_ConnectionStateSnackBar);
        }
Exemplo n.º 28
0
        /// <summary>
        /// Display toast with the default visual configuration
        /// </summary>
        /// <param name="visualElement">Toast anchor</param>
        /// <param name="message">Toast text</param>
        /// <param name="durationMilliseconds">Toast duration (milliseconds)</param>
        /// <returns>Task</returns>
        public static async Task DisplayToastAsync(this VisualElement visualElement, string message, int durationMilliseconds = 3000)
        {
            _ = visualElement ?? throw new ArgumentNullException(nameof(visualElement));

            var messageOptions = new MessageOptions {
                Message = message
            };
            var args = new SnackBarOptions
            {
                MessageOptions = messageOptions,
                Duration       = TimeSpan.FromMilliseconds(durationMilliseconds),
#if NETSTANDARD1_0
                IsRtl = false,
#else
                IsRtl = CultureInfo.CurrentCulture.TextInfo.IsRightToLeft,
#endif
            };
            var snackBar = new SnackBar();
            await snackBar.Show(visualElement, args);

            await args.Result.Task;
        }
Exemplo n.º 29
0
        /// <summary>
        /// 游客登录
        /// </summary>
        private void VisitorLogin()
        {
            //获取经纬度
            string Longitude = "0";
            string Latitude  = "0";

            if (Location.IsUnknown != true)
            {
                Longitude = Location.Longitude.ToString();
                Latitude  = Location.Latitude.ToString();
            }
            try
            {
                var client = ShiKuManager.ShiKuVisitorLogin(VisitorKey, Latitude, Longitude);
                client.UploadDataCompleted += VisitorLoginComplete;
            }
            catch (Exception ex)
            {
                SnackBar.Enqueue("登录失败:" + ex.Message, "重试", () => { LoginCommand.Execute(Applicate.GetWindow <IHavePassword>()); });
                Console.WriteLine("登录失败:" + ex.Message);
                EnabledLogin = true;//启用登录
            }
        }
Exemplo n.º 30
0
        private void toggleUndoDeletion(int?numberOfTimeEntriesPendingDeletion)
        {
            if (snackBar != null)
            {
                snackBar.Hide();
                snackBar = null;
            }

            if (!numberOfTimeEntriesPendingDeletion.HasValue)
            {
                return;
            }

            var undoText = numberOfTimeEntriesPendingDeletion > 1
                ? String.Format(Resources.MultipleEntriesDeleted, numberOfTimeEntriesPendingDeletion)
                : Resources.EntryDeleted;

            snackBar = SnackBar.Factory.CreateUndoSnackBar(
                onUndo: () => ViewModel.TimeEntriesViewModel.CancelDeleteTimeEntry.Execute(Unit.Default),
                text: undoText);

            snackBar.SnackBottomAnchor = StartTimeEntryButton.TopAnchor;
            snackBar.Show(superView: View);
        }