示例#1
0
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     writer.Write(id);
     writer.Write(changeOccursWhen);
     writer.Write(numberOfStates);
     writer.WriteMany(states);
 }
示例#2
0
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     writer.Write(_data);
     //writer.Write(sourceID);
     //writer.Write(destID);
     //writer.Write(sourceFadeOutTime);
     //writer.Write(sourceFadeOutCurve);
     //writer.Write(sourceFadeOutOffset);
     //writer.Write(exitSource);
     //writer.Write(nextCueID);
     //writer.Write(nextAction);
     //writer.Write(destinationFadeInTime);
     //writer.Write(destinationFadeInCurve);
     //writer.Write(destinationFadeInOffset);
     //writer.Write(cueFilterID);
     //writer.Write(transitionObject);
     //writer.Write(transitionID);
     //writer.Write(transitionFadeInTime);
     //writer.Write(transitionFadeInCurve);
     //writer.Write(transitionFadeInOffset);
     //writer.Write(transitionFadeOutTime);
     //writer.Write(transitionFadeOutCurve);
     //writer.Write(transitionFadeOutOffset);
     //writer.Write(playPreEntryTransition);
     //writer.Write(playPostExistTransition);
 }
示例#3
0
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     writer.Write(header);
     writer.Write(size);
     writer.Write(objects.Count);
     // Each object writes their own ObjectInfo
     writer.WriteMany(objects);
 }
示例#4
0
 public override void Write(CustomBinaryWriter writer, bool writeData = true)
 {
     base.Write(writer, false);
     if (writeData)
     {
         WriteData(writer, 0);
     }
 }
示例#5
0
        /// <summary>
        /// Сериализует процесс
        /// </summary>
        /// <param name="bw">Писатель в поток</param>
        protected virtual void SerializeInternal(CustomBinaryWriter bw)
        {
            bw.Write(this.CompleteExecution);
            bw.Write(this.Id);
            bw.Write(this.PopulateExceptions);
            bw.Write((byte)this.Stage);
            bw.WriteNullable(this.StartedOnServer);
            bw.Write((byte)this._status);
            bw.Write((byte)this.TrackMode);
            bw.Write(this.StartTime);
            bw.Write(this.FinishTime);

            bw.Write(this._contextData != null);
            if (this._contextData != null)
            {
                this._contextData.SerializeInternal(bw);
            }

            lock (this.Parameters)
            {
                bw.Write7BitEncodedInt(this.Parameters.Count);
                foreach (string key in this.Parameters.Keys)
                {
                    bw.Write(key);
                }
                foreach (object value in this.Parameters.Values)
                {
                    bw.WriteObject(value);
                }
            }

            //bw.WriteObject(this.Progress);
            //bw.WriteObject(this.Result);

            bw.Write(this.Progress != null);
            if (this.Progress != null)
            {
                ((ICustomSerializable)this.Progress).SerializeInternal(bw);
            }

            bw.Write(this.Result != null);
            if (this.Result != null)
            {
                ((ICustomSerializable)this.Result).SerializeInternal(bw);
            }

            lock (this.ChildProcesses)
            {
                bw.Write7BitEncodedInt(this.ChildProcesses.Count);
                foreach (BizProcess process in this.ChildProcesses)
                {
                    this.WriteChildProcess(bw, process);
                }
            }

            bw.Write((byte)this.Node.NodeType);
            bw.Write(this.Node.NodeName);
        }
示例#6
0
 public virtual void Write(CustomBinaryWriter writer, bool writeData = true)
 {
     writer.Write(ObjType);
     writer.Write(Data.Length + 4);
     writer.Write(ID);
     if (writeData)
     {
         WriteData(writer, 0);
     }
 }
示例#7
0
文件: RTPC.cs 项目: sc2ad/BnkParser
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     writer.Write(gameParameterID);
     writer.Write(yType);
     writer.Write(unknownID);
     //writer.Write(_unknown);
     writer.Write(points.Count);
     writer.Write(_unknown2);
     writer.WriteMany(points);
 }
示例#8
0
 /// <summary>
 /// Cериализует процесс
 /// </summary>
 public void GetObjectData(SerializationInfo info, StreamingContext context)
 {
     using (MemoryStream ms = new MemoryStream())
     {
         using (CustomBinaryWriter bw = new CustomBinaryWriter(ms))
         {
             this.SerializeInternal(bw);
         }
         info.AddValue("_", ms.ToArray());
     }
 }
示例#9
0
 public override void Write(CustomBinaryWriter writer, bool writeData = true)
 {
     base.Write(writer, false);
     writer.Write(_unknown);
     writer.Write(State);
     writer.Write(IDAudio);
     writer.Write(IDSource);
     writer.Write(SoundType);
     if (writeData)
     {
         WriteData(writer, 17);
     }
 }
