Exemplo n.º 1
0
    private void HandleElementCreation(Elements.Element element)
    {
        element.DataChanged += (sender, args) =>
        {
            switch (args.SyncType)
            {
            case DataSyncType.Broadcast:
                var packet = new SetElementDataRpcPacket(sender.Id, args.Key, args.NewValue);
                this.server.BroadcastPacket(packet);
                break;

            case DataSyncType.Subscribe:
                new SetElementDataRpcPacket(sender.Id, args.Key, args.NewValue)
                .SendTo(element.GetPlayersSubcribedToData(args.Key));
                break;
            }
        };
    }