Esempio n. 1
0
    private void OnSelectAvatar()
    {
        UStaticWebRequests.DoSelectAvatar(UILogin.CachedUsername, UILogin.token
                                          , (jsel) =>
        {
            OnUnloadThis();

            URemoteData.OnReceiveAvatarData(jsel["avatar"].ToString());
            LoadAnotherUI <UIMain>();
        }, (err) =>
        {
            if (err == "3")
            {
                OnUnloadThis();

                LoadAnotherUI <UICreateAvatar>();
            }
            else
            {
                UIAlert.Show("选择角色失败," + err);
            }
        }, (err) =>
        {
            UIAlert.Show("选择角色失败," + err);
        });
    }
Esempio n. 2
0
    public IEnumerator ShowPopup(string title, string message, string[] buttons, System.Action <string> pressed)
    {
        HideSpinner();

        this._buttonPressed = "none";
        if (buttons.Length > 2)
        {
            Debug.LogWarning("UIPopup.ShowPopup can only show 2 buttons.", gameObject);
            yield return(null);
        }
                #if UNITY_IOS && !UNITY_EDITOR
        EtceteraBinding.showAlertWithTitleMessageAndButtons(title, message, buttons);
                #elif UNITY_ANDROID && !UNITY_EDITOR
        if (buttons.Length < 2)
        {
            EtceteraAndroid.showAlert(title, message, buttons[0]);
        }
        else
        {
            EtceteraAndroid.showAlert(title, message, buttons[0], buttons[1]);
        }
                #else
        cam.enabled = true;
        customAlert.Show(title, message, buttons);
                #endif
        while (this._buttonPressed == "none")
        {
            yield return(new WaitForEndOfFrame());
        }

        pressed(_buttonPressed);
    }
Esempio n. 3
0
    public void SaveAndGo()
    {
        if (GameObject.Find("Name").GetComponentInChildren <UIInput>().value == string.Empty)
        {
            UIAlert a = UIAlert.create("Need Player Name", "Please input player's name.");
            a.padding = new Vector2(10f, 10f);
            a.Add <UIButton>("UIAlert-Button-Template").onClick.Add(new EventDelegate(() => a.Close(true)));
            a.Show();
            return;
        }
        //GameObject.Find("Name").GetComponentInChildren<UIInput>().Submit();
        //UILabel[] attrs = GameObject.Find("RerollBtn").GetComponent<GetRandomAttr>().attrs;
        //for (int i = 0; i < attrs.Length; i++)
        //{
        //    attrs[i].GetComponent<LabelSaveAs>().Save();
        //}
        Status s = new Status();

        s.name        = GameObject.Find("Name").GetComponentInChildren <UIInput>().value;
        s.level       = 1;
        s.curExp      = 0;
        s.expToLevel  = 100;
        s.maxHp       = s.curHp = 100;
        s.strength    = int.Parse(GameObject.Find("strValue").GetComponent <UILabel>().text);
        s.agility     = int.Parse(GameObject.Find("agiValue").GetComponent <UILabel>().text);
        s.intelligent = int.Parse(GameObject.Find("intValue").GetComponent <UILabel>().text);
        s.Save();
        SceneManager.LoadScene("InVilleage");
    }
Esempio n. 4
0
    public void Focus()
    {
        UIAlert.CloseAll(true);
        UIAlert alert1 = UIAlert.create("Alert 1", this.message);

        alert1.padding = new Vector2(10.0f, 10.0f);
        alert1.Add <UIButton>("UIAlert-Button-Template").onClick.Add(new EventDelegate(() => {
            alert1.Close(true);
        }));
        alert1.Show(new Vector2(-200.0f, 0.0f));

        UIAlert alert2 = UIAlert.create("Focused Alert", this.message);

        alert2.padding = new Vector2(10.0f, 10.0f);

        alert2.Add <UIButton>("UIAlert-Button-Template").onClick.Add(new EventDelegate(() => {
            alert2.Close(true);
        }));

        alert2.Add <UIButton>("UIAlert-Button-Template").onClick.Add(new EventDelegate(() => {
            alert2.Close(true);
        }));

        alert2.Show(new Vector2(200.0f, 0.0f));
    }
Esempio n. 5
0
    private void OnSelectAvatar()
    {
        UStaticWebRequests.DoSelectAvatar(UILogin.CachedUsername, UILogin.token
                                          , (Action <JObject>)((jsel) =>
        {
            base.OnUnloadThis();

            URemoteData.OnReceiveAvatarData(jsel["avatar"].ToString());
            AHotBase.LoadUI <UIMain>();
        }), (Action <string>)((err) =>
        {
            if (err == "3")
            {
                base.OnUnloadThis();

                AHotBase.LoadUI <UICreateAvatar>();
            }
            else
            {
                UIAlert.Show("选择角色失败," + err);
            }
        }), (err) =>
        {
            UIAlert.Show("选择角色失败," + err);
        });
    }
Esempio n. 6
0
    protected override void InitComponents()
    {
        UStaticWebRequests.DoSelectAvatar(UILogin.CachedUsername, UILogin.token
                                          , (jres) =>
        {
            var data = new UMRemoteAvatarData();
            data.OnFormat(jres);
            UMRemoteDataManager.Instance.OnAdd(data);

            UnloadThis();
            LoadAnother <UMUIMain>();
        }, (err) =>
        {
            if (err == "3")
            {
                UnloadThis();
                LoadAnother <UMUICreateAvatar>();
            }
            else
            {
                UIAlert.Show("选择角色失败," + err);
            }
        }, (err) =>
        {
            UIAlert.Show("选择角色失败," + err);
        });
    }
