public static new CustomDataMessage ReadFrom(System.IO.BinaryReader reader) { var result = new CustomDataMessage(); result.Data = Model.CustomData.ReadFrom(reader); return(result); }
protected override void Parse(ref BitStreamReader bsr) { DataType = (CustomDataType)bsr.ReadSInt(); uint size = bsr.ReadUInt(); DataMessage = CustomDataFactory.CreateCustomDataMessage(DemoRef, DataType); try { DataMessage.ParseStream(bsr.SplitAndSkip(size * 8)); } catch (Exception e) { DemoRef.LogError($"error while parsing custom data of type: {DataType}... {e.Message}"); DataMessage = new UnknownCustomDataMessage(DemoRef); } }
public static PlayerMessageGame ReadFrom(System.IO.BinaryReader reader) { switch (reader.ReadInt32()) { case CustomDataMessage.TAG: return(CustomDataMessage.ReadFrom(reader)); case ActionMessage.TAG: return(ActionMessage.ReadFrom(reader)); default: throw new System.Exception("Unexpected discriminant value"); } }