Ejemplo n.º 1
0
        private void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
        {
            if (m_respawnsTable.SelectedRow != null)
            {
                m_respawnButton.Enabled = true;

                if (m_respawnsTable.SelectedRow.UserData == null || m_respawnsTable.SelectedRow.UserData as MyMedicalRoom == null)
                {
                    MySession.SetCameraController(MyCameraControllerEnum.Spectator, null, new Vector3D(1000000)); //just somewhere out of the game area to see our beautiful skybox
                    return;
                }

                MyMedicalRoom medicalRoom             = (MyMedicalRoom)m_respawnsTable.SelectedRow.UserData;
                Vector3D      medRoomPosition         = (Vector3D)medicalRoom.PositionComp.GetPosition();
                Vector3D      preferredCameraPosition = medRoomPosition + medicalRoom.WorldMatrix.Up * 20 + medicalRoom.WorldMatrix.Right * 20 + medicalRoom.WorldMatrix.Forward * 20;
                Vector3D?     cameraPosition          = MyEntities.FindFreePlace(preferredCameraPosition, 1);
                if (!cameraPosition.HasValue)
                {
                    cameraPosition = preferredCameraPosition;
                }

                MySession.SetCameraController(MyCameraControllerEnum.Spectator, null, cameraPosition);
                MySpectatorCameraController.Static.Target = (Vector3D)medRoomPosition;
            }
            else
            {
                m_respawnButton.Enabled = false;
            }
        }
Ejemplo n.º 2
0
        protected override void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
        {
            base.OnTableItemSelected(sender, eventArgs);

            if (eventArgs.RowIndex < 2)
            {
                m_publishButton.Enabled = false;
                m_onlineMode.Enabled    = false;
                m_onlineMode.SelectItemByIndex(0);
                m_editButton.Enabled = false;
            }
            else
            {
                m_publishButton.Enabled = false;
                m_onlineMode.Enabled    = true;

                m_editButton.Enabled = false;
                if (m_scenarioTable.SelectedRow != null)
                {
                    m_publishButton.Enabled = true;
                    Tuple <string, MyWorldInfo> t = FindSave(m_scenarioTable.SelectedRow);
                    if (t.Item1 != WORKSHOP_PATH_TAG)
                    {
                        m_editButton.Enabled = true;
                    }
                }
            }
        }
        protected void playersTable_ItemSelected(MyGuiControlTable table, MyGuiControlTable.EventArgs args)
        {
            Debug.Assert(table == m_playersTable);
            UpdateButtonsEnabledState();

            if (m_playersTable.SelectedRow != null)
            {
                m_lastSelected = (ulong)m_playersTable.SelectedRow.UserData;
            }
        }
Ejemplo n.º 4
0
        private void OnTableItemConfirmedOrDoubleClick(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
        {
            if (sender.SelectedRow == null)
            {
                return;
            }

            var moveTo = sender == m_modsTableEnabled ? m_modsTableDisabled : m_modsTableEnabled;

            MoveSelectedItem(sender, moveTo);
        }
Ejemplo n.º 5
0
 private void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     if (m_gamesTable.SelectedRow != null)
     {
         m_joinButton.Enabled = true;
     }
     else
     {
         m_joinButton.Enabled = false;
     }
 }
Ejemplo n.º 6
0
        private void shipsData_ItemDoubleClicked(MyGuiControlTable sender, MyGuiControlTable.EventArgs args)
        {
            //if for some reason player has taken mouse off the table before the event
            if (m_shipsData.SelectedRow == null)
            {
                return;
            }

            var userData = (UserData)m_shipsData.SelectedRow.UserData;

            if (userData.IsSelectable)
            {
                OpenPropertiesByEntityId(userData.GridEntityId);
            }
        }
Ejemplo n.º 7
0
 private void OnTableItemDoubleClick(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     if (m_respawnsTable.SelectedRow != null)
     {
         MyMedicalRoomInfo userData = m_respawnsTable.SelectedRow.UserData as MyMedicalRoomInfo;
         MyMedicalRoom     medicalRoom;
         if (userData == null || (userData != null && MyEntities.TryGetEntityById <MyMedicalRoom>(userData.MedicalRoomId, out medicalRoom)))
         {
             onRespawnClick(m_respawnButton);
         }
         else
         {
             MyGuiSandbox.AddScreen(MyGuiSandbox.CreateMessageBox(
                                        canHideOthers: false,
                                        buttonType: MyMessageBoxButtonsType.OK,
                                        messageCaption: MyTexts.Get(MyCommonTexts.MessageBoxCaptionNotReady),
                                        messageText: MyTexts.Get(MyCommonTexts.MessageBoxTextNotReady)));
         }
     }
 }
Ejemplo n.º 8
0
        private void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
        {
            m_selectedRow   = sender.SelectedRow;
            m_selectedTable = sender;

            if (sender == m_modsTableEnabled)
            {
                m_modsTableDisabled.SelectedRowIndex = null;
            }

            if (sender == m_modsTableDisabled)
            {
                m_modsTableEnabled.SelectedRowIndex = null;
            }

            if (MyInput.Static.IsAnyCtrlKeyPressed())
            {
                OnTableItemConfirmedOrDoubleClick(sender, eventArgs);
            }
        }
