Пример #1
0
 private void OnEndCharSelector(object[] args)
 {
     _charList = null;
     Player.LocalPlayer.FreezePosition(false);
     Events.CallLocal("setChatState", true);
     RAGE.Game.Ui.DisplayHud(true);
     RAGE.Game.Ui.DisplayRadar(true);
     _disableControls = false;
     _camera.SetActive(false);
 }
Пример #2
0
        private void OnInitCharSelector(object[] args)
        {
            Events.CallLocal("setChatState", true); // Enabled for testing TODO: needs to be removed
            var player = Player.LocalPlayer;

            player.FreezePosition(true);
            UnStageModel(player);
            _disableControls = true;
            _camera.SetPos(Helper.GetPosInFrontOfVector3(_displayPosition, _displayHeading, 1.5f), _displayPosition, true);
        }
Пример #3
0
 private void SpawnChar(object[] args)
 {
     if (_selectedCharId < 0)
     {
         return;
     }
     if (!IsOwnChar(_selectedCharId))
     {
         return;
     }
     Events.CallRemote(Shared.Events.ClientToServer.Character.SubmitSpawnCharacter, _selectedCharId);
 }
Пример #4
0
        public CharSelector()
        {
            _camera = new CamHandler();

            RAGE.Game.Graphics.GetScreenResolution(ref ScreenResX, ref ScreenResY);
            RAGE.Game.Graphics.GetActiveScreenResolution(ref ScreenX, ref ScreenY);

            Events.Tick += Render;

            Events.Add(Shared.Events.ServerToClient.Character.InitCharSelector, OnInitCharSelector);
            Events.Add(Shared.Events.ServerToClient.Character.EndCharSelector, OnEndCharSelector);
            Events.Add(Shared.Events.ServerToClient.Character.RenderCharacterList, OnRenderCharacterList);

            // Temp testing events
            Events.Add("selectchar", SelectChar);
            Events.Add("playchar", SpawnChar);
        }
Пример #5
0
        public Authentication()
        {
            Camera = new CamHandler();

            #region SERVER_TO_CLIENT
            Events.Add(Shared.Events.ServerToClient.Authentication.SetLoginScreen, OnSetLoginScreen);
            Events.Add(Shared.Events.ServerToClient.Authentication.DisplayError, OnDisplayError);
            Events.Add(Shared.Events.ServerToClient.Authentication.RegistrationSuccess, OnRegistrationSuccess);
            Events.Add(Shared.Events.ServerToClient.Authentication.Show2FAbyEmailAddress, OnShow2FAbyEmailAddress);
            Events.Add(Shared.Events.ServerToClient.Authentication.Show2FAbyGoogleAuth, OnShow2FAbyGoogleAuth);
            Events.Add(Shared.Events.ServerToClient.Authentication.ShowInitialEmailVerification, OnShowInitialEmailVerification);
            Events.Add(Shared.Events.ServerToClient.Authentication.ShowChangeEmailAddress, OnShowChangeEmailAddress);
            Events.Add(Shared.Events.ServerToClient.Authentication.ShowLoginPage, OnShowLoginPage);
            Events.Add(Shared.Events.ServerToClient.Authentication.ShowQRCode, OnShowQRCode);
            Events.Add(Shared.Events.ServerToClient.Authentication.ShowQRCodeEnabled, OnShowQRCodeEnabled);
            #endregion

            #region CEF_TO_CLIENT
            // From multiple pages
            Events.Add("onBackToLogin", OnBackToLogin);
            Events.Add("onResendMail", OnResendMail);
            // From register.html
            Events.Add("onSubmitRegister", OnSubmitRegister);
            // From login.html
            Events.Add("onSubmitLogin", OnSubmitLogin);
            // From forgot.html
            Events.Add("onSubmitForgetPass", OnSubmitForgetPass);
            // From verifyemail.html
            Events.Add("onSubmitEmailToken", OnSubmitEmailToken);
            // From verifygoogleauth.html
            Events.Add("onSubmitGoogleAuthCode", OnSubmitGoogleAuthCode);
            // From newpass.html
            Events.Add("onSubmitNewPass", OnSubmitNewPass);
            // From verifyemailfirst.html
            Events.Add("onSubmitFirstEmailToken", OnSubmitFirstEmailToken);
            // From changemail.html
            Events.Add("onSubmitNewEmail", OnSubmitNewEmail);
            // From enabledgoogleauth.html
            Events.Add("onCloseWindow", OnCloseWindow);
            Events.Add("onSubmitEnableGoogleAuthCode", onSubmitEnableGoogleAuthCode);
            #endregion
        }