Esempio n. 7
0
    protected override void InitComponents()
    {
        FindWidget <Text>("textAvatarname").text = URemoteData.AvatarName;
        FindWidget <Text>("textLevel").text      = URemoteData.AvatarLevel;

        expProgress  = FindWidget <Image>("expProgress");
        textExp      = FindWidget <Text>("textExp");
        textExp.text = "";

        inputAnswer = FindWidget <InputField>("inputAnswer");

        btnGetQuestion = FindWidget <Button>("btnGetQuestion");
        btnGetQuestion.onClick.AddListener(() =>
        {
            btnGetQuestion.gameObject.SetActive(false);
            UStaticWebRequests.OnWebRequest("Question/GetOne", "username="******"&token=" + UILogin.token, jobj =>
            {
                ShowWidget("question", true);
                FindWidget <Text>("textQuestion").text = jobj["q"].ToString();
            },
                                            jfail =>
            {
                ShowWidget("question", false);
                btnGetQuestion.gameObject.SetActive(true);
            });
        });

        ShowWidget("question", false);
        btnAnswer = FindWidget <Button>("btnAnswer");
        btnAnswer.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputAnswer.text))
            {
                return;
            }
            UStaticWebRequests.OnWebRequest("Question/Answer", "username="******"&token=" + UILogin.token + "&answer=" + inputAnswer.text, jobj =>
            {
                if (jobj.ContainsKey("avatar"))
                {
                    ShowWidget("question", false);
                    URemoteData.OnReceiveAvatarData(jobj["avatar"].ToString());
                    UIAlert.Show("回答正确!");
                    btnGetQuestion.gameObject.SetActive(true);
                }
                else
                {
                    UIAlert.Show("回答错误,再好好想想吧。");
                }
            },
                                            jfail =>
            {
                UIAlert.Show("回答错误,再好好想想吧。");
            });
        });

        URemoteData.ListeningParam(InfoNameDefs.CurExp, ShowCurExp);
        URemoteData.ListeningParam(InfoNameDefs.MaxExp, ShowCurExp);
        ShowCurExp();
    }
Esempio n. 8
0
    protected override void InitComponents()
    {
        var inputUsername = FindWidget <InputField>("inputUsername");

        if (!string.IsNullOrEmpty(CachedUsername))
        {
            inputUsername.text = CachedUsername;
        }

        var inputPassword = FindWidget <InputField>("inputPassword");
        var btnLogin      = FindWidget <Button>("btnLogin");

        btnLogin.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputUsername.text))
            {
                return;
            }
            if (string.IsNullOrEmpty(inputPassword.text))
            {
                return;
            }
            btnLogin.enabled = false;
            var username     = inputUsername.text;
            var password     = inputPassword.text;

            UStaticWebRequests.DoLogin(username, Utils.MD5Hash(password),
                                       (jres) =>
            {
                btnLogin.enabled = true;
                CachedUsername   = jres["username"].ToString();
                token            = jres["token"].ToString();

                UnloadThis();
                LoadAnother <UIMain>();
            }
                                       , (err) =>
            {
                btnLogin.enabled = true;
                UIAlert.Show("登录失败," + err);
            }
                                       , (error) =>
            {
                btnLogin.enabled = true;
                UIAlert.Show("登录失败,网络错误:" + error);
            });
        });
        var btnRegister = FindWidget <Button>("btnRegister");

        btnRegister.onClick.AddListener(() =>
        {
            UnloadThis();

            LoadAnother <UIRegister>();
        });
    }
Esempio n. 9
0
    private void OnResult(string obj)
    {
        var jobj  = JsonConvert.DeserializeObject(obj) as JObject;
        var loser = jobj["loser"].ToString();

        if (loser != UILogin.CachedUsername)
        {
            UIAlert.Show("你赢了。", OnClearRoom, null, true);
        }
        else
        {
            UIAlert.Show("你输了。", OnClearRoom, null, true);
        }
    }
 public void OnFormat(JObject jres)
 {
     if (jres != null)
     {
         if (jres.ContainsKey("err") && jres["err"].ToString() == "0")
         {
             JsonFormate(jres);
         }
         else if (jres.ContainsKey("err") && jres["err"].ToString() != "0")
         {
             UIAlert.Show("解析Json结果出错:" + jres["err"]);
         }
     }
 }
    protected override void InitComponents()
    {
        var tr = FindWidget <Transform>("expBg");

        expSlider = new WExpSlider();
        expSlider.SetGameObj(tr.gameObject);

        btnReturn = FindWidget <Button>("btnReturn");
        btnReturn.onClick.AddListener(() =>
        {
            OnUnloadThis();

            LoadAnotherUI <UIMain>();
        });

        textNovel      = FindWidget <Text>("textNovel");
        textNovel.text = GetCurPage();

        btnLeft = FindWidget <Button>("btnLeft");
        btnLeft.gameObject.SetActive(iCurPage > 0);
        btnLeft.onClick.AddListener(() =>
        {
            var c = Novels.GetContent(iCurSection, iCurPage - 1);
            if (c == null)
            {
                UIAlert.Show("已到达本章第一页。");
                btnLeft.gameObject.SetActive(true);
                return;
            }
            textNovel.text = c;
            iCurPage--;
            btnRight.gameObject.SetActive(true);
        });
        btnRight = FindWidget <Button>("btnRight");
        btnRight.gameObject.SetActive(!Novels.IsLastPage(iCurSection, iCurPage));
        btnRight.onClick.AddListener(() =>
        {
            var c = Novels.GetContent(iCurSection, iCurPage + 1);
            if (c == null)
            {
                UIAlert.Show("已到达本章最后一页。");
                btnRight.gameObject.SetActive(false);
                return;
            }
            textNovel.text = c;
            iCurPage++;
            btnLeft.gameObject.SetActive(true);
        });
    }
Esempio n. 12
0
    public void Show(int buttons, UIAlert.Layout layout = UIAlert.Layout.HORIZONTAL)
    {
        UIAlert.CloseAll(true);
        UIAlert alert = UIAlert.create(this.title, this.message, layout);

        alert.padding = new Vector2(10.0f, 10.0f);

        for (int i = 0; i < buttons; i++)
        {
            alert.Add <UIButton>("UIAlert-Button-Template").onClick.Add(new EventDelegate(() => {
                alert.Close(true);
            }));
        }

        alert.Show();
    }
