private void CalculateLines() { foreach (var e in Communication.LineDict) { foreach (var line in e.Value) { line.Start = MathUtility.CalculateEmitterOffset(line.EmitterBlock, line.Index); var target = line.TargetGrid.GetCubeBlock(line.TargetBlock); if (target == null || target.Closed()) { continue; } line.End = target.GetPosition(); if (line.LinePackets != null) { line.LinePackets.Update(line.Start, line.End); } } } }