protected override void GetAllBroadcastersInMyRange(ref HashSet <MyDataBroadcaster> relayedBroadcasters, long localPlayerId, HashSet <long> gridsQueued) { var sphere = new BoundingSphere(Parent.PositionComp.GetPosition(), 0.5f); MyRadioBroadcasters.GetAllBroadcastersInSphere(sphere, m_broadcastersInRange); foreach (var broadcaster in m_broadcastersInRange) { if (relayedBroadcasters.Contains(broadcaster)) { continue; } relayedBroadcasters.Add(broadcaster); if (!CanIUseIt(broadcaster, localPlayerId)) { continue; } if (broadcaster.Parent is IMyComponentOwner <MyDataReceiver> ) { MyDataReceiver radioReceiver; if ((broadcaster.Parent as IMyComponentOwner <MyDataReceiver>).GetComponent(out radioReceiver)) { radioReceiver.UpdateBroadcastersInRange(relayedBroadcasters, localPlayerId, gridsQueued); } } } }
protected override void GetBroadcastersInMyRange(ref HashSet <MyDataBroadcaster> broadcastersInRange) { base.m_tmpBroadcasters.Clear(); MyRadioBroadcasters.GetAllBroadcastersInSphere(new BoundingSphereD(base.Entity.PositionComp.GetPosition(), 0.5), base.m_tmpBroadcasters); foreach (MyDataBroadcaster broadcaster in base.m_tmpBroadcasters) { broadcastersInRange.Add(broadcaster); } MyAntennaSystem.Static.GetEntityBroadcasters(base.Entity as VRage.Game.Entity.MyEntity, ref broadcastersInRange, 0L); }
protected override void GetAllBroadcastersInMyRange(ref HashSet <MyDataBroadcaster> relayedBroadcasters, long localPlayerId, HashSet <long> gridsQueued) { var sphere = new BoundingSphere(Entity.PositionComp.GetPosition(), 0.5f); MyRadioBroadcasters.GetAllBroadcastersInSphere(sphere, m_broadcastersInRange); foreach (var broadcaster in m_broadcastersInRange) { if (relayedBroadcasters.Add(broadcaster) == false) { continue; } if (!CanIUseIt(broadcaster, localPlayerId)) { continue; } MyDataReceiver radioReceiver; if (broadcaster.Container.TryGet <MyDataReceiver>(out radioReceiver)) { radioReceiver.UpdateBroadcastersInRange(relayedBroadcasters, localPlayerId, gridsQueued); } } }
public void MoveBroadcaster() { MyRadioBroadcasters.MoveBroadcaster(this); }