Ejemplo n.º 9
0
        private void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
        {
            if (m_respawnsTable.SelectedRow != null)
            {
                m_respawnButton.Enabled = true;

                if (m_respawnsTable.SelectedRow.UserData == null || m_respawnsTable.SelectedRow.UserData as MyMedicalRoomInfo == null)
                {
                    MySession.Static.SetCameraController(MyCameraControllerEnum.Spectator, null, new Vector3D(1000000)); //just somewhere out of the game area to see our beautiful skybox
                    return;
                }

                var medicalRoom = m_respawnsTable.SelectedRow.UserData as MyMedicalRoomInfo;

                MySession.Static.SetCameraController(MyCameraControllerEnum.Spectator, null, medicalRoom.PrefferedCameraPosition);
                MySpectatorCameraController.Static.Target = medicalRoom.MedicalRoomPos;
            }
            else
            {
                m_respawnButton.Enabled = false;
            }
        }
Ejemplo n.º 10
0
        private void OnServerTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
        {
            if (sender.SelectedRow == null)
            {
                return;
            }

            var server = (GameServerItem)sender.SelectedRow.UserData;

            if (server == null)
            {
                return;
            }

            IPEndPoint endpoint = server.NetAdr;

            if (endpoint == null)
            {
                return;
            }

            var cell = sender.SelectedRow.GetCell(5);

            if (cell == null)
            {
                return;
            }

            var toolTip = cell.ToolTip;

            if (toolTip == null)
            {
                return;
            }

            if (eventArgs.MouseButton == MyMouseButtonsEnum.Right)
            {
                m_contextMenu.CreateNewContextMenu();
                var action = m_selectedPage == m_favoritesPage ? ContextMenuFavoriteAction.Remove : ContextMenuFavoriteAction.Add;

                var itemText = MyCommonTexts.JoinGame_Favorites_Remove;
                if (action == ContextMenuFavoriteAction.Add)
                {
                    itemText = MyCommonTexts.JoinGame_Favorites_Add;
                }

                m_contextMenu.AddItem(MyTexts.Get(itemText), userData: new ContextMenuFavoriteActionItem()
                {
                    Server = server, Action = action
                });
                m_contextMenu.Activate();
            }
            else
            {
                m_contextMenu.Deactivate();
            }

            MySandboxGame.Services.SteamService.SteamAPI.GetServerRules(endpoint.Address.ToIPv4NetworkOrder(), (ushort)endpoint.Port, delegate(Dictionary <string, string> rules)
            {
                if (rules == null)
                {
                    return;
                }

                if (rules.Count == 0)
                {
                    return;
                }

                if (toolTip == null)
                {
                    return;
                }

                if (toolTip.ToolTips == null)
                {
                    return;
                }

                if (toolTip.ToolTips.Count == 0)
                {
                    return;
                }
                try
                {
                    int modCount = 0;
                    int.TryParse(rules[MyMultiplayer.ModCountTag], out modCount);

                    if (modCount > 0)
                    {
                        if (toolTip.ToolTips[0] == null)
                        {
                            return;
                        }

                        if (toolTip.ToolTips[0].Text == null)
                        {
                            return;
                        }

                        var text = toolTip.ToolTips[0].Text.Clear();

                        int displayedModsMax = 15;
                        int lastMod          = Math.Min(displayedModsMax, modCount - 1);

                        for (int i = 0; i < modCount; ++i)
                        {
                            if (displayedModsMax-- <= 0)
                            {
                                text.Append("...");
                                break;
                            }

                            if (lastMod-- <= 0)
                            {
                                text.Append(rules[MyMultiplayer.ModItemTag + i.ToString()]);
                            }
                            else
                            {
                                text.AppendLine(rules[MyMultiplayer.ModItemTag + i.ToString()]);
                            }
                        }
                        toolTip.RecalculateSize();
                    }
                }
                catch (System.Collections.Generic.KeyNotFoundException)
                {
                    MySandboxGame.Log.WriteLine(string.Format("Server returned corrupted rules: Address = {0}, Name = '{1}'", server.NetAdr, server.Name));
                }
            },
                                                                        delegate()
            {
                MySandboxGame.Log.WriteLine(string.Format("Failed to get server rules: Address = {0}, Name = '{1}'", server.NetAdr, server.Name));

                if (toolTip == null)
                {
                    return;
                }

                if (toolTip.ToolTips == null)
                {
                    return;
                }

                if (toolTip.ToolTips.Count == 0)
                {
                    return;
                }

                if (toolTip.ToolTips[0] == null)
                {
                    return;
                }

                if (toolTip.ToolTips[0].Text == null)
                {
                    return;
                }

                var text = toolTip.ToolTips[0].Text.Clear();

                text.Append(MyTexts.Get(MyCommonTexts.JoinGame_BadModsListResponse));
                toolTip.RecalculateSize();
            });
        }
 protected virtual void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     m_selectedRow = eventArgs.RowIndex;
     FillRight();
 }
Ejemplo n.º 12
0
 private void OnTableItemConfirmedOrDoubleClick(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     CreateAndLoadFromSubscribedWorld();
 }
Ejemplo n.º 13
0
 void OnTableItemConfirmedOrDoubleClick(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     LoadSandbox();
 }
Ejemplo n.º 14
0
 protected void playersTable_ItemSelected(MyGuiControlTable table, MyGuiControlTable.EventArgs args)
 {
     Debug.Assert(table == m_playersTable);
     UpdateButtonsEnabledState();
 }
Ejemplo n.º 15
0
 private void OnTableItemDoubleClick(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     onRespawnClick(m_respawnButton);
 }
Ejemplo n.º 16
0
 private void OnServerTableItemDoubleClick(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     JoinSelectedServer();
 }
Ejemplo n.º 17
0
 private void OnTableItemSelected(MyGuiControlTable sender, MyGuiControlTable.EventArgs eventArgs)
 {
     m_selectedRow = eventArgs.RowIndex;
 }
Ejemplo n.º 18
0
 private void OnTableItemConfirmedOrDoubleClick(MyGuiControlTable table, MyGuiControlTable.EventArgs args)
 {
     LoadSandbox();
 }