protected override void WriteDelta(BinaryWriter writer) { NetCoreObject obj = new NetCoreObject(Value); obj.Write(writer); NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> > netList = new NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> >(); if (Value.objects == null) { throw new Exception("Trying to write null object list!"); } foreach (var v in Value.objects) { StardustCore.ModCore.ModMonitor.Log(v.Value.name); netList.Add(v); } netList.Write(writer); NetColor col = new NetColor(Value.categoryColor); col.Write(writer); NetString catName = new NetString(Value.categoryName); catName.Write(writer); }
protected override void ReadDelta(BinaryReader reader, NetVersion version) { NetCoreObject obj = new NetCoreObject(); obj.Read(reader, version); //Values already taken care of in NetCoreObject NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> > netList = new NetList <KeyValuePair <Vector2, MultiTileComponent>, NetKeyValuePair <Vector2, MultiTileComponent, NetVector2, NetMultiTileComponent> >(); netList.Read(reader, version); if (netList.ToList() == null) { throw new Exception("WTF WHY IS NETLIST NULL?!?!?!?!"); } foreach (var v in netList.ToList()) { StardustCore.ModCore.ModMonitor.Log(v.Value.name, StardewModdingAPI.LogLevel.Alert); } Value.objects = netList.ToList(); //this.value.objects=netList.ToArray().ToList(); NetColor col = new NetColor(); col.Read(reader, version); Value.categoryColor = col.Value; NetString name = new NetString(); name.Read(reader, version); Value.categoryName = name.Value; }