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); } }
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; }
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); } }
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(); }