Esempio n. 13
0
    public void Formular()
    {
        UIAlert.CloseAll(true);
        UIAlert alert = UIAlert.create(this.title, this.message, UIAlert.Layout.VERTICAL);

        alert.padding = new Vector2(10.0f, 10.0f);

        for (int i = 0; i < 3; i++)
        {
            alert.Add <UIInput>("UIAlert-Input-Template");
        }

        alert.Add <UIButton>("UIAlert-Button-Template").onClick.Add(new EventDelegate(() => {
            alert.Close(true);
        }));

        alert.Show();
    }
Esempio n. 14
0
 protected override void InitComponents()
 {
     UICommonWait.Show();
     WebSocketConnector.Instance.OnInit(Utils.WebSocketURL + "username="******"&token=" + UILogin.token
                                        , (openEvt) =>
     {
         UICommonWait.Hide();
         LoadAnotherUI <UMUIMain>();
     }, (msgEvt) =>
     {
     }, (errorEvt) =>
     {
         UIAlert.Show("WSError:" + errorEvt.Message);
     }, (closeMsg) =>
     {
         UICommonWait.Hide();
     });
 }
Esempio n. 15
0
    protected override void InitComponents()
    {
        var textUsername = FindWidget <Text>("textUsername");

        textUsername.text = UILogin.CachedUsername;

        menuCell = FindWidget <Button>("menuCell");
        menuCell.gameObject.SetActive(false);

        var btnLogout = FindWidget <Button>("btnLogout");

        btnLogout.onClick.AddListener(() =>
        {
            UWebSender.Instance.OnRequest(Utils.BaseURL + "accountlogout"
                                          , "username="******"&token=" + UILogin.token, (res) =>
            {
                var jres = (JObject)JsonConvert.DeserializeObject(res);
                var err  = jres["err"].ToString();
                if (err == "0")
                {
                    UnloadThis();
                    LoadAnother <UILogin>();
                }
                else
                {
                    UIAlert.Show("注销失败:" + Utils.ErrorFormat(err));
                }
            }, (fail) =>
            {
                UIAlert.Show("web error:" + fail);
            });
        });

        var menu = GameObject.Instantiate(menuCell, menuCell.transform.parent);

        menu.gameObject.SetActive(true);
        menu.GetComponentInChildren <Text>().text = "孤独的世界";
        menu.onClick.AddListener(() =>
        {
            UnloadThis();
            LoadAnother <GameLonelyWorld>();
        });
    }
Esempio n. 16
0
    protected override void InitComponents()
    {
        var textUsername = FindWidget <Text>("textUsername");

        textUsername.text = UILogin.CachedUsername;

        var menuCell = FindWidget <Button>("menuCell");

        menuCell.gameObject.SetActive(false);

        var btnLogout = FindWidget <Button>("btnLogout");

        btnLogout.onClick.AddListener(() =>
        {
            UStaticWebRequests.DoLogout(UILogin.CachedUsername, UILogin.token
                                        , (jres) =>
            {
                UnloadThis();
                LoadAnother <UILogin>();
            }, (err) =>
            {
                UIAlert.Show("注销失败:" + Utils.ErrorFormat(err));
            }, (err) =>
            {
                UIAlert.Show("web error:" + err);
            });
        });

        foreach (var g in dGames)
        {
            var menu = GameObject.Instantiate(menuCell, menuCell.transform.parent);
            menu.gameObject.SetActive(true);
            menu.GetComponentInChildren <Text>().text = g.Key;
            menu.onClick.AddListener(() =>
            {
                UnloadThis();
                g.Value();
            });
        }
    }
    protected override void InitComponents()
    {
        btnDailyCheck = FindWidget <Button>("btnDailyCheck");
        btnDailyCheck.onClick.AddListener(() =>
        {
            AClientApis.OnDailyCheck();
        });

        var textUsername = FindWidget <Text>("textUsername");

        textUsername.text = CakeClient.GetCake("pinfo", CakeAvatar.myID).GetStringValue(ParamNameDefs.AvatarName);
        textGold          = FindWidget <Text>("textGold");
        textGold.text     = "0";
        textDiamond       = FindWidget <Text>("textDiamond");
        textDiamond.text  = "0";

        var btnLogout = FindWidget <Button>("btnLogout");

        btnLogout.onClick.AddListener(() =>
        {
            AClientApp.OnDisconnect();
            OnUnloadThis();
            LoadAnotherUI <UIMinerLogin>();
        });

        var btnPay = FindWidget <Button>("btnPay");

        btnPay.onClick.AddListener(() =>
        {
            //AClientApis.OnPay(1);
            AClientApis.OnCreateOrder(1);
        });
        var btnExchange = FindWidget <Button>("btnExchange");

        btnExchange.onClick.AddListener(() =>
        {
            AClientApis.OnExchange(1);
        });

        OnParamUpdateCb(null);
        RegisterEvent(UEvents.ParamUpdate, OnParamUpdateCb);
        RegisterEvent(UEvents.EventCreateOrder, OnCreateOrderCb);

        //var map01 = LoadClass<UMinerMap>("UI/MinerMap/Map01");
        AClientApis.OnGetSdata("");

        OnRegistAction(str =>
        {
            UICommonWait.Hide();
            var astrs = str.Split(' ');
            switch (astrs[0])
            {
            case "ProvideContent":
                UIAlert.Show("ProvideContent " + str);
                break;

            case "FailedTransactions":
                UIAlert.Show("FailedTransactions " + str);
                break;

            case "UpdateTransactions":
                UIAlert.Show("UpdateTransactionss " + str);
                break;
            }
        });
    }
