public void AddDoAfter(DoAfterMessage message)
        {
            if (_doAfterControls.ContainsKey(message.ID))
            {
                return;
            }

            var doAfterBar = new DoAfterBar
            {
                SizeFlagsVertical = SizeFlags.ShrinkCenter
            };

            _doAfterBars[message.ID] = doAfterBar;

            var control = new PanelContainer
            {
                Children =
                {
                    new TextureRect
                    {
                        Texture           = StaticIoC.ResC.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png"),
                        TextureScale      = Vector2.One * DoAfterBar.DoAfterBarScale,
                        SizeFlagsVertical = SizeFlags.ShrinkCenter,
                    },

                    doAfterBar
                }
            };

            AddChild(control);
            _doAfterControls.Add(message.ID, control);
        }
Пример #2
0
        public void CancelDoAfter(byte id)
        {
            if (_cancelledDoAfters.ContainsKey(id))
            {
                return;
            }

            if (!_doAfterBars.TryGetValue(id, out var doAfterBar))
            {
                doAfterBar       = new DoAfterBar();
                _doAfterBars[id] = doAfterBar;
            }

            doAfterBar.Cancelled = true;
            _cancelledDoAfters.Add(id, _gameTiming.CurTime);
        }