Exemple #1
0
        internal void SendMessage(MessageBottle n)
        {
            switch (VarAttrs["block-type"])
            {
            case "Antenna":

                MyTransmitTarget m;
                if (n.MetaData == null)
                {
                    AppBase.Debug("wow");
                }
                switch (n.MetaData.VarAttrs["method"])
                {
                case "Public": m = MyTransmitTarget.Everyone; break;

                case "Private": m = MyTransmitTarget.Ally; break;

                case "Protected": m = MyTransmitTarget.Ally; break;

                default: m = MyTransmitTarget.Default; break;
                }

                AppBase.Debug("Sending: " + n.ToString());
                ((IMyRadioAntenna)Block).TransmitMessage(n.ToString(), m);

                break;

            case "LaserAntenna":
                AppBase.Debug("Sending: " + n.ToString());
                ((IMyLaserAntenna)Block).TransmitMessage(n.ToString());
                break;
            }
        }
Exemple #2
0
    public override void Tick()
    {
        base.Tick();
        var messageBottle = new MessageBottle();

        XML.Read(Arg, messageBottle);
        AddChild(messageBottle.root);
        if (messageBottle.root != null)
        {
            messageBottle.root.Tick();
        }
    }
Exemple #3
0
        /// <summary>
        /// Function for create a new child when is called by XML.Read
        /// </summary>
        /// <param name="typeName"></param>
        /// <param name="parent"></param>
        /// <returns></returns>
        public override Object Types(string typeName, Object parent)
        {
            switch (typeName)
            {
            case "message-bottle":
                var p = parent as MessageBottle;
                if (p != null)
                {
                    if (p.IsRoot)
                    {
                        root        = new MessageBottle();
                        root.IsRoot = false;
                        return(root);
                    }
                }
                break;

            case "meta":
                if (parent as MessageBottle != null)
                {
                    if (((MessageBottle)parent).MetaData == null)
                    {
                        ((MessageBottle)parent).MetaData = new Meta();
                        return(((MessageBottle)parent).MetaData);
                    }
                }
                break;

            case "body":
            {
                if (parent as MessageBottle != null)
                {
                    if (((MessageBottle)parent).MBody == null)
                    {
                        ((MessageBottle)parent).MBody = new Body();
                        return(((MessageBottle)parent).MBody);
                    }
                }
                break;
            }

            case "send":
                if (parent as MessageBottle != null && MetaData == null)
                {
                }
                break;
            }
            return(null);
        }
Exemple #4
0
 private void SendPortMessage(MessageBottle n)
 {
     ports.ForChilds((Object x, int i) =>
     {
         var port = x as Port;
         if (port != null)
         {
             if (port.VarAttrs["name"] == n.MetaData.VarAttrs["port"])
             {
                 port.SendMessage(n);
                 return(-1);
             }
         }
         return(0);
     });
 }
Exemple #5
0
 private void SendNetworkMessage(MessageBottle n)
 {
     ports.Primary.SendMessage(n);
 }