Esempio n. 18
0
    protected override void InitComponents()
    {
        var inputNickname = FindWidget <InputField>("inputNickname");
        var bfemale       = false;
        var btnMale       = FindWidget <Button>("btnMale");
        var maleSel       = FindWidget <Image>(btnMale.transform, "sel");
        var btnFemale     = FindWidget <Button>("btnFemale");
        var femaleSel     = FindWidget <Image>(btnFemale.transform, "sel");

        btnMale.onClick.AddListener(() =>
        {
            bfemale           = false;
            femaleSel.enabled = bfemale;
            maleSel.enabled   = !bfemale;
        });
        btnFemale.onClick.AddListener(() =>
        {
            bfemale           = true;
            femaleSel.enabled = bfemale;
            maleSel.enabled   = !bfemale;
        });
        var btnCreate = FindWidget <Button>("btnCreate");

        btnCreate.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputNickname.text))
            {
                return;
            }

            UStaticWebRequests.DoCreateAvatar(UILogin.CachedUsername, UILogin.token, inputNickname.text, bfemale ? "1" : "0"
                                              , (jcreateres) =>
            {
                UIAlert.Show("创建角色成功,正在进入游戏。", null, null, true, true);
                DelayDoSth(() =>
                {
                    UIAlert.Hide();
                    UStaticWebRequests.DoSelectAvatar(UILogin.CachedUsername, UILogin.token
                                                      , (jselres) =>
                    {
                        var data = new UMRemoteAvatarData();
                        data.OnFormat(jselres);
                        UMRemoteDataManager.Instance.OnAdd(data);
                        UnloadThis();

                        LoadAnother <UMUIMain>();
                    }, (err) =>
                    {
                        UIAlert.Show("进入游戏失败," + err);
                    }, (err) =>
                    {
                        UIAlert.Show("进入游戏失败," + err);
                    });
                }, 3);
            }, (err) =>
            {
                UIAlert.Show("创建角色失败," + err);
            }, (err) =>
            {
                UIAlert.Show("创建角色失败," + err);
            });
        });
        var btnReturn = FindWidget <Button>("btnReturn");

        btnReturn.onClick.AddListener(() =>
        {
            UnloadThis();
            LoadAnother <UIMain>();
        });
    }
Esempio n. 19
0
    protected override void InitComponents()
    {
        var btnReturn = FindWidget <Button>("btnReturn");

        btnReturn.onClick.AddListener((UnityEngine.Events.UnityAction)(() =>
        {
            base.OnUnloadThis();

            AHotBase.LoadUI <UILogin>();
        }));

        var inputUsername        = FindWidget <InputField>("inputUsername");
        var inputEmail           = FindWidget <InputField>("inputEmail");
        var inputPassword        = FindWidget <InputField>("inputPassword");
        var inputPasswordConfirm = FindWidget <InputField>("inputPasswordConfirm");
        var btnRegister          = FindWidget <Button>("btnRegister");

        btnRegister.onClick.AddListener((UnityEngine.Events.UnityAction)(() =>
        {
            if (string.IsNullOrEmpty(inputUsername.text) ||
                string.IsNullOrEmpty(inputPassword.text) ||
                string.IsNullOrEmpty(inputEmail.text))
            {
                return;
            }
            if (!inputEmail.text.Contains("@") ||
                !inputEmail.text.Contains(".") ||
                inputEmail.text.IndexOf("@") > inputEmail.text.IndexOf("."))
            {
                UIAlert.Show("请输入合法的邮箱,这将是找回密码的唯一途径。", null, null, true);
                return;
            }
            if (inputUsername.text.Length < 4 || inputUsername.text.Length > 16)
            {
                UIAlert.Show("用户名长度应为4-16个字节。", null, null, true);
                return;
            }
            if (inputPasswordConfirm.text != inputPassword.text)
            {
                UIAlert.Show("两次输入的密码不一致,请重新输入。", null, null, true);
                return;
            }
            if (inputPassword.text.Length < 6 || inputPassword.text.Length > 16)
            {
                UIAlert.Show("密码长度应为6-16个字节。", null, null, true);
                return;
            }
            UStaticWebRequests.DoRegist(inputUsername.text, Utils.MD5Hash(inputPassword.text), inputEmail.text
                                        , (Action <Newtonsoft.Json.Linq.JObject>)((jres) =>
            {
                UIAlert.Show("注册成功,请返回登录界面登录。", (Action)(() =>
                {
                    UILogin.CachedUsername = jres["username"].ToString();

                    base.OnUnloadThis();

                    AHotBase.LoadUI <UILogin>();
                }), null, true);
            })
                                        , (err) =>
            {
                UIAlert.Show("注册失败," + Utils.ErrorFormat(err));
            }
                                        , (failedRes) =>
            {
                UIAlert.Show("网络错误:" + failedRes + " 请稍后再试。");
            });
        }));
    }
Esempio n. 20
0
    protected override void InitComponents()
    {
        var inputUsername = FindWidget <InputField>("inputUsername");

        if (!string.IsNullOrEmpty(CachedUsername))
        {
            inputUsername.text = CachedUsername;
        }

        var inputPassword = FindWidget <InputField>("inputPassword");
        var btnLogin      = FindWidget <Button>("btnLogin");

        btnLogin.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputUsername.text))
            {
                return;
            }
            if (string.IsNullOrEmpty(inputPassword.text))
            {
                return;
            }
            btnLogin.enabled = false;
            var username     = inputUsername.text;
            var password     = inputPassword.text;

            UStaticWebRequests.DoLogin(username, Utils.MD5Hash(password),
                                       (jres) =>
            {
                btnLogin.enabled = true;
                CachedUsername   = jres["username"].ToString();
                token            = jres["token"].ToString();

                UStaticWebRequests.DoSelectAvatar(UILogin.CachedUsername, UILogin.token
                                                  , (jsel) =>
                {
                    var data = new UMRemoteAvatarData();
                    data.OnFormat(jsel);
                    UMRemoteDataManager.Instance.OnAdd(data);

                    UnloadThis();
                    LoadAnother <UIMain>();
                }, (err) =>
                {
                    if (err == "3")
                    {
                        UnloadThis();
                        LoadAnother <UMUICreateAvatar>();
                    }
                    else
                    {
                        UIAlert.Show("选择角色失败," + err);
                    }
                }, (err) =>
                {
                    UIAlert.Show("选择角色失败," + err);
                });
            }
                                       , (err) =>
            {
                btnLogin.enabled = true;
                UIAlert.Show("登录失败," + err);
            }
                                       , (error) =>
            {
                btnLogin.enabled = true;
                UIAlert.Show("登录失败,网络错误:" + error);
            });
        });
        var btnRegister = FindWidget <Button>("btnRegister");

        btnRegister.onClick.AddListener(() =>
        {
            UnloadThis();

            LoadAnother <UIRegister>();
        });
    }
