Beispiel #1
0
        public override void DoWindowContents(Rect inRect)
        {
            const float categoryPadding      = 10f;
            const float categoryInset        = 30f;
            const float radioLabelInset      = 40f;
            const float mainListingSpacing   = 6f;
            const float subListingSpacing    = 6f;
            const float subListingLabelWidth = 100f;
            const float subListingRowHeight  = 30f;
            const float checkboxListingWidth = 280f;
            const float listingColumnSpacing = 17f;

            var btnSize      = new Vector2(140f, 40f);
            var buttonYStart = inRect.height - btnSize.y;

            if (Widgets.ButtonText(new Rect(inRect.width - btnSize.x, buttonYStart, btnSize.x, btnSize.y), "OCity_Dialog_Registration_Close".Translate()))
            {
                Close();
            }

            var ev = Event.current;

            if (Widgets.ButtonText(new Rect(inRect.width - btnSize.x * 2, buttonYStart, btnSize.x, btnSize.y), "OCity_Dialog_Registration_BtnReg".Translate()) ||
                ev.isKey && ev.type == EventType.keyDown && ev.keyCode == KeyCode.Return)
            {
                var msgError = SessionClientController.Registration(InputAddr, InputLogin, InputPassword);
                if (msgError == null)
                {
                    StorageData.GlobalData.LastIP.Value        = InputAddr;
                    StorageData.GlobalData.LastLoginName.Value = InputLogin;
                    HugsLibController.SettingsManager.SaveChanges();
                    Close();
                }
            }

            var mainListing = new Listing_Standard();

            mainListing.verticalSpacing = mainListingSpacing;
            mainListing.Begin(inRect);
            Text.Font = GameFont.Medium;
            mainListing.Label("OCity_Dialog_Registration_LabelReg".Translate());

            Text.Font = GameFont.Small;
            mainListing.GapLine();
            mainListing.Gap();

            var textEditSize = new Vector2(150f, 25f);

            TextInput(mainListing, "OCity_Dialog_Registration_Server".Translate(),
                      (sub, rect) =>
            {
                GUI.SetNextControlName("StartTextField");
                InputAddr = GUI.TextField(new Rect(rect.x, rect.y, textEditSize.x, textEditSize.y), InputAddr, 100);
            });

            TextInput(mainListing, "OCity_Dialog_Registration_Login".Translate(),
                      (sub, rect) =>
            {
                InputLogin = GUI.TextField(new Rect(rect.x, rect.y, textEditSize.x, textEditSize.y), InputLogin, 100);
            });

            TextInput(mainListing, "OCity_Dialog_Registration_Pass".Translate(),
                      (sub, rect) =>
            {
                InputPassword = GUI.PasswordField(new Rect(rect.x, rect.y, textEditSize.x, textEditSize.y), InputPassword, "*"[0], 100);
            });

            TextInput(mainListing, "OCity_Dialog_Registration_Check".Translate(),
                      (sub, rect) =>
            {
                InputPassword2 = GUI.PasswordField(new Rect(rect.x, rect.y, textEditSize.x, textEditSize.y), InputPassword2, "*"[0], 100);
            });

            if (NeedFockus)
            {
                NeedFockus = false;
                GUI.FocusControl("StartTextField");
            }

            //mainListing.Label("Регистрация3.");
            mainListing.End();
            //Text.Anchor = TextAnchor.UpperLeft;
        }