Пример #1
0
 /// <summary>
 /// Create an MmMessage, with control block, MmMethod, and an MmTransform
 /// </summary>
 /// <param name="transform">MmTransform payload</param>
 /// <param name="mmMethod">Identifier of target MmMethod</param>
 /// <param name="metadataBlock">Object defining the routing of messages</param>
 public MmMessageTransform(MmTransform transform,
                           MmMethod mmMethod             = default(MmMethod),
                           MmMetadataBlock metadataBlock = null)
     : base(mmMethod, MmMessageType.MmTransform, metadataBlock)
 {
     MmTransform = transform;
 }
Пример #2
0
        /// <summary>
        /// Invoke an MmMethod with parameter: MmTransform.
        /// </summary>
        /// <param name="mmMethod">MmMethod Identifier - <see cref="MmMethod"/></param>
        /// <param name="param">MmMethod parameter: MmTransform. <see cref="MmTransform"/></param>
        /// <param name="metadataBlock">Object defining the routing of
        /// Mmessages through MercuryMessaging Hierarchies. <see cref="MmMetadataBlock"/></param>
        public virtual void MmInvoke(MmMethod mmMethod,
                                     MmTransform param,
                                     MmMetadataBlock metadataBlock = null)
        {
            MmMessage msg = new MmMessageTransform(param, mmMethod, metadataBlock);

            MmInvoke(MmMessageType.MmTransform, msg);
        }
Пример #3
0
        /// <summary>
        /// Deserialize the MmMessageTransform
        /// </summary>
        /// <param name="data">Object array representation of a MmMessageTransform</param>
        /// <returns>The index of the next element to be read from data</returns>
        public override int Deserialize(object[] data)
        {
            int index = base.Deserialize(data);

            MmTransform    = new MmTransform();
            index          = MmTransform.Deserialize(data, index);
            LocalTransform = (bool)data[index++];
            return(index);
        }
Пример #4
0
 /// <summary>
 /// Create an MmMessage, with control block, MmMethod, and an MmTransform
 /// </summary>
 /// <param name="transform">MmTransform payload</param>
 /// <param name="globalTransform">Should message recipient apply to global or local transform?</param>
 /// <param name="mmMethod">Identifier of target MmMethod</param>
 /// <param name="metadataBlock">Object defining the routing of messages</param>
 public MmMessageTransform(MmTransform transform,
                           bool localTransform,
                           MmMethod mmMethod             = default(MmMethod),
                           MmMetadataBlock metadataBlock = null)
     : base(mmMethod, metadataBlock)
 {
     MmTransform    = transform;
     LocalTransform = localTransform;
 }
Пример #5
0
        /// <summary>
        /// Deserialize the MmMessageTransformList
        /// </summary>
        /// <param name="data">Object array representation of a MmMessageTransformList</param>
        /// <returns>The index of the next element to be read from data</returns>
        public override int Deserialize(object[] data)
        {
            int index         = base.Deserialize(data);
            int numTransforms = (int)data[index++];

            transforms = new List <MmTransform>();
            for (int i = 0; i < numTransforms; i++)
            {
                MmTransform transform = new MmTransform();
                index = transform.Deserialize(data, index);
                transforms.Add(transform);
            }
            return(index);
        }
Пример #6
0
        /// <summary>
        /// Deserialize the message
        /// </summary>
        /// <param name="reader">UNET based deserializer object</param>
        public override void Deserialize(NetworkReader reader)
        {
            base.Deserialize(reader);
            transforms.Clear();

            int transformsCount = reader.ReadInt32();

            for (int i = 0; i < transformsCount; i++)
            {
                MmTransform tempTrans = new MmTransform();
                tempTrans.Deserialize(reader);
                transforms.Add(tempTrans);
            }
        }
Пример #7
0
 /// <summary>
 /// Creates a basic MmMessageTransform, with a control block
 /// </summary>
 /// <param name="metadataBlock">Object defining the routing of messages</param>
 public MmMessageTransform(MmMetadataBlock metadataBlock = null)
     : base(metadataBlock, MmMessageType.MmTransform)
 {
     MmTransform = new MmTransform();
 }
Пример #8
0
 /// <summary>
 /// Copy constructor for MmTransform.
 /// </summary>
 /// <param name="iMmTransform">MmTransform to be copied.</param>
 public MmTransform(MmTransform iMmTransform)
 {
     Translation = iMmTransform.Translation;
     Rotation    = iMmTransform.Rotation;
     Scale       = iMmTransform.Scale;
 }