Esempio n. 21
0
 private void OnDismissed(string obj)
 {
     UIAlert.Show("房间已解散。", OnClearRoom, null, true);
 }
Esempio n. 22
0
    protected override void InitComponents()
    {
        textAvatarname      = FindWidget <Text>("textAvatarname");
        textAvatarname.text = URemoteData.AvatarName;

        textGold = FindWidget <Text>("textGold");
        ShowGold();

        btnReturn = FindWidget <Button>("btnReturn");
        btnReturn.onClick.AddListener((UnityEngine.Events.UnityAction)(() =>
        {
            base.OnUnloadThis();

            AHotBase.LoadUI <UIMain>();
        }));

        var bbig       = false;
        var bsmall     = false;
        var bigorsmall = FindWidget <Transform>("bigorsmall");
        var big        = FindWidget <Toggle>(bigorsmall.transform, "big");

        big.onValueChanged.AddListener(value => { bbig = value; });
        var small = FindWidget <Toggle>(bigorsmall.transform, "small");

        small.onValueChanged.AddListener(value => { bsmall = value; });

        var multis   = FindWidget <Transform>("multis");
        var curMulti = 0;

        foreach (var w in ClientValueDefs.CaiDaXiaoMultis)
        {
            var t  = FindWidget <Toggle>(multis, $"m{w}");
            var tw = w;
            t.onValueChanged.AddListener((value) =>
            {
                if (value)
                {
                    curMulti = tw;
                }
                else if (curMulti == tw)
                {
                    curMulti = 0;
                }
            });
        }

        var btnConfirm = FindWidget <Button>("btnConfirm");

        btnConfirm.onClick.AddListener(() =>
        {
            if (!bbig && !bsmall)
            {
                return;
            }
            if (curMulti == 0)
            {
                return;
            }
            UStaticWebRequests.OnWebRequest("Avatar/CaiDaXiao", $"{UILogin.CachedUsernameAndTokenArguments}&multi={curMulti}&isBig={(bbig ? "1" : "0")}", jobj =>
            {
                var res = jobj["res"].ToString();
                UIAlert.Show($"猜大小结果:{res}");
            });
        });

        URemoteData.ListeningParam(InfoNameDefs.AvatarGold, ShowGold);
    }
Esempio n. 23
0
    void CheckNewVersion()
    {
        var newversionkey         = "";
        var newversionmustdownkey = "";
        var newversionurlkey      = "";
        var nvandignorekey        = "";

#if UNITY_IOS
        newversionkey         = "nvios";
        newversionmustdownkey = "nviosm";
        newversionurlkey      = "nviosurl";
#elif UNITY_ANDROID
        newversionkey         = "nvand";
        newversionmustdownkey = "nvandm";
        newversionurlkey      = "nvandurl";
        nvandignorekey        = "nvandignore";
#elif UNITY_STANDALONE
        newversionkey         = "nvwin";
        newversionmustdownkey = "nvwinm";
        newversionurlkey      = "nvwinurl";
#endif
        var remoteVersion = ConfigDownloader.Instance.OnGetValue(newversionkey);
        if (!string.IsNullOrEmpty(remoteVersion))
        {
            if (VersionIsSmall(Utils_Plugins.Util_GetBundleVersion(), remoteVersion))
            {
                var anvandignore       = ConfigDownloader.Instance.OnGetValue(nvandignorekey).Split(',');
                var newversionmustdown = ConfigDownloader.Instance.OnGetIntValue(newversionmustdownkey);
                var newversionurl      = ConfigDownloader.Instance.OnGetValue(newversionurlkey);
                if (anvandignore.Contains(Utils_Plugins.Util_GetBundleVersion()))
                {
                    if (PlayerPrefs.GetString("ignore") == remoteVersion)
                    {
                        ParseConfig(true);
                        return;
                    }
                    UIAlert.Show($"有新版本可更新,本版本({Utils_Plugins.Util_GetBundleVersion()})配置为可忽略更新,点击“确定”按钮更新,点击“取消”按钮跳过版本{remoteVersion}更新。", () =>
                    {
                        Application.OpenURL(newversionurl);
                        Invoke("ShowUIAlert", 0.2f);
                    }, false, false, () =>
                    {
                        PlayerPrefs.SetString("ignore", remoteVersion);
                        ParseConfig(true);
                    }, trUIAlert, true);
                    return;
                }
                if (newversionmustdown == 1)
                {
                    UIAlert.Show(string.Format("发现最新版本{0},本版本有重要更新,请更新后重试。", remoteVersion), () =>
                    {
                        Application.OpenURL(newversionurl);
                        Invoke("ShowUIAlert", 0.2f);
                    }, false, false, () => { Application.Quit(); }, trUIAlert, true);
                }
                else
                {
                    UIAlert.Show(string.Format("发现最新版本{0},是否要更新?", remoteVersion), () =>
                    {
                        Application.OpenURL(newversionurl);
                    }, false, false, () =>
                    {
                        ParseConfig(true);
                    }, trUIAlert);
                }
            }
            else
            {
                ParseConfig(true);
            }
        }
        else
        {
            ParseConfig(true);
        }
    }
Esempio n. 24
0
    protected override void InitComponents()
    {
        var textUsername = FindWidget <Text>("textUsername");

        textUsername.text = URemoteData.AvatarName;
        textGold          = FindWidget <Text>("textGold");
        RefreshGold();

        var menuCell = FindWidget <Button>("menuCell");

        menuCell.gameObject.SetActive(false);

        var btnRank = FindWidget <Button>("btnRank");

        btnRank.onClick.AddListener(() =>
        {
            LoadAnotherUI <UIRank>();
        });

        var btnCheck = FindWidget <Button>("btnCheck");

        btnCheck.onClick.AddListener(() =>
        {
            UStaticWebRequests.OnWebRequest("Avatar/DailyCheck", $"username={UILogin.CachedUsername}&token={UILogin.token}", jobj =>
            {
                URemoteData.OnReceiveAvatarData(jobj["avatar"]);
            });
        });

        var btnLogout = FindWidget <Button>("btnLogout");

        btnLogout.onClick.AddListener(() =>
        {
            UStaticWebRequests.DoLogout(UILogin.CachedUsername, UILogin.token
                                        , (jres) =>
            {
                OnUnloadThis();
                LoadAnotherUI <UILogin>();
            }, (err) =>
            {
                UIAlert.Show("注销失败:" + Utils.ErrorFormat(err));
            }, (err) =>
            {
                UIAlert.Show("web error:" + err);
            });
        });

        foreach (var g in dGames)
        {
            var menu = GameObject.Instantiate(menuCell, menuCell.transform.parent);
            menu.gameObject.SetActive(true);
            menu.GetComponentInChildren <Text>().text = g.Key;
            menu.onClick.AddListener(() =>
            {
                OnUnloadThis();
                g.Value();
            });
        }

        URemoteData.ListeningParam(InfoNameDefs.AvatarGold, RefreshGold);
    }
