예제 #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 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);
            }
        }
예제 #4
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 });
            }
        }