Example #1
0
        /// <summary>
        /// Authenticates the Game Center local player. Call this as soon as the game is initialized.
        /// <br></br>
        /// Raises the LocalPlayerAuthenticated and LocalPlayerAuthencationFailed events on completion.
        /// <br></br>
        /// Once the local player is authenticated, you can get the <c>LocalPlayer</c> property.
        /// </summary>
        public static void AuthenticateLocalPlayer()
        {
            var gkLocalPlayer = GKLocalPlayer.LocalPlayer();

            if (gkLocalPlayer.RespondsToSelector("authenticateHandler"))
            {
                // ios 6.0 new call
                gkLocalPlayer.authenticateHandler = delegate(UIViewController viewController, NSError error) {
                    if (viewController != null)
                    {
                        _localPlayer = null;
                        UIApplication.deviceRootViewController.PresentViewController(viewController, true, null);
                    }
                    else
                    {
                        _CheckLocalPlayer(error);
                        error = null;
                    }
                };
            }
            else
            {
                // deprecated in ios 6.0
                gkLocalPlayer.Authenticate(delegate(NSError error) {
                    _CheckLocalPlayer(error);
                    error = null;
                });
            }
        }
        private void DoAuthentication()
        {
            try
            {
                if (UIDevice.CurrentDevice.CheckSystemVersion(4, 1))
                {
                    UIApplication.SharedApplication.BeginInvokeOnMainThread(delegate
                    {
                        lp = GKLocalPlayer.LocalPlayer;

                        if (lp != null)
                        {
                            if (!UIDevice.CurrentDevice.CheckSystemVersion(6, 0))
                            {
                                #pragma warning disable 618
                                // Game Center authentication for iOS 5 and older
                                lp.Authenticate(delegate(NSError error)
                                {
                                    #if DEBUG
                                    if (error != null)
                                    {
                                        Console.WriteLine(error);
                                    }
                                    #endif
                                });
                                #pragma warning restore 618
                            }
                            else
                            {
                                // Game Center authentication for iOS 6+
                                lp.AuthenticateHandler = delegate(UIViewController controller, NSError error)
                                {
                                    #if DEBUG
                                    if (error != null)
                                    {
                                        Console.WriteLine(error);
                                    }
                                    #endif

                                    if (controller != null)
                                    {
                                        ((UIViewController)Game.Instance.Services.GetService(typeof(UIViewController))).PresentViewController(controller, true, null);
                                    }
                                };
                            }
                        }
                    });
                }
            }
            #if DEBUG
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            #else
            catch
            {
            }
            #endif
        }