Esempio n. 25
0
    protected override void InitComponents()
    {
        Cave0 = FindWidget <Transform>("Cave0");
        var actionHandler = new ActionHandler(Cave0.gameObject);

        actionHandler.AddAction(new ActionRun(actionHandler.handler));
        addUpdateAction(() =>
        {
            if (Input.GetMouseButtonDown(0))
            {
                actionHandler.Do <ActionRun>().Play();
            }
            if (Input.GetMouseButtonUp(0))
            {
                actionHandler.Do <ActionRun>().Stop();
            }
            return(false);
        });

        var tr = FindWidget <Transform>("expBg");

        expSlider = new WExpSlider();
        expSlider.SetGameObj(tr.gameObject);

        FindWidget <Text>("textAvatarname").text = URemoteData.AvatarName;
        ShowLevel();

        inputAnswer = FindWidget <InputField>("inputAnswer");

        btnReturn = FindWidget <Button>("btnReturn");
        btnReturn.onClick.AddListener(() =>
        {
            OnUnloadThis();

            LoadAnotherUI <UIMain>();
        });

        btnGetQuestion = FindWidget <Button>("btnGetQuestion");
        btnGetQuestion.onClick.AddListener(() =>
        {
            btnGetQuestion.gameObject.SetActive(false);
            UStaticWebRequests.OnWebRequest("Question/GetOne", "username="******"&token=" + UILogin.token, jobj =>
            {
                ShowWidget("question", true);
                FindWidget <Text>("textQuestion").text = jobj["q"].ToString();
            },
                                            jfail =>
            {
                ShowWidget("question", false);
                btnGetQuestion.gameObject.SetActive(true);
            });
        });

        ShowWidget("question", false);
        btnAnswer = FindWidget <Button>("btnAnswer");
        btnAnswer.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputAnswer.text))
            {
                return;
            }
            UStaticWebRequests.OnWebRequest("Question/Answer", "username="******"&token=" + UILogin.token + "&answer=" + inputAnswer.text, jobj =>
            {
                if (jobj.ContainsKey("avatar"))
                {
                    ShowWidget("question", false);
                    URemoteData.OnReceiveAvatarData(jobj["avatar"].ToString());
                    UIAlert.Show("回答正确!");
                    btnGetQuestion.gameObject.SetActive(true);
                }
                else
                {
                    UIAlert.Show("回答错误,再好好想想吧。");
                }
            },
                                            jfail =>
            {
                UIAlert.Show("回答错误,再好好想想吧。");
            });
        });


        URemoteData.ListeningParam(InfoNameDefs.AvatarLevel, ShowLevel);
    }
Esempio n. 26
0
 //private static object lockObj = new object();
 private void DoGet(string url, Action <Newtonsoft.Json.Linq.JObject> actionResult, Action <string> actionFailed)
 {
     UICommonWait.Show();
     new Thread(new ThreadStart(() =>
     {
         try
         {
             var req    = (HttpWebRequest)HttpWebRequest.Create(url);
             req.Method = "GET";
             using (WebResponse wr = req.GetResponse())
             {
                 var result = new StreamReader(wr.GetResponseStream(), Encoding.UTF8).ReadToEnd();
                 if (string.IsNullOrEmpty(result))
                 {
                     UIAlert.Show($"{url}请求返回空。");
                     return;
                 }
                 Debug.Log($"url {url} result {result}");
                 //lock (lockObj)
                 {
                     callbacksProducing.Add(() =>
                     {
                         //result = FilterResult(result);
                         Debug.Log($"url {url} FilterResult {result.URLDecode()}");
                         var jres = JsonConvert.DeserializeObject(result) as Newtonsoft.Json.Linq.JObject;
                         actionResult?.Invoke(jres);
                     });
                 }
             }
         }
         catch (WebException ex)
         {
             Debug.Log($"web sender WebException:{ex.Message}\r\n{ex.StackTrace}");
             //lock (lockObj)
             {
                 callbacksProducing.Add(() =>
                 {
                     UIAlert.Show($"请求失败:{url} Web崩溃信息:{ex.Message}");
                     if (actionFailed != null)
                     {
                         actionFailed(ex.Message);
                     }
                 });
             }
         }
         catch (Exception ex)
         {
             Debug.Log($"web sender error:{ex.Message}\r\n{ex.StackTrace}");
             //lock (lockObj)
             {
                 callbacksProducing.Add(() =>
                 {
                     UIAlert.Show($"请求失败:{url} 崩溃信息:{ex.Message}");
                     if (actionFailed != null)
                     {
                         actionFailed(ex.Message);
                     }
                 });
             }
         }
     }
                                )).Start();
 }
