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);
            }
        }
Exemple #2
0
    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));
        }
    }