Пример #6
0
        private void OnSetLoginScreen(object[] args)
        {
            var state = (bool)args[0];

            if (state)
            { // Enable
                BrowserHandler.CreateBrowser("package://CEF/auth/login.html");
                RAGE.Game.Graphics.TransitionToBlurred(200);
                Player.LocalPlayer.FreezePosition(true);
                Events.CallLocal("setChatState", false);
                RAGE.Game.Ui.DisplayHud(false);
                RAGE.Game.Ui.DisplayRadar(false);
                Camera.SetPos(LoginCamPos, LoginCamPointAt, true);
            }
            else
            {
                BrowserHandler.DestroyBrowser(null);
                RAGE.Game.Graphics.TransitionFromBlurred(200);
                Camera.SetActive(false);
            }
        }
Пример #7
0
        private void SelectChar(object[] args)
        {
            if (args == null || args.Length < 1)
            {
                return;
            }

            var selectedID = (int)args[0];

            if (selectedID < 0)
            {
                return;
            }
            if (!IsOwnChar(selectedID))
            {
                return;
            }

            StageModel(Player.LocalPlayer);
            _selectedCharId = selectedID;
            Events.CallRemote(Shared.Events.ClientToServer.Character.SubmitCharacterSelection, _selectedCharId);
        }
Пример #8
0
        private void OnRenderCharacterList(object[] args)
        {
            if (args.Length < 2)
            {
                return;
            }

            _charList       = JsonConvert.DeserializeObject <List <CharDisplay> >(args[0] as string);
            _selectedCharId = (int)args[1];

            _charMenu = new MenuPool();

            var p = new Point(1350, 200);

            var menu = new UIMenu("Char Select", "Select a character", p);

            _charMenu.Add(menu);

            foreach (var c in _charList)
            {
                var ch = new UIMenuItem($"{c.CharName}");
                menu.AddItem(ch);
            }

            var spawnCharItem = new UIMenuColoredItem("Spawn Character", Color.DarkCyan, Color.LightBlue);

            menu.AddItem(spawnCharItem);

            var createCharItem = new UIMenuColoredItem("Create New Character", Color.CadetBlue, Color.LightBlue);

            menu.AddItem(createCharItem);


            menu.OnItemSelect += (sender, item, index) =>
            {
                if (item == createCharItem)
                {
                    Events.CallLocal("createchar");
                    _charMenu.CloseAllMenus();
                    return;
                }
                if (item == spawnCharItem)
                {
                    if (_selectedCharId < 0)
                    {
                        return;
                    }
                    SpawnChar(null);
                    _charMenu.CloseAllMenus();
                    return;
                }

                var selectedChar = _charList.Find(c => c.CharName == item.Text);
                SelectChar(new object[] { selectedChar.CharID });
            };

            menu.Visible = true;

            if (_selectedCharId >= 0)
            {
                SelectChar(new object[] { _selectedCharId });
            }
        }
Пример #9
0
 private void OnSubmitRegister(object[] args)
 {
     BrowserHandler.ExecuteFunction("ShowLoading");
     Events.CallRemote(Shared.Events.ClientToServer.Authentication.SubmitRegisterAccount, args[0].ToString(), args[1].ToString(), args[2].ToString());
 }
Пример #10
0
 private void OnSubmitNewPass(object[] args)
 {
     BrowserHandler.ExecuteFunction("ShowLoading");
     Events.CallRemote("SubmitSubmitNewPass", args[0].ToString());
 }
Пример #11
0
 private void OnBackToLogin(object[] args)
 {
     BrowserHandler.ExecuteFunction("ShowLoading");
     Events.CallRemote(Shared.Events.ClientToServer.Authentication.SubmitBackToLogin);
 }
Пример #12
0
 private void OnResendMail(object[] args)
 {
     Events.CallRemote(Shared.Events.ClientToServer.Authentication.SubmitResendEmail);
 }
Пример #13
0
 private void OnSubmitEmailToken(object[] args)
 {
     BrowserHandler.ExecuteFunction("ShowLoading");
     Events.CallRemote(Shared.Events.ClientToServer.Authentication.SubmitEmailToken, args[0].ToString());
 }
Пример #14
0
 private void onSubmitEnableGoogleAuthCode(object[] args)
 {
     BrowserHandler.ExecuteFunction("ShowLoading");
     Events.CallRemote(Shared.Events.ClientToServer.Authentication.SubmitEnableGoogleAuthCode, args[0].ToString());
 }