原地址:

http://forum.unity3d.com/threads/116901-Game-Center-Support/page3

using UnityEngine;
using UnityEngine.SocialPlatforms; public class Startup : MonoBehaviour
{
// we'll create some buttons in OnGui, allowing us to bump achievement and
// score values for testing private double ach1 = ;
private double ach2 = ;
private double ach3 = ;
private double ach4 = ; private long score1 = ;
private long score2 = ; private int buttonWidth = ;
private int buttonHeight = ;
private int buttonGap = ; void Start()
{
Social.localUser.Authenticate(HandleAuthenticated);
} // authentication private void HandleAuthenticated(bool success)
{
Debug.Log("*** HandleAuthenticated: success = " + success);
if (success) {
Social.localUser.LoadFriends(HandleFriendsLoaded);
Social.LoadAchievements(HandleAchievementsLoaded);
Social.LoadAchievementDescriptions(HandleAchievementDescriptionsLoaded);
}
} private void HandleFriendsLoaded(bool success)
{
Debug.Log("*** HandleFriendsLoaded: success = " + success);
foreach (IUserProfile friend in Social.localUser.friends) {
Debug.Log("* friend = " + friend.ToString());
}
} private void HandleAchievementsLoaded(IAchievement[] achievements)
{
Debug.Log("*** HandleAchievementsLoaded");
foreach (IAchievement achievement in achievements) {
Debug.Log("* achievement = " + achievement.ToString());
}
} private void HandleAchievementDescriptionsLoaded(IAchievementDescription[] achievementDescriptions)
{
Debug.Log("*** HandleAchievementDescriptionsLoaded");
foreach (IAchievementDescription achievementDescription in achievementDescriptions) {
Debug.Log("* achievementDescription = " + achievementDescription.ToString());
}
} // achievements public void ReportProgress(string achievementId, double progress)
{
if (Social.localUser.authenticated) {
Social.ReportProgress(achievementId, progress, HandleProgressReported);
}
} private void HandleProgressReported(bool success)
{
Debug.Log("*** HandleProgressReported: success = " + success);
} public void ShowAchievements()
{
if (Social.localUser.authenticated) {
Social.ShowAchievementsUI();
}
} // leaderboard public void ReportScore(string leaderboardId, long score)
{
if (Social.localUser.authenticated) {
Social.ReportScore(score, leaderboardId, HandleScoreReported);
}
} public void HandleScoreReported(bool success)
{
Debug.Log("*** HandleScoreReported: success = " + success);
} public void ShowLeaderboard()
{
if (Social.localUser.authenticated) {
Social.ShowLeaderboardUI();
}
} // gui public void OnGUI()
{
// four buttons, allowing us to bump and test setting achievements
int yDelta = buttonGap;
if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 1")) {
ReportProgress("A0001", ach1);
ach1 = (ach1 == ) ? : ach1 + ;
}
yDelta += buttonHeight + buttonGap;
if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 2")) {
ReportProgress("A0002", ach2);
ach2 = (ach2 == ) ? : ach2 + ;
}
yDelta += buttonHeight + buttonGap;
if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 3")) {
ReportProgress("A0003", ach3);
ach3 = (ach3 == ) ? : ach3 + ;
}
yDelta += buttonHeight + buttonGap;
if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Ach 4")) {
ReportProgress("A0004", ach4);
ach4 = (ach4 == ) ? : ach4 + ;
}
// show achievements
yDelta += buttonHeight + buttonGap;
if (GUI.Button(new Rect(buttonGap, yDelta, buttonWidth, buttonHeight), "Show Achievements")) {
ShowAchievements();
} // two buttons, allowing us to bump and test setting high scores
int xDelta = Screen.width - buttonWidth - buttonGap;
yDelta = buttonGap;
if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Score 1")) {
ReportScore("L01", score1);
score1 += ;
}
yDelta += buttonHeight + buttonGap;
if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Score 2")) {
ReportScore("L02", score2);
score2 += ;
}
// show leaderboard
yDelta += buttonHeight + buttonGap;
if (GUI.Button(new Rect(xDelta, yDelta, buttonWidth, buttonHeight), "Show Leaderboard")) {
ShowLeaderboard();
}
}
}

最新文章

  1. 2-Spark高级数据分析-第二章 用Scala和Spark进行数据分析
  2. Mysql 5.7.10以上版本安装大坑
  3. 修改Oracle并行度的方法
  4. LeetCode1:Two Sum
  5. MP20 MBO issue summary
  6. ch02-HTML的基本概念
  7. HDU 1025 Constructing Roads In JGShining's Kingdom (DP)
  8. jquery mobile将页面内容当成弹框进行显示
  9. FieldInfo.IsSpecialName Property【转】
  10. 【转】Objective-C Runtime
  11. 快速失败机制--fail-fast
  12. Charles使用心得总结
  13. Linux:固定 ip
  14. Java并发编程基础-ReentrantLock的机制
  15. mongodb配置、启动、备份
  16. 【2017下集美大学软工1412班_助教博客】团队作业7——第二次项目冲刺(Beta阶段)成绩公示
  17. c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明
  18. 第2章 Python基础-字符编码&数据类型 字典 练习题
  19. I2C上拉电阻
  20. e606. Determining Which Component or Window Has the Focus

热门文章

  1. CodeForces 733D Kostya the Sculptor
  2. 【BZOJ 1051】 1051: [HAOI2006]受欢迎的牛 (SCC)
  3. CodeForces 380C Sereja and Brackets(扫描线+树状数组)
  4. BZOJ 1532 [POI2005]Kos-Dicing(二分+最大流判断)
  5. #iOS问题记录#UITableView加载后直接滑动倒最底部
  6. Eclipse、svn插件、subclipse的安装
  7. python框架django中结合vue进行前后端分离
  8. Font Include Sass Mixin
  9. simple_strtoul()
  10. [Linux] Proc 文件系统