Пример #1
0
        public TraderScene(Module App)
            : base(App)
        {
            Background = "hint1.pac";
            Music      = "10_MUS 10_HSC.ogg";
            Position   = (app.Engine.GameResolution - new Vector2(320, 200)) / 2;

            inventory                      = new InventoryWindow(App, InventorySide.Left);
            inventory.Position             = new Vector2(2, 5);
            inventory.LeftClickItemEvent  += OnLeftClickItemInventory;
            inventory.RightClickItemEvent += OnRightClickItemInventory;
            Windows += inventory;

            inventoryTrader                      = new InventoryWindow(App, InventorySide.Right);
            inventoryTrader.Position             = new Vector2(154, 5);
            inventoryTrader.LeftClickItemEvent  += OnLeftClickItemTrader;
            inventoryTrader.RightClickItemEvent += OnRightClickItemTrader;
            Windows += inventoryTrader;

            exitButton           = new Button(App);
            exitButton.Position  = new Vector2(25, 183);
            exitButton.Text      = app.ResourceManager.GetString("burn?354");
            exitButton.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            exitButton.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            exitButton.Command  += OnButtonExit;
            exitButton.SetTextOnly();
            Windows += exitButton;

            acceptButton           = new Button(App);
            acceptButton.Position  = new Vector2(170, 183);
            acceptButton.Text      = app.ResourceManager.GetString("burn?353");
            acceptButton.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            acceptButton.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            acceptButton.Command  += OnButtonAccept;
            acceptButton.SetTextOnly();
            Windows += acceptButton;

            exchangeTop = new ExchangeWindow(App);
            inventoryTrader.Grid.Mask = exchangeTop.Grid;
            Windows += exchangeTop;

            exchangeBottom      = new ExchangeWindow(App);
            inventory.Grid.Mask = exchangeBottom.Grid;
            Windows            += exchangeBottom;

            temporarySpace                      = new ItemGridWindow(App);
            temporarySpace.Position             = new Vector2(156, 0);
            temporarySpace.Spacing              = new Vector2(0, 1);
            temporarySpace.Grid                 = new Vector2(1, 6);
            temporarySpace.LeftClickItemEvent  += OnClickTemporarySpace;
            temporarySpace.RightClickItemEvent += OnClickTemporarySpace;
            Windows += temporarySpace;
        }
Пример #2
0
        public DoctorScene(Module app)
            : base(app)
        {
            Background = "arzt.pac";
            Music      = "03_MUS 03_HSC.ogg";
            Position   = (app.Engine.GameResolution - new Vector2(320, 200)) / 2;

            Image ani = new Image(app);

            ani.Position   = new Vector2(211, 65);
            ani.Background = "arzt.ani??p";
            ani.Background.Animation.Speed          = 6.5f;
            ani.Background.Animation.IntervalMargin = 4;
            ani.Background.Animation.Progressive    = false;
            Windows += ani;

            inventory                     = new InventoryWindow(app, InventorySide.Left);
            inventory.Position            = new Vector2(2, 5);
            inventory.LeftClickItemEvent += OnLeftClickItemInventory;
            Windows += inventory;

            Button button = new Button(app);

            button.Position  = new Vector2(25, 183);
            button.Text      = app.ResourceManager.GetString("burn?354");
            button.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            button.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            button.Command  += OnButtonExit;
            button.SetTextOnly();
            Windows += button;

            button           = new Button(app);
            button.Position  = new Vector2(116, 183);
            button.Text      = app.ResourceManager.GetString("burn?369");
            button.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            button.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            button.Command  += OnButtonHeal;
            button.SetTextOnly();
            Windows += button;

            grid                     = new ItemGridWindow(app);
            grid.Position            = new Vector2(160, 165);
            grid.Spacing             = new Vector2(4, 4);
            grid.Grid                = new Vector2(4, 1);
            grid.LeftClickItemEvent += OnLeftClickItemGrid;
            Windows                 += grid;

            font = new GuiFont(BurntimeClassic.FontName, new PixelColor(212, 212, 212));
        }
