private static void SendPinsToServer(ZRpc client)
        {
            var pins         = Traverse.Create(_Minimap._instance).Field("m_pins").GetValue() as List <Minimap.PinData>;
            var filteredPins = new List <PinData>();

            foreach (var pin in pins)
            {
                if (pin.m_save)
                {
                    filteredPins.Add(UtilityPin.ConvertPin(pin));
                }
            }

            var z = ExplorationDatabase.PackPins(filteredPins);

            if (client == null)
            {
                OnClientInitialDataPin(null, z);
            }
            else
            {
                var znet   = Traverse.Create(typeof(ZNet)).Field("m_instance").GetValue() as ZNet;
                var server = _ZNet.GetServerRPC(znet);
                server.Invoke("OnClientInitialDataPin", (object)z);
            }
        }
        private static void SendPinsToClient(ZRpc client)
        {
            if (!Store.IsSharingPin())
            {
                return;
            }

            var z = ExplorationDatabase.PackPins(ExplorationDatabase.GetPins());

            if (client == null)
            {
                OnReceiveInitialDataPin(null, z);
            }
            else
            {
                client.Invoke("OnReceiveInitialDataPin", (object)z);
            }
        }