コード例 #1
0
ファイル: LoadingScreen.cs プロジェクト: AreonDev/NoWayOut
        public LoadingScreen (Application application, MessageProvider messageProvider, string backgroundPath,
            string name,
            IEnumerable<Tuple<string, GameStateTransition>> from = null,
            IEnumerable<Tuple<string, GameStateTransition>> to = null)
        {
            if (application.Game.AddGameState(name, Content.Environment.Default, from, to))
                LoadingState = application.Game.GetGameState(name);
            else
            {
                Logger.Log.AddLogEntry(LogLevel.Error, "LoadingScreen", "Could not add loading screen game state!");
                return;
            }

            this.application = application;

            ValidMessages = new[] { (int) MessageId.WindowResize };
            messageProvider += this;

            image = new ImagePanel(application.RendererContext.Canvas);
            image.ImageName = backgroundPath;
            updateImage();
            image.BringToFront();

            progressBar = new ProgressBar (image);
            progressBar.IsHorizontal = true;
            progressBar.AutoLabel = false;
            progressBar.Y = application.RendererContext.Canvas.Height - 70;
            progressBar.X = 40 + (image.Width - application.RendererContext.Canvas.Width) / 2;
            progressBar.Height = 30;
            progressBar.Width = application.RendererContext.Canvas.Width - 80;
        }
コード例 #2
0
        public ConnectingWindow()
            : base(MainCanvas.GetCanvas())
        {
            this.SetSize(400, 100);
            this.IsClosable = false;
            this.DisableResizing();
            this.ClampMovement = true;
            Label message = new Label(this);
            message.Text = "Downloading Content";
            message.AutoSizeToContents = true;
            message.SetPosition(10, 10);

            bar = new ProgressBar(this);
            bar.SetPosition(10, 40);
            bar.SetSize(300, 20);
            bar.IsHorizontal = true;
            bar.AutoLabel = true;
        }
コード例 #3
0
ファイル: InventoryGUI.cs プロジェクト: AreonDev/NoWayOut
        public InventoryBarButton (Base parent, MessageProvider messageProvider, List<InventoryBarButton> barItems,
            Inventory inventory, InventoryGUI inventoryGui, ItemComponent item, byte position, int boxSize) :
        base (parent)
        {
            ValidMessages = new[] { (int) MessageId.ItemUsageChanged, (int) MessageId.BarItemMoved };
            this.boxSize = boxSize;
            this.IsToggle = true;
            this.item = item;
            this.inventory = inventory;
            this.barItems = barItems;
            this.inventoryGui = inventoryGui;

            if (!string.IsNullOrEmpty(item.ImageLocation))
                SetImage(item.ImageLocation, true);

            Width = boxSize - 1;
            Height = boxSize - 1;
            X = boxSize * position + 1;
            Y = 2;

            usageProgress = new ProgressBar(this);
            usageProgress.AutoLabel = false;
            usageProgress.Text = string.Empty;
            usageProgress.TextPadding = Padding.Zero;
            usageProgress.Value = 1 - item.Usage;
            usageProgress.SetSize(Width, 10);
            usageProgress.Y = Height - usageProgress.Height;
            usageProgress.X = 0;

            var max = item.Size.X > item.Size.Y ? item.Size.X : item.Size.Y;
            m_Image.Width = (boxSize / max) * item.Size.X;
            m_Image.Height = (boxSize / max) * item.Size.Y;
            DragAndDrop_SetPackage (true, "bar_drag");

            messageProvider += this;
            this.MessageProvider = messageProvider;
        }
コード例 #4
0
ファイル: InventoryGUI.cs プロジェクト: AreonDev/NoWayOut
        public InventoryButton (Base parent, MessageProvider messageProvider, Inventory inventory, ItemComponent item,
            InventoryGUI inventoryGui, Vector2i position, int boxSize) : base (parent)
        {
            ValidMessages = new[] { (int) MessageId.ItemUsageChanged };
            this.boxSize = boxSize;
            this.IsToggle = true;
            this.inventory = inventory;
            this.inventoryGui = inventoryGui;
            this.item = item;
            X = position.X * boxSize + 1;
            Y = position.Y * boxSize + 1;

            if (!string.IsNullOrEmpty(item.ImageLocation))
                SetImage(item.ImageLocation, true);

            usageProgress = new ProgressBar(this);
            usageProgress.AutoLabel = false;
            usageProgress.Text = string.Empty;
            usageProgress.Value = 1 - item.Usage;
            usageProgress.TextPadding = Padding.Zero;
            UpdateSize();
            DragAndDrop_SetPackage (true, "item_drag");

            MessageProvider = messageProvider;

            messageProvider += this;
        }