public override List <(UIndex, string)> GetUIndexes(MEGame game) { var uIndexes = new List <(UIndex, string)>(); for (int i = 0; i < StaticRecievers.Length; i++) { StaticReceiverData data = StaticRecievers[i]; uIndexes.Add((data.PrimitiveComponent, $"StaticReciever[{i}].PrimitiveComponent")); if (game == MEGame.ME3) { uIndexes.AddRange(data.ShadowMap1D.Select((u, j) => (u, $"StaticReciever[{i}].ShadowMap1D[{j}]"))); } } return(uIndexes); }
public static void Serialize(this SerializingContainer2 sc, ref StaticReceiverData dat) { if (sc.IsLoading) { dat = new StaticReceiverData(); } sc.Serialize(ref dat.PrimitiveComponent); sc.BulkSerialize(ref dat.Vertices, Serialize, sc.Game == MEGame.ME3 ? 28 : 52); sc.BulkSerialize(ref dat.Indices, SCExt.Serialize, 2); sc.Serialize(ref dat.NumTriangles); sc.Serialize(ref dat.LightMap); if (sc.Game == MEGame.ME3) { sc.Serialize(ref dat.ShadowMap1D, Serialize); sc.Serialize(ref dat.Data); sc.Serialize(ref dat.InstanceIndex); } }