Пример #3
0
        public RestaurantScene(Module app)
            : base(app)
        {
            Music    = "01_MUS 01_HSC.ogg";
            Position = (app.Engine.GameResolution - new Vector2(320, 200)) / 2;

            BurntimeClassic classic = app as BurntimeClassic;

            inventory                     = new InventoryWindow(app, InventorySide.Left);
            inventory.Position            = new Vector2(2, 5);
            inventory.LeftClickItemEvent += OnLeftClickItemInventory;
            Windows += inventory;

            Button button = new Button(app);

            button.Position  = new Vector2(25, 183);
            button.Text      = app.ResourceManager.GetString("burn?354");
            button.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            button.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            button.Command  += OnButtonExit;
            button.SetTextOnly();
            Windows += button;

            button           = new Button(app);
            button.Position  = new Vector2(116, 183);
            button.Text      = app.ResourceManager.GetString("burn?415");
            button.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            button.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            button.Command  += OnButtonEat;
            button.SetTextOnly();
            Windows += button;

            grid                     = new ItemGridWindow(app);
            grid.Position            = new Vector2(160, 165);
            grid.Spacing             = new Vector2(4, 4);
            grid.Grid                = new Vector2(4, 1);
            grid.LeftClickItemEvent += OnLeftClickItemGrid;
            Windows                 += grid;

            font = new GuiFont(BurntimeClassic.FontName, new PixelColor(212, 212, 212));
        }
Пример #4
0
        public PubScene(Module app)
            : base(app)
        {
            BurntimeClassic classic = app as BurntimeClassic;

            Background = classic.InventoryBackground == 14 ? "bar.pac" : "pub1.pac";
            Music      = "19_MUS 19_HSC.ogg";
            Position   = (app.Engine.GameResolution - new Vector2(320, 200)) / 2;

            if (classic.InventoryBackground == 14)
            {
                Image ani = new Image(app);
                ani.Position   = new Vector2(206, 67);
                ani.Background = "bar.ani??p";
                ani.Background.Animation.IntervalMargin = 6;
                ani.Background.Animation.Progressive    = false;
                Windows += ani;
            }
            else
            {
                Image ani = new Image(app);
                ani.Position   = new Vector2(201, 22);
                ani.Background = "pub1.ani?0-11?p";
                ani.Background.Animation.Speed          = 6.1f;
                ani.Background.Animation.IntervalMargin = 1;
                ani.Background.Animation.Progressive    = false;
                Windows       += ani;
                ani            = new Image(app);
                ani.Position   = new Vector2(237, 28);
                ani.Background = "pub1.ani?12-13";
                ani.Background.Animation.Speed       = 8;
                ani.Background.Animation.Progressive = false;
                Windows       += ani;
                ani            = new Image(app);
                ani.Position   = new Vector2(231, 55);
                ani.Background = "pub1.ani?14-64?p";
                ani.Background.Animation.Speed          = 6.6f;
                ani.Background.Animation.IntervalMargin = 6;
                ani.Background.Animation.Progressive    = false;
                Windows += ani;
            }

            inventory                     = new InventoryWindow(app, InventorySide.Left);
            inventory.Position            = new Vector2(2, 5);
            inventory.LeftClickItemEvent += OnLeftClickItemInventory;
            Windows += inventory;

            Button button = new Button(app);

            button.Position  = new Vector2(25, 183);
            button.Text      = app.ResourceManager.GetString("burn?354");
            button.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            button.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            button.Command  += OnButtonExit;
            button.SetTextOnly();
            Windows += button;

            button           = new Button(app);
            button.Position  = new Vector2(116, 183);
            button.Text      = app.ResourceManager.GetString("burn?414");
            button.Font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(92, 92, 148));
            button.HoverFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(144, 160, 212));
            button.Command  += OnButtonDrink;
            button.SetTextOnly();
            Windows += button;

            grid                     = new ItemGridWindow(app);
            grid.Position            = new Vector2(160, 165);
            grid.Spacing             = new Vector2(4, 4);
            grid.Grid                = new Vector2(4, 1);
            grid.LeftClickItemEvent += OnLeftClickItemGrid;
            Windows                 += grid;

            font = new GuiFont(BurntimeClassic.FontName, new PixelColor(212, 212, 212));
        }