Esempio n. 27
0
 //private static object lockObj = new object();
 private void DoRequest(string url, string scontent, Action <Newtonsoft.Json.Linq.JObject> actionResult, Action <string> actionFailed, bool bSortArguments, bool bShowCommonWait)
 {
     if (bShowCommonWait)
     {
         UICommonWait.Show();
     }
     new Thread(new ThreadStart(() =>
     {
         try
         {
             var uri = $"{url}?{scontent}";
             Debug.Log($"request {uri}");
             var req    = (HttpWebRequest)HttpWebRequest.Create(uri);
             req.Method = "GET";
             using (WebResponse wr = req.GetResponse())
             {
                 var result = new StreamReader(wr.GetResponseStream(), Encoding.UTF8).ReadToEnd();
                 if (string.IsNullOrEmpty(result))
                 {
                     UIAlert.Show($"{url}请求返回空。");
                     return;
                 }
                 Debug.Log($"url {uri} result {result}");
                 //lock (lockObj)
                 {
                     callbacksProducing.Add(() =>
                     {
                         actionResult(JsonConvert.DeserializeObject(result) as JObject);
                     });
                 }
             }
         }
         catch (WebException ex)
         {
             Debug.Log($"web sender WebException:{ex.Message}\r\n{ex.StackTrace}");
             //lock (lockObj)
             {
                 callbacksProducing.Add(() =>
                 {
                     UIAlert.Show($"请求失败:{url} Web崩溃信息:{ex.Message}");
                     if (actionFailed != null)
                     {
                         actionFailed(ex.Message);
                     }
                 });
             }
         }
         catch (Exception ex)
         {
             Debug.Log($"web sender error:{ex.Message}\r\n{ex.StackTrace}");
             //lock (lockObj)
             {
                 callbacksProducing.Add(() =>
                 {
                     UIAlert.Show($"请求失败:{url} 崩溃信息:{ex.Message}");
                     if (actionFailed != null)
                     {
                         actionFailed(ex.Message);
                     }
                 });
             }
         }
     }
                                )).Start();
 }
Esempio n. 28
0
    protected override void InitComponents()
    {
        var inputUsername = FindWidget <InputField>("inputUsername");

        if (!string.IsNullOrEmpty(CachedUsername))
        {
            inputUsername.text = CachedUsername;
        }

        var inputPassword = FindWidget <InputField>("inputPassword");
        var btnLogin      = FindWidget <Button>("btnLogin");

        btnLogin.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputUsername.text))
            {
                return;
            }
            if (string.IsNullOrEmpty(inputPassword.text))
            {
                return;
            }
            btnLogin.enabled = false;
            var username     = inputUsername.text;
            var password     = inputPassword.text;
            UWebSender.Instance.OnRequest(Utils.BaseURL + "accountlogin"
                                          , string.Format("username={0}&password={1}", username, Utils.MD5Hash(password))
                                          , (result) =>
            {
                btnLogin.enabled = true;

                var jres = (JObject)JsonConvert.DeserializeObject(result);
                var err  = jres["err"].ToString();
                if (err == "0")
                {
                    CachedUsername = jres["username"].ToString();
                    token          = jres["token"].ToString();

                    UnloadThis();
                    LoadAnother <UIMain>();
                }
                else
                {
                    UIAlert.Show("登录失败," + Utils.ErrorFormat(err));
                }
            }
                                          , (error) =>
            {
                btnLogin.enabled = true;
                Debug.Log("web error " + error);
            });
        });
        var btnRegister = FindWidget <Button>("btnRegister");

        btnRegister.onClick.AddListener(() =>
        {
            UnloadThis();

            LoadAnother <UIRegister>();
        });
    }
Esempio n. 29
0
    protected override void InitComponents()
    {
        var BestTime = FindWidget <Text>("BestTime");

        BestTime.text = "";
        var    fBestTime             = 0d;
        Action doReorder             = null;
        Action actionRefreshBestTime = () =>
        {
            BestTime.text = "Best Time:" + fBestTime.ToString("f2");
        };

        var Time = FindWidget <Text>("Time");

        Time.text = "";
        var btnRestart = FindWidget <Button>("btnRestart");

        btnRestart.gameObject.SetActive(false);
        btnRestart.onClick.AddListener(() =>
        {
            doReorder();
        });
        var btnReturn = FindWidget <Button>("btnReturn");

        btnReturn.onClick.AddListener(() =>
        {
            UnloadThis();
            LoadAnother <UIMain>();
        });

        var CurCount = 0;
        var Contents = FindWidget <GridLayoutGroup>("Contents");
        var cell     = FindWidget <RawImage>(Contents.transform, "Schulte");

        cell.gameObject.SetActive(false);
        var      lRawPos = new Vector3[cellCount];
        var      lCells  = new GameObject[cellCount];
        DateTime startTime;

        for (var i = 0; i < cellCount; i++)
        {
            GameObject c = null;
            if (lCells[i] == null)
            {
                c = GameObject.Instantiate(cell.gameObject, cell.transform.parent);
                c.gameObject.SetActive(true);
                var text = FindWidget <Text>(c.transform, "Name");
                text.raycastTarget = false;
                text.text          = (i + 1).ToString();
                var idx     = i;
                var image   = c.GetComponent <RawImage>();
                var hotdrag = RegistDragFunc(image, null, () =>
                {
                    Debug.Log("drag");
                    if (idx != CurCount)
                    {
                        return;
                    }
                    CurCount++;
                    image.color = Color.grey;
                    text.color  = Color.grey;
                    if (CurCount == 1)
                    {
                        startTime = DateTime.Now;
                        addUpdateAction(() =>
                        {
                            var t     = (DateTime.Now - startTime).TotalSeconds;
                            Time.text = "Time:" + t.ToString("f2");
                            if (CurCount == cellCount)
                            {
                                if (t < fBestTime || fBestTime == 0)
                                {
                                    fBestTime = t;
                                    actionRefreshBestTime();
                                    UWebSender.Instance.OnRequest(Utils.BaseURL + "gameschulttime", "username="******"&token=" + UILogin.token + "&time=" + fBestTime
                                                                  , (res) =>
                                    {
                                        var jres = (JObject)JsonConvert.DeserializeObject(res);
                                        if (jres["err"].ToString() != "0")
                                        {
                                            UIAlert.Show("同步属性出错:" + jres["err"]);
                                        }
                                    }, (err) =>
                                    {
                                        UIAlert.Show("同步属性失败:" + err);
                                    });
                                }
                                btnRestart.gameObject.SetActive(true);
                                return(true);
                            }
                            return(false);
                        });
                    }
                }, () => { }, () => { }, true, () => { });
                hotdrag.disableDragImage = true;
                lCells[i] = c;
            }
            else
            {
                c = lCells[i];
            }
            c.SetActive(true);
        }

        DelayDoSth(() =>
        {
            for (var i = 0; i < cellCount; i++)
            {
                lRawPos[i] = lCells[i].transform.position;
            }
            UWebSender.Instance.OnRequest(Utils.BaseURL + "avatarsingleinfo", "username="******"&token=" + UILogin.token + "&infoname=scTm"
                                          , (res) =>
            {
                var jres = (JObject)JsonConvert.DeserializeObject(res);
                if (jres["err"].ToString() == "0")
                {
                    if (jres.ContainsKey("scTm"))
                    {
                        var tm = typeParser.doubleParse(jres["scTm"].ToString());
                        if (tm > 0.01)
                        {
                            fBestTime = tm;
                            actionRefreshBestTime();
                        }
                    }
                }

                doReorder();
            }
                                          , (err) =>
            {
                UIAlert.Show("请求属性失败:" + err);
            });
        }, 0.1f);

        List <int> lPos = new List <int>();

        System.Random rdm = new System.Random();
        doReorder = () =>
        {
            lPos.Clear();
            CurCount         = 0;
            Contents.enabled = false;
            var idx = 0;
            do
            {
                idx = rdm.Next(cellCount);
                if (lPos.Contains(idx))
                {
                    continue;
                }
                var image = lCells[lPos.Count].GetComponent <RawImage>();
                image.transform.position = lRawPos[idx];
                image.color = Color.white;
                FindWidget <Text>(image.transform, "Name").color = Color.green;
                lPos.Add(idx);
                if (lPos.Count == cellCount)
                {
                    break;
                }
            } while (true);
        };
    }
