/// <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; }
/// <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); }
/// <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); }
/// <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; }
/// <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); }
/// <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); } }
/// <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(); }
/// <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; }