private bool Changed(PlayfieldStructureData aLastData, PlayfieldStructureData aData) { return (aLastData.Playfield != aData.Playfield || aLastData.StructureInfo.pos.x != aData.StructureInfo.pos.x || aLastData.StructureInfo.pos.y != aData.StructureInfo.pos.y || aLastData.StructureInfo.pos.z != aData.StructureInfo.pos.z || aLastData.StructureInfo.dockedShips?.Count != aData.StructureInfo.dockedShips?.Count || aLastData.StructureInfo.classNr != aData.StructureInfo.classNr || aLastData.StructureInfo.cntLights != aData.StructureInfo.cntLights || aLastData.StructureInfo.cntTriangles != aData.StructureInfo.cntTriangles || aLastData.StructureInfo.cntBlocks != aData.StructureInfo.cntBlocks || aLastData.StructureInfo.cntDevices != aData.StructureInfo.cntDevices || aLastData.StructureInfo.powered != aData.StructureInfo.powered || aLastData.StructureInfo.name != aData.StructureInfo.name || aLastData.StructureInfo.factionId != aData.StructureInfo.factionId || aLastData.StructureInfo.factionGroup != aData.StructureInfo.factionGroup || aLastData.StructureInfo.coreType != aData.StructureInfo.coreType || aLastData.StructureInfo.pilotId != aData.StructureInfo.pilotId || aLastData.StructureInfo.type != aData.StructureInfo.type || aLastData.StructureInfo.lastVisitedUTC != aData.StructureInfo.lastVisitedUTC); }
private HistoryBookOfStructures CreateStructureHistoryEntry(GlobalStructureInfo?aLastData, PlayfieldStructureData aData, Action <dynamic> aAddInfo) { return(new HistoryBookOfStructures() { Timestamp = DateTime.Now.ToUniversalTime(), Playfield = aData.Playfield, EntityId = aData.StructureInfo.id, Name = aData.StructureInfo.name, PosX = (int)aData.StructureInfo.pos.x, PosY = (int)aData.StructureInfo.pos.y, PosZ = (int)aData.StructureInfo.pos.z, Changed = GetStructureChanges(aLastData, aData.StructureInfo, aAddInfo), }); }