Example #3
0
        private void DoAuthentication()
        {
            try
            {
                var osVersion = UIDevice.CurrentDevice.SystemVersion;
                if (osVersion.Contains("."))
                {
                    if (osVersion.IndexOf(".") != osVersion.LastIndexOf("."))
                    {
                        var parts = osVersion.Split(char.Parse("."));
                        osVersion = parts[0] + "." + parts[1];
                    }
                }

                if (double.Parse(osVersion, System.Globalization.CultureInfo.InvariantCulture) > 4.1)
                {
                    UIApplication.SharedApplication.BeginInvokeOnMainThread(
                        delegate
                    {
                        lp = GKLocalPlayer.LocalPlayer;

                        if (lp != null)
                        {
                            Guide.IsVisible = true;
                            lp.Authenticate(delegate(NSError error)
                            {
                                try
                                {
                                    if (error != null)
                                    {
#if DEBUG
                                        Console.WriteLine(error);
#endif
                                    }
                                    else
                                    {
                                    }
                                }
                                finally
                                {
                                    Guide.IsVisible = false;
                                }
                            }
                                            );
                        }
                    });
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                Console.WriteLine(ex.Message);
#endif
            }
        }
Example #4
0
        public void Register()
        {
            if (_registered)
            {
                return;
            }

            GKLocalPlayer.LocalPlayer().RegisterListener(this);

            _registered = true;
        }
Example #5
0
        private void DoAuthentication()
        {
            try
            {
                if (UIDevice.CurrentDevice.CheckSystemVersion(4, 1))
                {
                    UIApplication.SharedApplication.BeginInvokeOnMainThread(delegate
                    {
                        lp = GKLocalPlayer.LocalPlayer;
                    
                        if (lp != null)
                        {
                            if (!UIDevice.CurrentDevice.CheckSystemVersion(6, 0))
                            {
                                #pragma warning disable 618
                                // Game Center authentication for iOS 5 and older
                                lp.Authenticate(delegate(NSError error)
                                {
                                    #if DEBUG
                                    if (error != null)
                                        Console.WriteLine(error);
                                    #endif
                                });
                                #pragma warning restore 618
                            }
                            else
                            {
                                // Game Center authentication for iOS 6+
                                lp.AuthenticateHandler = delegate(UIViewController controller, NSError error)
                                {
                                    #if DEBUG
                                    if (error != null)
                                        Console.WriteLine(error);
                                    #endif

                                    if (controller != null)
                                        ((UIViewController)Game.Instance.Services.GetService(typeof(UIViewController))).PresentViewController(controller, true, null);
                                };
                            }
                        }
                    });
                }
            }
            #if DEBUG
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            #else
            catch
            {
            }
            #endif
        }
 /// <summary>
 /// Initializes the controller. You must call this after subscribing to real-time match events.
 /// </summary>
 public static void Init()
 {
     if (!_init)
     {
         if (GKLocalPlayer.InstancesRespondToSelector("registerListener:"))
         {
             LocalPlayerListener.instance.Register();
         }
         else
         {
             GKMatchmaker.SharedMatchmaker().inviteHandler = _MatchInviteHandler;
         }
         _init = true;
     }
 }
Example #7
0
 /// <summary>
 /// Initializes the controller. You must call this after subscribing to turn-based match events.
 /// </summary>
 public static void Init()
 {
     if (!_init)
     {
         if (GKLocalPlayer.InstancesRespondToSelector("registerListener:"))
         {
             LocalPlayerListener.instance.Register();
         }
         else
         {
             GKTurnBasedEventHandler.SharedTurnBasedEventHandler().Delegate = TurnBasedEventHandlerDelegate.instance;
         }
         _init = true;
     }
 }
Example #8
0
        private void DoAuthentication()
        {
            try
            {
                var osVersion = UIDevice.CurrentDevice.SystemVersion;
                if (osVersion.Contains("."))
                {
                    if (osVersion.IndexOf(".") != osVersion.LastIndexOf("."))
                    {
                        var parts = osVersion.Split(char.Parse("."));
                        osVersion = parts[0] + "." + parts[1];
                    }
                }

                if (double.Parse(osVersion, System.Globalization.CultureInfo.InvariantCulture) > 4.1)
                {
                    UIApplication.SharedApplication.BeginInvokeOnMainThread(
                        delegate
                    {
                        lp = GKLocalPlayer.LocalPlayer;

                        if (lp != null)
                        {
                            lp.AuthenticateHandler = delegate(UIViewController controller, NSError error)
                            {
#if DEBUG
                                if (error != null)
                                {
                                    Console.WriteLine(error);
                                }
#endif
                                if (controller != null)
                                {
                                    ((UIViewController)Game.Instance.Services.GetService(typeof(UIViewController))).PresentViewController(controller, true, null);
                                }
                            };
                        }
                    });
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                Console.WriteLine(ex.Message);
#endif
            }
        }
Example #9
0
        private void DoAuthentication()
        {
            try
            {
                var osVersion = UIDevice.CurrentDevice.SystemVersion;
                if (osVersion.Contains("."))
                {
                    if (osVersion.IndexOf(".") != osVersion.LastIndexOf("."))
                    {
                        var parts = osVersion.Split(char.Parse("."));
                        osVersion = parts[0] + "." + parts[1];
                    }
                }

                if (double.Parse(osVersion) > 4.1)
                {
                    lp = GKLocalPlayer.LocalPlayer;
                    if (lp != null)
                    {
                        Guide.IsVisible = true;
                        lp.Authenticate(delegate(NSError error)
                        {
                            try
                            {
                                if (error != null)
                                {
                                    Console.WriteLine(error);
                                }
                                else
                                {
                                }
                            }
                            finally
                            {
                                Guide.IsVisible = false;
                            }
                        }
                                        );
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
		private void DoAuthentication()
		{
			try 				
			{
				var osVersion = UIDevice.CurrentDevice.SystemVersion;
				if(osVersion.Contains("."))
				if(osVersion.IndexOf(".") != osVersion.LastIndexOf("."))
				{
					var parts = osVersion.Split(char.Parse("."));
					osVersion = parts[0] + "." + parts[1];
				}
				
				if (double.Parse(osVersion) > 4.1)
				{
					
					lp = GKLocalPlayer.LocalPlayer;
			        if (lp != null)
					{
						lp.Authenticate( delegate(NSError error) 
						                	{  							              
												try 
												{
													if ( error != null )
													{
														Console.WriteLine(error);
													}
													else
													{
														
													}
												} 
												finally 
												{
													
												}
											}
						                );
					}
				}
			}
			catch (Exception ex) 
			{
				Console.WriteLine(ex.Message);
			}
		}
Example #11
0
		private void DoAuthentication()
		{
			try 
			{
				var verArray = UIDevice.CurrentDevice.SystemVersion.Split( new char[] {'.'} );
				if ( (int.Parse(verArray[0]) >= 4)
				&& (int.Parse(verArray[1]) >= 1) )
				{
					
					lp = GKLocalPlayer.LocalPlayer;
			        if (lp != null)
					{
						Guide.IsVisible = true;
						lp.Authenticate( delegate(NSError error) 
						                	{  							              
												try 
												{
													if ( error != null )
													{
									
													}
													else
													{
														
													}
												} 
												finally 
												{
													Guide.IsVisible = false;
												}
											}
						                );
					}
				}
			}
			catch (Exception) 
			{
				
			}
		}
Example #12
0
        private static void _CheckLocalPlayer(NSError error)
        {
            var gkLocalPlayer = GKLocalPlayer.LocalPlayer();

            if (gkLocalPlayer.authenticated)
            {
                // create wrapper and dispatch event
                _localPlayer = NSObjectWrapper.CreateWrapper(typeof(LocalPlayer), gkLocalPlayer, gkLocalPlayer.playerID) as LocalPlayer;
                if (_localPlayerAuthenticatedHandlers != null)
                {
                    _localPlayerAuthenticatedHandlers(null, EventArgs.Empty);
                }
            }
            else
            {
                // set it to null and dispatch event
                _localPlayer = null;
                if (_localPlayerAuthenticationFailedHandlers != null)
                {
                    _localPlayerAuthenticationFailedHandlers(null, new U3DXTErrorEventArgs(error));
                }
            }
        }
 private void DoAuthentication()
 {
     try
     {
         var verArray = UIDevice.CurrentDevice.SystemVersion.Split(new char[] { '.' });
         if ((int.Parse(verArray[0]) >= 4) &&
             (int.Parse(verArray[1]) >= 1))
         {
             lp = GKLocalPlayer.LocalPlayer;
             if (lp != null)
             {
                 Guide.IsVisible = true;
                 lp.Authenticate(delegate(NSError error)
                 {
                     try
                     {
                         if (error != null)
                         {
                         }
                         else
                         {
                         }
                     }
                     finally
                     {
                         Guide.IsVisible = false;
                     }
                 }
                                 );
             }
         }
     }
     catch (Exception)
     {
     }
 }
		private void DoAuthentication()
		{
			try 				
			{
				var osVersion = UIDevice.CurrentDevice.SystemVersion;
				if(osVersion.Contains("."))
				if(osVersion.IndexOf(".") != osVersion.LastIndexOf("."))
				{
					var parts = osVersion.Split(char.Parse("."));
					osVersion = parts[0] + "." + parts[1];
				}
				
				if (double.Parse(osVersion, System.Globalization.CultureInfo.InvariantCulture) > 4.1)
				{
                    UIApplication.SharedApplication.BeginInvokeOnMainThread(
                    delegate 
                    {
                        lp = GKLocalPlayer.LocalPlayer;
                        
    			        if (lp != null)
    					{
    						lp.Authenticate( delegate(NSError error) 
    						                	{  	
#if DEBUG
    												if ( error != null )								
    													Console.WriteLine(error);
#endif
    											}
    						                );
    					}
                    } );
				}
			}
			catch (Exception ex) 
			{
#if DEBUG				
				Console.WriteLine(ex.Message);
#endif
			}
		}
Example #15
0
        public void Login()
        {
            GKLocalPlayer player = GKLocalPlayer.LocalPlayer;

            if (!player.Authenticated)
            {
                player.AuthenticateHandler = (UIViewController controller, NSError error) =>
                {
                    if (controller != null)
                    {
                        UIViewController parent = AppMain.Current.Services.GetService(typeof(UIViewController)) as UIViewController;
                        parent.PresentViewController(controller, true, null);
                    }
                    else
                    {
                        if (GKLocalPlayer.LocalPlayer.Authenticated)
                        {
                            _enabled = true;

                            GKLeaderboard.LoadLeaderboards((GKLeaderboard[] leaderboards, NSError error3) =>
                            {
                                if (leaderboards != null && leaderboards.Length > 0 && _leaderboardInfo != null)
                                {
                                    LeaderboardInfo[] info = new LeaderboardInfo[leaderboards.Length];

                                    for (int idx = 0; idx < leaderboards.Length; ++idx)
                                    {
                                        GKLeaderboard lb = leaderboards[idx];

                                        int score = 0;

                                        if (lb.LocalPlayerScore != null)
                                        {
                                            score = (int)lb.LocalPlayerScore.Value;
                                        }

                                        info[idx] = new LeaderboardInfo(lb.Identifier)
                                        {
                                            Score = score
                                        };
                                    }

                                    _leaderboardInfo(info);
                                }
                            });

                            GKAchievement.LoadAchievements((GKAchievement[] achievements, NSError error2) =>
                            {
                                if (achievements != null && achievements.Length > 0 && _achievementInfo != null)
                                {
                                    AchievementInfo[] info = new AchievementInfo[achievements.Length];

                                    for (int idx = 0; idx < achievements.Length; ++idx)
                                    {
                                        GKAchievement ach = achievements[idx];

                                        info[idx] = new AchievementInfo(ach.Identifier)
                                        {
                                            Completion = ach.Completed ? Achievement.Completed : (int)ach.PercentComplete
                                        };
                                    }

                                    _achievementInfo(info);
                                }
                            });
                        }
                    }
                };
            }
        }
Example #16
0
		private void DoAuthentication()
		{
			try 				
			{
				var osVersion = UIDevice.CurrentDevice.SystemVersion;
				if(osVersion.Contains("."))
				if(osVersion.IndexOf(".") != osVersion.LastIndexOf("."))
				{
					var parts = osVersion.Split(char.Parse("."));
					osVersion = parts[0] + "." + parts[1];
				}
				
				if (double.Parse(osVersion, System.Globalization.CultureInfo.InvariantCulture) > 4.1)
				{
                    UIApplication.SharedApplication.BeginInvokeOnMainThread(
                    delegate 
                    {
                        lp = GKLocalPlayer.LocalPlayer;
                        
                        if (lp != null)
                        {
                            lp.AuthenticateHandler = delegate(UIViewController controller, NSError error)
                            {
#if DEBUG
                                if (error != null)
                                    Console.WriteLine(error);
#endif
                                if (controller != null)
                                    ((UIViewController)Game.Instance.Services.GetService(typeof(UIViewController))).PresentViewController(controller, true, null);
                            };
                        }
                    } );
				}
			}
			catch (Exception ex) 
			{
#if DEBUG				
				Console.WriteLine(ex.Message);
#endif
			}
		}
Example #17
0
        public async void checkHighest(int sc, string level)
        {
            string catString = "com.commtech.inapppurchTest.StageScores";              //com.commtech.inapppurchTest.

            GKLocalPlayer xx = GKLocalPlayer.LocalPlayer;

            GKLeaderboard Leaderboard = new GKLeaderboard(new [] { xx.PlayerID })
            {
                Identifier = catString
            };

            var ss = Leaderboard.LocalPlayerScore;
            //var scores = await Leaderboard.LoadScoresAsync ();
            var oldScore = 0;            //ss.Value;
            //var oldScore = current.Value;

//			if (ss.Value != null) {
//
//				oldScore = (int)ss.Value;
//			}
//			var Category = Convert.ToInt64(  level.Substring (1, 1));
//
//			Console.WriteLine ("XXXXXXXXXXXXXXXXXXMXMXMXMXMMXMXMXXXXXXMXMXMXXXXXXXX");
//

//			if (oldScore == null) {
            var newScore = new GKScore(catString)
            {
                Value = sc
            };

            newScore.ReportScore(new Action <NSError> ((error) => {
                if (error == null)
                {
                    Console.WriteLine("YYYYYYYYYYYYYYYYYYYYYYYYYYBBBYYYBYBYBYBYYyy");

                    //new UIAlertView ("Score reported", "Score Reported successfully", null, "OK", null).Show ();
                }
                else
                {
                    Console.WriteLine("XXXXXXXXXXXXXXXXXXMXMXMXMXMMXMXMXXXXXXMXMXMXXXXXXXX");

                    //new UIAlertView ("Score Reported Failed", "Score Reported Failed", null, "OK", null).Show ();
                }
                NSThread.SleepFor(1);
                //controller.updateHighScore ();
            }));

//
//			Console.WriteLine ("score::"  + newScore.Value);
//				await GKScore.ReportScoresAsync(new [] {  newScore });
////
//			}
//			else if (sc > oldScore) {
//			//	gcm.reportScore (sc, car);
//				var newScore = new GKScore (catString) {
//					Value = sc
//
//				};
//
//				//await GKScore.ReportScoresAsync(new [] {  newScore });
//
//			}


            //GameCenterManager1 gcm = new GameCenterManager1 ();
        }