Exemplo n.º 1
0
    void OnGUI()
    {
        GUILayout.Label("Unity GPG Plugin Demo");
        GUILayout.Space(20);
        GUILayout.BeginVertical();
        GUILayout.BeginHorizontal();

        if (GUILayout.Button("Init GPG", GUILayout.Height(60)))
        {
            Debug.Log("Init called");
            NerdGPG.GPG_SetGameObjectName(name);
            NerdGPG.GPG_Init(clientId);
        }
        if (GUILayout.Button("Silent SignIn", GUILayout.Height(60)))
        {
            Debug.Log("Silent Signin called");
            needFullSignin = !NerdGPG.GPG_TrySilentSignIn();
        }
        if (needFullSignin)
        {
            if (GUILayout.Button("SignIn", GUILayout.Height(60)))
            {
                Debug.Log("Signin called");
                NerdGPG.GPG_SignIn();
            }
        }
        if (m_loginState == GPLoginState.loggedin)
        {
            if (GUILayout.Button("SignOut", GUILayout.Height(60)))
            {
                NerdGPG.GPG_SignOut();
            }
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        if (m_loginState == GPLoginState.loggedin)
        {
            // we are logged in. we can do leaderboard and achievement and cloud stuff
            if (GUILayout.Button("GPG_ShowAllLeaderBoards", GUILayout.Height(60)))
            {
                NerdGPG.GPG_ShowAllLeaderBoards();
            }
            if (GUILayout.Button("GPG_ShowLeaderBoards", GUILayout.Height(60)))
            {
                NerdGPG.GPG_ShowLeaderBoards(testLeaderBoard);
            }

            if (GUILayout.Button("GPG_ShowAchievements", GUILayout.Height(60)))
            {
                NerdGPG.GPG_ShowAchievements();
            }

            if (GUILayout.Button("GPG_SubmitScore", GUILayout.Height(60)))
            {
                NerdGPG.GPG_SubmitScore(testLeaderBoard, 80);
            }
            if (GUILayout.Button("GPG_UnlocAchievement", GUILayout.Height(60)))
            {
                NerdGPG.GPG_UnlocAchievement(testAchievement);
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            dataToSave = GUILayout.TextField(dataToSave, 100);
            if (GUILayout.Button("GPG_SaveToCloud", GUILayout.Height(60)))
            {
                byte[] bytes = new byte[dataToSave.Length * sizeof(char)];
                System.Buffer.BlockCopy(dataToSave.ToCharArray(), 0, bytes, 0, bytes.Length);
                NerdGPG.GPG_SaveToCloud(0, bytes, bytes.Length);
            }
            if (GUILayout.Button("GPG_LoadFromCloud", GUILayout.Height(60)))
            {
//				NerdGPG.GPG_LoadFromCloud(0,bytes,bytes.Length);
                GCHandle handle = GCHandle.Alloc(key0CloudData, GCHandleType.Pinned);
                NerdGPG.GPG_LoadFromCloud(0, handle.AddrOfPinnedObject(), key0CloudData.Length);
                handle.Free();
            }
        }
        GUILayout.EndHorizontal();
        if (GUILayout.Button("GPG_HasAuthoriser", GUILayout.Height(60)))
        {
            Debug.Log("HasAuthoriser result " + NerdGPG.GPG_HasAuthoriser());
        }
        GUILayout.EndVertical();
    }