Esempio n. 1
0
        public void SetShipGenerator(Library.ShipGenerator gen, int layout = 0)
        {
            if (lstSystems != null)
            {
                foreach (var system in lstSystems)
                {
                    system.Remove();
                }
                lstSystems.Clear();
                lstSystems = null;
            }

            // Set current ship
            currentShipGen = gen;
            currentShip    = gen.Generate(layout);

            // Update ship renderer
            shipRenderer.Ship = currentShip;

            // Update layout buttons
            btnLayoutA.Enabled = (currentShipGen.NumberOfLayouts >= 1);
            btnLayoutA.Toggled = (layout == 0);
            btnLayoutA.UpdateImage();
            btnLayoutB.Enabled = (currentShipGen.NumberOfLayouts >= 2);
            btnLayoutB.Toggled = (layout == 1);
            btnLayoutB.UpdateImage();

            // Create new UI
            tbShipName.Text = currentShip.Name;

            lstSystems = new List <ImageButton>();
            var systems = currentShip.Systems;

            for (int i = 0; i < systems.Count; i++)
            {
                var system    = systems[i];
                var btnSystem = new ImageButton();
                btnSystem.Image         = Root.Singleton.Material("img/customizeUI/box_system_on.png");
                btnSystem.HoveredImage  = Root.Singleton.Material("img/customizeUI/box_system_select2.png");
                btnSystem.DisabledImage = Root.Singleton.Material("img/customizeUI/box_system_off.png");
                btnSystem.Enabled       = true;
                //btnSystem.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav");
                Util.LayoutControl(btnSystem, 370 + (i * 38), 380, 38, 96, rctScreen);
                btnSystem.Parent = Root.Singleton.Canvas;
                btnSystem.Init();

                var systembox = new SystemBox();
                systembox.SystemIcon = Root.Singleton.Material(system.IconGraphics["green"]);
                systembox.PowerLevel = system.MinPower;
                systembox.Width      = btnSystem.Width - 2;
                systembox.Height     = btnSystem.Height - 2;
                systembox.Parent     = btnSystem;
                systembox.Init();

                lstSystems.Add(btnSystem);
            }
        }
Esempio n. 2
0
            public ShipButton(Library.ShipGenerator gen)
            {
                Image             = Root.Singleton.Material("img/customizeUI/ship_list_button_on.png");
                HoveredImage      = Root.Singleton.Material("img/customizeUI/ship_list_button_select2.png");
                DisabledImage     = Root.Singleton.Material("img/customizeUI/ship_list_button_off.png");
                LockImage         = Root.Singleton.Material("img/customizeUI/box_lock_on.png");
                HoveredLockImage  = Root.Singleton.Material("img/customizeUI/box_lock_selected.png");
                DisabledLockImage = Root.Singleton.Material("img/customizeUI/box_lock_off.png");

                this.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav");

                GeneratorName = gen.Name;
                ShipImage     = Root.Singleton.Material(gen.MiniGraphic);
                Locked        = !gen.Unlocked;
                Enabled       = true;
            }
Esempio n. 3
0
        public void SetShipGenerator(Library.ShipGenerator gen)
        {
            if (lstSystems != null)
            {
                foreach (var system in lstSystems)
                    system.Remove();
                lstSystems.Clear();
                lstSystems = null;
            }

            // Set current ship
            currentShipGen = gen;
            currentShip = gen.Generate();

            // Update ship renderer
            shipRenderer.Ship = currentShip;

            // Create new UI
            tbShipName.Text = currentShip.Name;

            lstSystems = new List<ImageButton>();
            var systems = currentShip.Systems;
            for (int i = 0; i < systems.Count; i++)
            {
                var system = systems[i];
                var btnSystem = new ImageButton();
                btnSystem.Image = Root.Singleton.Material("img/customizeUI/box_system_on.png");
                btnSystem.HoveredImage = Root.Singleton.Material("img/customizeUI/box_system_select2.png");
                btnSystem.DisabledImage = Root.Singleton.Material("img/customizeUI/box_system_off.png");
                btnSystem.Enabled = true;
                //btnSystem.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav");
                Util.LayoutControl(btnSystem, 370 + (i * 38), 380, 38, 96, rctScreen);
                btnSystem.Parent = Root.Singleton.Canvas;
                btnSystem.Init();

                var systembox = new SystemBox();
                systembox.SystemIcon = Root.Singleton.Material(system.IconGraphics["green"]);
                systembox.PowerLevel = system.MinPower;
                systembox.Width = btnSystem.Width - 2;
                systembox.Height = btnSystem.Height - 2;
                systembox.Parent = btnSystem;
                systembox.Init();

                lstSystems.Add(btnSystem);
            }
        }
