public MySyncLaserAntenna(MyLaserAntenna id)
 {
     m_Parent = id;
 }
 protected void ChangeMode(MyLaserAntenna.StateEnum Mode, bool UploadFromClient)
 {
     if (!Sync.MultiplayerActive)
         m_Parent.ChangeMode(Mode);
     else
         if (UploadFromClient || Sync.IsServer)
         {
             var msg = new ChangeModeMsg();
             msg.EntityId = m_Parent.EntityId;
             msg.ModeByte = SetmodeByte(Mode);
             Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request);//TODO!! ChangeModeRequest
         }
 }
 public static byte SetmodeByte(MyLaserAntenna.StateEnum Mode)
 {
     return (byte)Mode;
 }
 public void ShiftMode(MyLaserAntenna.StateEnum Mode)//same as ChengeMode but MP client side will not be propagated to server
 {
     ChangeMode(Mode, false);
 }
 public void ChangeMode(MyLaserAntenna.StateEnum Mode)
 {
     ChangeMode(Mode, true);
 }
Esempio n. 6
0
 protected bool IsInRange(MyLaserAntenna target)
 {
     float maxRange=(target.m_maxRange+m_maxRange)*0.5f;
     if (Dist2To(target.HeadPos) > maxRange * maxRange)
         return false;
     return true;
 }
Esempio n. 7
0
 protected bool LosTests(MyLaserAntenna la)
 {
     m_wasVisible = true;
     if (!LosTest(la.HeadPos))
         la.m_wasVisible = false;
     if (m_wasVisible)
         m_wasVisible=la.LosTest(HeadPos);
     return m_wasVisible;
 }
Esempio n. 8
0
 protected bool IsInContact(MyLaserAntenna la)
 {
     if (la == null)
         return false;
     return Receiver.RelayedBroadcasters.Contains(la.Broadcaster);
 }