// can be overridden for testing protected void Initialize() { Modifiers = new List<NetworkSkinModifier>(); Errors = new NetworkSkinLoadErrors(); PrefabCollection = new GamePrefabCollection(); NetManager = new GameNetManager(); }
public static List<NetworkSkinModifier> Deserialize(byte[] data, out NetworkSkinLoadErrors errors) { using (var stream = new MemoryStream(data)) { var dataContainer = DataSerializer.Deserialize<Data>(stream, DataSerializer.Mode.Memory, NetworkSkinsMod.ResolveSerializedType); errors = dataContainer.Errors; return dataContainer.Modifiers; } }
public void Deserialize(DataSerializer s) { Initialize(); Errors = new NetworkSkinLoadErrors(); var appliedSkinsLength = s.ReadInt32(); AppliedSkins.Clear(); for (var i = 0; i < appliedSkinsLength; i++) { AppliedSkins.Add(NetworkSkin.Deserialize(s, PrefabCollection, Errors)); } var segmentSkinsLength = s.ReadInt32(); for (var i = 0; i < segmentSkinsLength; i++) { var skinIndex = s.ReadUInt16(); if (SegmentSkins.Length > i) { SegmentSkins[i] = AppliedSkinForIndex(skinIndex); } } var nodeSkinsLength = s.ReadInt32(); for (var i = 0; i < nodeSkinsLength; i++) { var skinIndex = s.ReadUInt16(); if (NodeSkins.Length > i) { NodeSkins[i] = AppliedSkinForIndex(skinIndex); } } }