Esempio n. 4
0
        public void OnActivate()
        {
            // Store window
            window    = Root.Singleton.Window;
            rctScreen = Util.ScreenRect(window.Size.X, window.Size.Y, 1.7778f);
            Library.ShipGenerator gen = GetDefaultShipGenerator();
            int layout = 0;

            // Load sprites
            Console.WriteLine("Loading Space");
            sprBackground          = new Sprite(Root.Singleton.Material("img/stars/bg_dullstars.png"));
            sprBackground.Position = new Vector2f(rctScreen.Left, rctScreen.Top);
            sprBackground.Scale    = Util.Scale(sprBackground, new Vector2f(rctScreen.Width, rctScreen.Height));
            //Load UI
            shipRenderer.ShowRooms = true;

            //This sets the ship's currrent position on the screen
            Util.LayoutControl(shipRenderer, 50, 135, 660, 450, rctScreen);
            shipRenderer.Parent = Root.Singleton.Canvas;
            shipRenderer.Init();

            // Set current ship
            currentShipGen = gen;
            currentShip    = gen.Generate(layout);
            // Update ship renderer
            shipRenderer.Ship = currentShip;

            var btnBottom = new ImageButton();

            btnBottom.Image    = Root.Singleton.Material("img/buttons/FTL/FTL_base.png");
            btnBottom.OnClick += (sender) =>
            {
                //Play sound while when button is clicked and load a new background
                FTLjump = Root.Singleton.Music("audio/waves/ship/bp_jump_1.ogg");
                FTLjump.Stop();
                FTLjump.Play();

                //We're jumping to a random space. Pick an image!
                Random random = new Random();

                int randNum = random.Next(1, 11);
                switch (randNum)
                {
                case 1:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_blueStarcluster.png"));
                    break;

                case 2:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_darknebula.png"));
                    break;

                case 3:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_dullstars.png"));
                    break;

                case 4:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_dullstars2.png"));
                    break;

                case 5:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_lonelyRedStar.png"));
                    break;

                case 6:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_lonelystar.png"));
                    break;

                case 7:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/bg_smallbluenebula.png"));
                    break;

                case 8:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/low_asteroid.png"));
                    break;

                case 9:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/low_nebula.png"));
                    break;

                case 10:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/low_storm.png"));
                    break;

                case 11:
                    sprBackground = new Sprite(Root.Singleton.Material("img/stars/low_sun.png"));
                    break;
                }
            };
            Util.LayoutControl(btnBottom, 700, 10, btnBottom.Image.Size, rctScreen);

            btnBottom.Parent = Root.Singleton.Canvas;
            btnBottom.Init();



            var btnNewSpace = new ImageButton();

            btnNewSpace.Image = Root.Singleton.Material("img/buttons/FTL/FTL_JUMP.png");

            btnNewSpace.Enabled = true;


            Util.LayoutControl(btnNewSpace, 700, 10, btnNewSpace.Image.Size, rctScreen);

            btnNewSpace.Parent = Root.Singleton.Canvas;
            btnNewSpace.Init();
            var btnSpace = new ImageButton();

            btnSpace.Image = Root.Singleton.Material("img/buttons/FTL/FTL_READY.png");

            btnSpace.Enabled = true;


            Util.LayoutControl(btnSpace, 700, 15, btnSpace.Image.Size, rctScreen);

            btnSpace.Parent = Root.Singleton.Canvas;
            btnSpace.Init();
        }