示例#10
0
 /// <summary/>
 protected void WriteChildProcess(CustomBinaryWriter bw, BizProcess childProcess)
 {
     if (BizProcessHolder.Instance.GetType(childProcess.ProcessTypeId) != null)
     {
         bw.Write(true);
         bw.Write(childProcess.ProcessTypeId);
         childProcess.SerializeInternal(bw);
     }
     else
     {
         bw.Write(false);
         bw.WriteObject(childProcess);
     }
 }
示例#11
0
 public override void Write(CustomBinaryWriter writer, bool writeData = true)
 {
     base.Write(writer, false);
     writer.Write(_startByte);
     writer.Write(type_state);
     writer.Write(_unknown1);
     writer.Write(ID1);
     writer.Write(_unknown2);
     writer.Write(ID2);
     if (writeData)
     {
         WriteData(writer, 0);
     }
 }
        public byte[] buildPacket()
        {
            BinaryWriter writer = ProtocolBuffer.Writer;

            writer.Write((byte)13);
            writer.Write(this.GetMsgType);
            MemoryStream stream  = new MemoryStream();
            BinaryWriter writer2 = new CustomBinaryWriter(stream);

            this.WriteToStream(writer2);
            ushort length = (ushort)stream.ToArray().Length;

            writer.Write(length);
            writer.Write(stream.ToArray());
            return(ProtocolBuffer.CacheStream.ToArray());
        }
示例#13
0
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     //writer.Write(overrideParentEffects);
     //writer.Write((byte)effects.Count);
     //if (effects.Count > 0)
     //{
     //    writer.Write(bitmaskEffect);
     //    writer.WriteMany(effects);
     //}
     //writer.Write(outputBusID);
     //writer.Write(parentID);
     //writer.Write(overrideParentPlayback);
     //writer.Write(offsetPrioritySetting);
     //writer.Write((byte)additionalParameters.Count);
     //writer.WriteMany(additionalParameters, (p) => writer.Write(p));
     //writer.WriteMany(additionalParameterValues, (p) => writer.Write(p));
     //writer.Write(_zero);
     //writer.Write(positioningSection);
     //if (positioningSection)
     //{
     //    writer.Write(positioningType);
     //    if (positioningType == 0)
     //    {
     //        writer.Write(enablePanner);
     //    }
     //    else if (positioningType == 1)
     //    {
     //        writer.Write(positionSource);
     //        writer.Write(attenuationID);
     //        writer.Write(enableSpatialization);
     //    }
     //    else if (positioningType == 2)
     //    {
     //        writer.Write(playType);
     //        writer.Write(loop);
     //        writer.Write(transitionTime);
     //        writer.Write(listenerOrientation);
     //    }
     //    else if (positioningType == 3)
     //    {
     //        writer.Write(update);
     //    }
     //    else
     //    {
     //        // ERROR!
     //        throw new ParseException($"Could not write positioningType from {nameof(SoundStructure)}! Value: {positioningType} is not between 0 - 3, at writer offset: 0x{writer.Position:X}");
     //    }
     //}
     //writer.Write(overrideParentAuxiliary);
     //writer.Write(gameDefinedAuxiliary);
     //writer.Write(overrideParentUserAuxiliary);
     //writer.Write(userAuxiliaryExists);
     //if (userAuxiliaryExists)
     //{
     //    writer.Write(busID0);
     //    writer.Write(busID1);
     //    writer.Write(busID2);
     //    writer.Write(busID3);
     //}
     //writer.Write(playbackLimit);
     //if (playbackLimit)
     //{
     //    writer.Write(priorityEqualApproach);
     //    writer.Write(limitReachedApproach);
     //    writer.Write(limitSoundsTo);
     //}
     //writer.Write(limitSoundInstances);
     //writer.Write(virtualVoiceBehavior);
     //writer.Write(overrideParentPlaybackLimit);
     //writer.Write(overrideVirtualVoice);
     writer.Write(unknown4_0);
     writer.Write(unknown_id);
     writer.Write(_unknown4_0);
     writer.Write(unknown1_0);
     writer.Write(unknown1_1);
     writer.Write(unknown1_2);
     writer.Write(someFloat);
     writer.Write(twoFlags);
     writer.Write(id);
     writer.Write(_unknown12_0);
     writer.Write(booleanData);
     writer.Write(stateGroups.Count);
     writer.WriteMany(stateGroups);
     writer.Write(rtpcs.Count);
     writer.WriteMany(rtpcs);
 }
示例#14
0
 internal void WriteData(CustomBinaryWriter writer, int startingIndex)
 {
     writer.Write(Data, startingIndex, Data.Length - startingIndex);
 }
示例#15
0
文件: Point.cs 项目: sc2ad/BnkParser
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     writer.Write(x);
     writer.Write(y);
     writer.Write(curveShape);
 }
示例#16
0
 public void Write(CustomBinaryWriter writer, bool writeData = false)
 {
     writer.Write(index);
     writer.Write(id);
     writer.Write(_unknown);
 }