Exemple #1
0
        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);
                    }
                }
            }
        }
Exemple #2
0
 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);
                }
            }
        }
Exemple #4
0
 public void MoveBroadcaster()
 {
     MyRadioBroadcasters.MoveBroadcaster(this);
 }