public void OnModifyWorldProperty(ModifyWorldProperty packet) { lock (WorldProperty) { foreach (var pair in packet.Property) { WorldProperty[pair.Key] = pair.Value; } if (packet.RemovedKeys != null) { foreach (var key in packet.RemovedKeys) { WorldProperty.Remove(key); } } } if (packet.Slient) { return; } lock (Sessions) { Sessions.Broadcast(packet); } }
private void ProcessModifyWorldProperty(ModifyWorldProperty packet) { foreach (var pair in packet.Property) { worldProperty[pair.Key] = pair.Value; } if (packet.RemovedKeys != null) { foreach (var key in packet.RemovedKeys) { worldProperty.Remove(key); } } if (onModifyWorldProperty != null) { AddTask(() => onModifyWorldProperty.Invoke(packet)); } }