private void OnAirtightPositionChanged(EntityUid uid, AirtightComponent airtight, ref AnchorStateChangedEvent args) { var xform = EntityManager.GetComponent <TransformComponent>(uid); var gridId = xform.GridID; var coords = xform.Coordinates; var grid = _mapManager.GetGrid(gridId); var tilePos = grid.TileIndicesFor(coords); // Update and invalidate new position. airtight.LastPosition = (gridId, tilePos); InvalidatePosition(gridId, tilePos); }
private void OnAnchorChanged(EntityUid uid, NukeComponent component, ref AnchorStateChangedEvent args) { UpdateUserInterface(uid, component); }
private void HandleAnchorChanged(EntityUid uid, SubFloorHideComponent component, ref AnchorStateChangedEvent args) { if (args.Anchored) { var xform = Transform(uid); _trayScannerSystem.OnSubfloorAnchored(uid, component, xform); UpdateFloorCover(uid, component, xform); if (component.IsUnderCover) { UpdateAppearance(uid, component); } } else if (component.IsUnderCover) { component.IsUnderCover = false; UpdateAppearance(uid, component); } }