public void OnModifyOptionalWorldProperty(ModifyOptionalWorldProperty packet) { lock (OptionalWorldProperty) { foreach (var pair in packet.Property) { OptionalWorldProperty[pair.Key] = pair.Value; } if (packet.RemovedKeys != null) { foreach (var key in packet.RemovedKeys) { OptionalWorldProperty.Remove(key); } } } if (packet.Slient) { return; } lock (Sessions) { Sessions.Broadcast(packet); } }
private void ProcessModifyOptionalWorldProperty(ModifyOptionalWorldProperty packet) { foreach (var pair in packet.Property) { optionalWorldProperty[pair.Key] = pair.Value; } if (packet.RemovedKeys != null) { foreach (var key in packet.RemovedKeys) { optionalWorldProperty.Remove(key); } } if (onModifyOptionalWorldProperty != null) { AddTask(() => onModifyOptionalWorldProperty.Invoke(packet)); } }