Esempio n. 30
0
    protected override void InitComponents()
    {
        var inputUsername = FindWidget <InputField>("inputUsername");

        if (!string.IsNullOrEmpty(CachedUsername))
        {
            inputUsername.text = CachedUsername;
        }

        var inputPassword = FindWidget <InputField>("inputPassword");
        var btnLogin      = FindWidget <Button>("btnLogin");

        btnLogin.onClick.AddListener(() =>
        {
            if (string.IsNullOrEmpty(inputUsername.text))
            {
                return;
            }
            if (string.IsNullOrEmpty(inputPassword.text))
            {
                return;
            }
            btnLogin.enabled = false;
            var username     = inputUsername.text;
            var password     = inputPassword.text;

            UStaticWebRequests.DoLogin(username, Utils.MD5Hash(password),
                                       (jres) =>
            {
                btnLogin.enabled = true;
                CachedUsername   = username;
                token            = jres["token"].ToString();

                OnSelectAvatar();
            }
                                       , (err) =>
            {
                btnLogin.enabled = true;
                UIAlert.Show("登录失败," + err);
            }
                                       , (error) =>
            {
                btnLogin.enabled = true;
                UIAlert.Show("登录失败,网络错误:" + error);
            });
        });
        var btnRegister = FindWidget <Button>("btnRegister");

        btnRegister.onClick.AddListener(() =>
        {
            OnUnloadThis();

            LoadAnotherUI <UIRegister>();
        });

        if (!string.IsNullOrEmpty(token))
        {
            inputPassword.text = "******";
            btnLogin.enabled   = false;
            UStaticWebRequests.OnWebRequest("Login/CheckToken", "username="******"&token=" + token, jobj =>
            {
                OnSelectAvatar();
            },
                                            jfail =>
            {
                btnLogin.enabled   = true;
                inputPassword.text = "";
                token = "";
            });
        }
    }
Esempio n. 31
0
        //
        private IEnumerator DelayInit()
        {
            // skip a frame
            yield return null;

            //
            m_AlertWelcome = UIAlertManager.Instance.GetAlert( m_IDAlertWelcome );

            if( m_AlertWelcome == null )
            {
                Debug.LogError( "There's not a UIAlert -- IDAlertWelcome:" + m_IDAlertWelcome, this );
                yield break;
            }

            //
            m_AlertWelcome.OnClose = this.OnCloseAlertWelcome;

            m_AlterDrag = UIAlertManager.Instance.GetAlert( m_IDAlterDrag );

            if( m_AlterDrag == null)
            {
                Debug.LogError( " There's not a UIAlter -- IDAlterDrag:" + m_IDAlterDrag,this);
                yield break;
            }

            m_AlertAutoPlay = UIAlertManager.Instance.GetAlert( m_IDAlterAutoPlay );

            if( m_AlertAutoPlay == null)
            {
                Debug.LogError( " There's not a UIAlter -- IDAlterAutoPlay:" + m_IDAlterAutoPlay,this);
                yield break;
            }

            m_BtnCloseScene.OnClicked = this.OnBtnCloseSceneClick;

            m_WidgetMore.OnOpen = OnMoreOpen;
            m_WidgetMore.OnCloseFinish = OnMoreCloseFinish;

            yield return new WaitForEndOfFrame();
            //
            m_AlertWelcome.Show( 1.0f );

            m_bInited = true;
        }
Esempio n. 32
0
        private IEnumerator DelayInit()
        {
            //
            yield return null;

            //
            m_AlertWelcome = UIAlertManager.Instance.GetAlert( m_IDAlertWelcome );

            if( m_AlertWelcome == null )
            {
                Debug.LogError( "There's not a UIAlert -- IDAlertWelcome:" + m_IDAlertWelcome, this );
                yield break;
            }

            //
            m_AlertWelcome.OnClose = this.OnCloseAlertWelcome;

            //
            m_AlertHandUp = UIAlertManager.Instance.GetAlert( m_IDAlertHandUp );

            if( m_AlertHandUp == null )
            {
                Debug.LogError( "There's not a UIAlert -- IDAlertWaveHand:" + m_IDAlertHandUp, this );
                yield break;
            }

            m_AlertHandUp.OnClose = this.OnCloseAlertWaveHand;

            //
            CKinect.CursorController.Instance.DisableCursor();

            if( m_bPlayMoiveOnStart )
            {
                HoldBodyTexture();
                ActiveMoive();
                PlayMoive();
            }
            else
            {
                HoldMoive();
                ActiveBodyTexture();
            }

            m_AlertWelcome.Show(1.0f);

            //
            m_bInited = true;
        }