public static BasePieceMetadataProcessor FromMetaData(BasePieceMetadata metadata) { if (processorsByType.TryGetValue(metadata.GetType(), out BasePieceMetadataProcessor processor)) { return(processor); } return(noOpProcessor); }
public void UpdateBasePieceMetadata(NitroxId id, BasePieceMetadata metadata) { BasePiece basePiece; lock (basePiecesById) { if (basePiecesById.TryGetValue(id, out basePiece)) { basePiece.Metadata = Optional <BasePieceMetadata> .OfNullable(metadata); } } }
public void UpdateBasePieceMetadata(string guid, BasePieceMetadata metadata) { BasePiece basePiece; lock (basePiecesByGuid) { if (basePiecesByGuid.TryGetValue(guid, out basePiece)) { basePiece.Metadata = Optional <BasePieceMetadata> .OfNullable(metadata); } } }
public void AssignBasePieceMetadata(object sender, EventArgs eventArgs) { ThrottledBuilder.main.QueueDrained -= AssignBasePieceMetadata; foreach (KeyValuePair <string, BasePieceMetadata> guidWithMetadata in metadataByBasePieceGuid) { string guid = guidWithMetadata.Key; BasePieceMetadata metadata = guidWithMetadata.Value; BasePieceMetadataProcessor metadataProcessor = BasePieceMetadataProcessor.FromMetaData(metadata); metadataProcessor.UpdateMetadata(guid, metadata); } }
public void UpdateBasePieceMetadata(NitroxId id, BasePieceMetadata metadata) { BasePiece basePiece; lock (completedBasePieceHistory) { basePiece = completedBasePieceHistory.Find(piece => piece.Id == id); if (basePiece != null) { basePiece.Metadata = Optional <BasePieceMetadata> .OfNullable(metadata); } } }
public override void Process(InitialPlayerSync packet) { int basePieceMetadatas = 0; foreach (BasePiece basePiece in packet.BasePieces) { if (basePiece.Metadata.IsPresent()) { BasePieceMetadata metadata = basePiece.Metadata.Get(); BasePieceMetadataProcessor metadataProcessor = BasePieceMetadataProcessor.FromMetaData(metadata); metadataProcessor.UpdateMetadata(basePiece.Id, metadata); basePieceMetadatas++; } } Log.Info("Received initial sync packet with " + basePieceMetadatas + " base piece meta data"); }
public override IEnumerator Process(InitialPlayerSync packet, WaitScreen.ManualWaitItem waitScreenItem) { int basePiecesWithMetadata = 0; int basePiecesChecked = 0; foreach (BasePiece basePiece in packet.BasePieces) { waitScreenItem.SetProgress(basePiecesChecked, packet.BasePieces.Count); if (basePiece.Metadata.HasValue) { BasePieceMetadata metadata = basePiece.Metadata.Value; BasePieceMetadataProcessor metadataProcessor = BasePieceMetadataProcessor.FromMetaData(metadata); metadataProcessor.UpdateMetadata(basePiece.Id, metadata); basePiecesWithMetadata++; } basePiecesChecked++; yield return(null); } Log.Info("Received initial sync packet having " + basePiecesWithMetadata + " base pieces with meta data"); }
public override void UpdateMetadata(string guid, BasePieceMetadata metadata) { UpdateMetadata(guid, (T)metadata); }
public abstract void UpdateMetadata(NitroxId id, BasePieceMetadata metadata);
public abstract void UpdateMetadata(string guid, BasePieceMetadata metadata);
public void MetadataChanged(NitroxId pieceId, BasePieceMetadata metadata) { BasePieceMetadataChanged changePacket = new BasePieceMetadataChanged(pieceId, metadata); packetSender.Send(changePacket); }
public override void UpdateMetadata(NitroxId id, BasePieceMetadata metadata) { UpdateMetadata(id, (T)metadata); }
public override void UpdateMetadata(string guid, BasePieceMetadata metadata) { // No-op }
public BasePieceMetadataChanged(NitroxId pieceId, BasePieceMetadata metadata) { PieceId = pieceId; Metadata = metadata; }
public override void UpdateMetadata(NitroxId id, BasePieceMetadata metadata) { // No-op }