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); }
public void Add(DoAfter doAfter) { _doAfters.Add(doAfter, _runningIndex); if (TryGetConnectedClient(out var connectedClient)) { var message = new DoAfterMessage( _runningIndex, doAfter.UserGrid, doAfter.TargetGrid, doAfter.StartTime, doAfter.EventArgs.Delay, doAfter.EventArgs.BreakOnUserMove, doAfter.EventArgs.BreakOnTargetMove, doAfter.EventArgs.Target?.Uid ?? EntityUid.Invalid); SendNetworkMessage(message, connectedClient); } _runningIndex++; }
private void UpdateClient() { if (!TryGetConnectedClient(out var connectedClient)) { return; } foreach (var(doAfter, id) in _doAfters) { // THE ALMIGHTY PYRAMID var message = new DoAfterMessage( id, doAfter.UserGrid, doAfter.TargetGrid, doAfter.StartTime, doAfter.EventArgs.Delay, doAfter.EventArgs.BreakOnUserMove, doAfter.EventArgs.BreakOnTargetMove, doAfter.EventArgs.Target?.Uid ?? EntityUid.Invalid); SendNetworkMessage(message, connectedClient); } }