private void ActiveShipClient_ShipListUpdated(object sender, LunarLambda.Messges.Ship.Game.UpdateShipList e)
        {
            if (ActiveShipList == null || NewShipList == null)
            {
                return;
            }

            ActiveShipList.ClearItems();
            NewShipList.ClearItems();
            NewShipList.AddItem(MenuRes.DefaultShipSelection, DefaultShipInfo);

            // load the ship list
            foreach (var ship in e.Ships)
            {
                if (ship.Spawned)
                {
                    ActiveShipList.AddItem(ship.Name, ship);
                }
                else
                {
                    NewShipList.AddItem(ship.Name, ship);
                }
            }

            NewShipList.SetSelectedIndex(0);

            NewShipList.ForceRefresh();
            ActiveShipList.ForceRefresh();
        }
        protected int SetupShipList(int layerIndex)
        {
            // right side group
            RelativeRect rect = new RelativeRect(RelativeLoc.XLeftBorder, RelativeLoc.YUpper + RelativeLoc.BorderOffset, RelativeSize.ThreeColumnWidth, RelativeSize.SevenEightsHeight, OriginLocation.UpperLeft);

            GridLayoutGroup shipList = new GridLayoutGroup(rect, 15, 2);

            Columns[0] = shipList;

            shipList.MaxChildSize = MenuCommon.ButtonHeight.Paramater;

            shipList.SetColSpan(0, 1);
            shipList.SetColSpan(1, 6);
            shipList.SetColSpan(7, 1);
            shipList.SetColSpan(8, 5);

            // Scenario header
            shipList.AddChild(new Header(new RelativeRect(), MenuRes.ShipListHeader));

            ActiveShipList             = new ButtonScrollList(RelativeRect.Full, -1, ThemeManager.GetThemeAsset("ui/TextEntryBackground.png"));
            ActiveShipList.DesiredRows = 8;


            ActiveShipList.FillMode = UIFillModes.Stretch4Quad;
            shipList.AddChild(ActiveShipList);


            shipList.AddChild(new Header(new RelativeRect(), MenuRes.NewShipHeader));

            NewShipList             = new ButtonScrollList(RelativeRect.Full, -1, ThemeManager.GetThemeAsset("ui/TextEntryBackground.png"));
            NewShipList.DesiredRows = 8;

            NewShipList.AddItem(MenuRes.DefaultShipSelection, DefaultShipInfo);

            NewShipList.FillMode = UIFillModes.Stretch4Quad;
            shipList.AddChild(NewShipList);


            AddElement(Columns[0], layerIndex + 1);

            NewShipList.SelectedIndexChanged += NewShipList_SelectedIndexChanged;

            NewShipList.SetSelectedIndex(0);

            return(layerIndex + 1);
        }
Exemple #3
0
        protected int SetupScenarioList(int layerIndex)
        {
            // right side group
            RelativeRect rect = new RelativeRect(RelativeLoc.XRightBorder + RelativeLoc.BorderOffset, RelativeLoc.YUpper + RelativeLoc.BorderOffset, RelativeSize.TwoColumnWidth, RelativeSize.SevenEightsHeight, OriginLocation.UpperRight);

            GridLayoutGroup scenarioGrid = new GridLayoutGroup(rect, 15, 2);

            Columns[1] = scenarioGrid;

            scenarioGrid.MaxChildSize = MenuCommon.ButtonHeight.Paramater;

            scenarioGrid.SetColSpan(0, 1);
            scenarioGrid.SetColSpan(1, 6);
            scenarioGrid.SetColSpan(7, 4);
            scenarioGrid.SetColSpan(12, 3);

            // Scenario header
            scenarioGrid.AddChild(new Header(new RelativeRect(), MenuRes.Scenario));

            ButtonScrollList scenarioList = new ButtonScrollList(RelativeRect.Full);

            scenarioList.DesiredRows = 6;

            foreach (var scenario in Scenarios.GetScenarioList())
            {
                scenarioList.AddItem(scenario.Name, scenario);
            }

            scenarioList.SelectedIndexChanged += ScenarioList_SelectedIndexChanged;
            scenarioList.FillMode              = UIFillModes.Stretch4Quad;
            scenarioGrid.AddChild(scenarioList);


            SecenarioText = new TextArea(RelativeRect.Full, string.Empty, MenuManager.MainFont, ThemeManager.GetThemeAsset("ui/TextEntryBackground.png"));
            SecenarioText.DefaultMaterial.Color = Color.Gray;
            SecenarioText.DesiredRows           = 8;
            SecenarioText.BorderPadding         = 4;
            SecenarioText.MiniumElementHeight   = 20;

            scenarioGrid.AddChild(SecenarioText);

            // sensor scan complexity
            // get data from selected scenario
            scenarioGrid.AddChild(MakeGridLabel(MenuRes.Variation));
            VariationList = new SpinSelector(new RelativeRect(), MenuRes.DefaultVariation.Split(";".ToCharArray()), 0);
            VariationList.ValueChanged += ScenarioVariation_ValueChanged;
            scenarioGrid.AddChild(VariationList);

            // replace with variation info
            VariationText = new TextArea(RelativeRect.Full, string.Empty, MenuManager.MainFont, ThemeManager.GetThemeAsset("ui/TextEntryBackground.png"));
            VariationText.DefaultMaterial.Color = Color.Gray;
            VariationText.DesiredRows           = 6;
            VariationText.BorderPadding         = 4;
            VariationText.MiniumElementHeight   = 20;
            scenarioGrid.AddChild(VariationText);

            AddElement(Columns[1], layerIndex + 1);

            scenarioList.SetSelectedIndex(0);

            return(layerIndex + 1);
        }