Beispiel #1
0
        public static AvailableNetworkSessionCollection Find(
            NetworkSessionType sessionType,
            int maxLocalGamers,
            NetworkSessionProperties searchProperties
            )
        {
            try
            {
                if (maxLocalGamers < 1 || maxLocalGamers > 4)
                {
                    throw new ArgumentOutOfRangeException("maxLocalGamers must be between 1 and 4.");
                }

                networkSessionType = sessionType;

                GKPeerPickerController peerPickerController = new GKPeerPickerController();
                peerPickerController.Delegate = new MonoGamePeerPickerControllerDelegate(gkSession, ReceiveData);
                if (sessionType == NetworkSessionType.SystemLink)
                {
                    peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
                }
                else if (sessionType == NetworkSessionType.PlayerMatch)
                {
                    peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby | GKPeerPickerConnectionType.Online;
                }
                peerPickerController.Show();
                List <AvailableNetworkSession> availableNetworkSessions = new List <AvailableNetworkSession>();

                return(new AvailableNetworkSessionCollection(availableNetworkSessions));
            }
            finally
            {
            }
        }
Beispiel #2
0
        void ShowPeerPicker()
        {
            GameKitSession = new GKSession ("com.mikebluestein.gamekitchat", UIDevice.CurrentDevice.Name, GKSessionMode.Peer);
            GameKitSession.ReceiveData += (s, e) => { AddMessage (NSString.FromData (e.Data, NSStringEncoding.UTF8).ToString ()); };
            GameKitSession.ConnectionRequest += (s, e) => { e.Session.AcceptConnection (e.PeerID, IntPtr.Zero); };

            GKPeerPickerController peerPickerController = new GKPeerPickerController ();
            peerPickerController.Delegate = new PeerPickerDelegate (this);
            peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
            peerPickerController.Show ();
        }
 void ShowPeerPicker ()
 {
     _session = new GKSession ("com.lmt.gkchat2", UIDevice.CurrentDevice.Name, GKSessionMode.Peer);
     _session.ReceiveData += (s, e) => { AddToChatHistory (NSString.FromData (e.Data, NSStringEncoding.UTF8).ToString ()); };
     _session.ConnectionRequest += (s, e) => { e.Session.AcceptConnection (e.PeerID, IntPtr.Zero); };
     
     _peerPickerController = new GKPeerPickerController ();
     _peerPickerController.Delegate = new PeerPickerDelegate (this);
     _peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
     _peerPickerController.Show ();
 }
Beispiel #4
0
        void ShowPeerPicker()
        {
            _session                    = new GKSession("com.lmt.gkchat2", UIDevice.CurrentDevice.Name, GKSessionMode.Peer);
            _session.ReceiveData       += (s, e) => { AddToChatHistory(NSString.FromData(e.Data, NSStringEncoding.UTF8).ToString()); };
            _session.ConnectionRequest += (s, e) => { e.Session.AcceptConnection(e.PeerID, IntPtr.Zero); };

            _peerPickerController                     = new GKPeerPickerController();
            _peerPickerController.Delegate            = new PeerPickerDelegate(this);
            _peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
            _peerPickerController.Show();
        }
Beispiel #5
0
        void ShowPeerPicker()
        {
            GameKitSession                    = new GKSession("com.mikebluestein.gamekitchat", UIDevice.CurrentDevice.Name, GKSessionMode.Peer);
            GameKitSession.ReceiveData       += (s, e) => { AddMessage(NSString.FromData(e.Data, NSStringEncoding.UTF8).ToString()); };
            GameKitSession.ConnectionRequest += (s, e) => { e.Session.AcceptConnection(e.PeerID, IntPtr.Zero); };

            GKPeerPickerController peerPickerController = new GKPeerPickerController();

            peerPickerController.Delegate            = new PeerPickerDelegate(this);
            peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
            peerPickerController.Show();
        }
        void ShowPeerPicker ()
        {
            _gkSession = new GKSession ("com.lmt.gkvoicechat", UIDevice.CurrentDevice.Name, GKSessionMode.Peer);

            _gkSession.ReceiveData += delegate(object sender, GKDataReceivedEventArgs e) { 
                GKVoiceChatService.Default.ReceivedData (e.Data, e.PeerID); 
            };          
            
            _gkSession.ConnectionRequest += delegate(object sender, GKPeerConnectionEventArgs e) {         
                e.Session.AcceptConnection (e.PeerID, IntPtr.Zero);
            };
            
            GKPeerPickerController peerPickerController = new GKPeerPickerController ();
            peerPickerController.Delegate = new PeerPickerDelegate (this);
            peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
            peerPickerController.Show ();
        }
Beispiel #7
0
        public static void ShowPeerPicker(GKPeerPickerControllerDelegate aPeerPickerControllerDelegate)
        {
            if ((Gamer.SignedInGamers.Count > 0) && (Gamer.SignedInGamers[0].IsSignedInToLive))
            {
                // Lazy load it
                if (peerPickerController == null)
                {
                    peerPickerController = new GKPeerPickerController();
                }

                if (peerPickerController != null)
                {
                    peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
                    peerPickerController.Delegate            = aPeerPickerControllerDelegate;
                    peerPickerController.Show();
                }
            }
        }
Beispiel #8
0
        void ShowPeerPicker()
        {
            _gkSession = new GKSession("com.lmt.gkvoicechat", UIDevice.CurrentDevice.Name, GKSessionMode.Peer);

            _gkSession.ReceiveData += delegate(object sender, GKDataReceivedEventArgs e) {
                GKVoiceChatService.Default.ReceivedData(e.Data, e.PeerID);
            };

            _gkSession.ConnectionRequest += delegate(object sender, GKPeerConnectionEventArgs e) {
                e.Session.AcceptConnection(e.PeerID, IntPtr.Zero);
            };

            GKPeerPickerController peerPickerController = new GKPeerPickerController();

            peerPickerController.Delegate            = new PeerPickerDelegate(this);
            peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
            peerPickerController.Show();
        }
Beispiel #9
0
        public static AvailableNetworkSessionCollection Find(
            NetworkSessionType sessionType,
            int maxLocalGamers,
            NetworkSessionProperties searchProperties
            )
        {
            try
            {
                if ( maxLocalGamers < 1 ||   maxLocalGamers > 4 )
                    throw new ArgumentOutOfRangeException( "maxLocalGamers must be between 1 and 4." );

                networkSessionType = sessionType;

                GKPeerPickerController peerPickerController = new GKPeerPickerController();
                peerPickerController.Delegate = new MonoGamePeerPickerControllerDelegate(gkSession, ReceiveData);
                if ( sessionType == NetworkSessionType.SystemLink )
                {
                 	peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby;
                }
                else if ( sessionType == NetworkSessionType.PlayerMatch )
                {
                    peerPickerController.ConnectionTypesMask = GKPeerPickerConnectionType.Nearby | GKPeerPickerConnectionType.Online;
                }
                peerPickerController.Show();
                List<AvailableNetworkSession> availableNetworkSessions = new List<AvailableNetworkSession>();

                return new AvailableNetworkSessionCollection( availableNetworkSessions );
            }
            finally
            {
            }
        }