public override void UpdateLaser(BoardForm board, Laser laser, Point point) { laser.SetSegmentEnd(Center); if (InUse || !ValidInputDir(laser)) { laser.Kill(); return; } InUse = true; laser.SetSegmentStart(Center); laser.SetDirection(OutputDirection); }
public override void UpdateLaser(BoardForm board, Laser laser, Point point) { var dir = laser.CurrentDirection; if (PassThrough.Contains(dir)) { return; } laser.SetSegmentEnd(Center); if (!InUse_Left && InputOutputMappingLeft.ContainsKey(dir)) { laser.SetSegmentStart(Center); laser.SetDirection(InputOutputMappingLeft[dir]); InUse_Left = true; } else if (!InUse_Right && InputOutputMappingRight.ContainsKey(dir)) { laser.SetSegmentStart(Center); laser.SetDirection(InputOutputMappingRight[dir]); InUse_Right = true; } else { laser.Kill(); } }
public override void UpdateLaser(BoardForm board, Laser laser, Point point) { laser.SetSegmentEnd(Center); laser.Kill(); }
public override void UpdateLaser(BoardForm board, Laser laser, Point point) { if (laser.CurrentDirection == InputDirection && laser.CurrentColour == InputColour) Activated = true; laser.SetSegmentEnd(Center); laser.Kill(); }