Пример #5
0
        protected override void OnActivateScene(object parameter)
        {
            leader = parameter as Character;
            group  = leader.GetGroup();

            BurntimeClassic classic = app as BurntimeClassic;

            inventory.SetGroup(leader);

            if (classic.InventoryBackground == -1)
            {
                Background = "hint2.pac";
            }
            else
            {
                Background = "raum_" + classic.InventoryBackground.ToString() + ".pac";
            }
            Size = new Vector2(320, 200);

            if (grid != null)
            {
                Windows -= grid;
                grid     = null;
            }

            if (classic.InventoryRoom != null)
            {
                Music = classic.InventoryRoom.IsWaterSource ? "22_MUS 22_HSC.ogg" : "04_MUS 04_HSC.ogg";

                grid = new ItemGridWindow(app);
                grid.LockPositions = true;
                grid.DoubleLayered = !classic.InventoryRoom.IsWaterSource;
                grid.Position      = new Vector2(160, classic.InventoryRoom.IsWaterSource ? 128 : 20);
                grid.Spacing       = new Vector2(4, 4);
                grid.Grid          = new Vector2(4, classic.InventoryRoom.IsWaterSource ? 2 : 5);
                grid.Layer++;
                grid.LeftClickItemEvent  += OnLeftClickItemRoom;
                grid.RightClickItemEvent += OnRightClickItemRoom;
                Windows += grid;

                grid.Add(classic.InventoryRoom.Items);

                // group drinks water
                if (classic.InventoryRoom.IsWaterSource)
                {
                    int r = group.Drink(leader, classic.Game.World.ActiveLocationObj.Source.Reserve);
                    classic.Game.World.ActiveLocationObj.Source.Reserve = r;
                }
            }
            else if (classic.PickItems != null)
            {
                Music = "04_MUS 04_HSC.ogg";

                grid          = new ItemGridWindow(app);
                grid.Position = new Vector2(170, 10);
                grid.Spacing  = new Vector2(2, 2);
                grid.Grid     = new Vector2(4, 5);
                grid.Layer++;
                grid.LeftClickItemEvent  += OnLeftClickItemRoom;
                grid.RightClickItemEvent += OnRightClickItemRoom;
                Windows += grid;

                grid.Add(classic.PickItems);
            }
            else
            {
                Music = "04_MUS 04_HSC.ogg";
            }
        }
Пример #6
0
        public InfoScene(Module App)
            : base(App)
        {
            Background = "info.pac";
            Music      = "13_MUS 13_HSC.ogg";
            Position   = (app.Engine.GameResolution - new Vector2(320, 200)) / 2;


            Button button = new Button(App);

            button.Position = new Vector2(5, 174);
            button.Command += OnButtonBack;
            //btn.SetHover(TextDB.Singleton.GetString(TextRegion.MenuStrings, 4), ColorTable.HoverGray);
            button.Image      = "gfx/mapbutton.png";
            button.HoverImage = "gfx/mapbuttonh.png";
            Windows          += button;

            button            = new Button(App);
            button.Position   = new Vector2(107, 122);
            button.Command   += OnButtonListUp;
            button.HoverImage = "gfx/up.png";
            Windows          += button;
            button            = new Button(App);
            button.Position   = new Vector2(107, 141);
            button.Command   += OnButtonListDown;
            button.HoverImage = "gfx/down.png";
            Windows          += button;

            Image image = new Image(App);

            image.Background = "inf.ani?0-2";
            image.Background.Animation.Speed = 6.0f;
            image.Position = new Vector2(4, 105);
            Windows       += image;

            image            = new Image(App);
            image.Background = "inf.ani?4-6";
            image.Background.Animation.Speed       = 6;
            image.Background.Animation.Progressive = false;
            image.Position = new Vector2(234, 150);
            Windows       += image;

            danger          = new Image(App);
            danger.Position = new Vector2(229, 27);
            Windows        += danger;

            production                  = new ItemWindow(App);
            production.Position         = new Vector2(230, 105);
            production.ItemID           = "";
            production.LeftClickEvent  += OnProductionLeft;
            production.RightClickEvent += OnProductionRight;
            Windows += production;

            grid          = new ItemGridWindow(App);
            grid.Position = new Vector2(137, 105);
            grid.Spacing  = new Vector2(0, 6);
            grid.Grid     = new Vector2(1, 2);
            Windows      += grid;

            titleFont = new GuiFont(BurntimeClassic.FontName, new PixelColor(156, 156, 156), new PixelColor(76, 32, 4));
            font      = new GuiFont(BurntimeClassic.FontName, new PixelColor(184, 184, 184), new PixelColor(92, 92, 96));

            items = new SortedList <string, int>();

            fighterImage    = "syssze.raw?32";
            doctorImage     = "syssze.raw?16";
            technicianImage = "syssze.raw?48";
        }