Please Select Your Location
Australia
Österreich
België
Canada
Canada - Français
中国
Česká republika
Denmark
Deutschland
France
HongKong
Iceland
Ireland
Italia
日本
Korea
Latvija
Lietuva
Lëtzebuerg
Malta
المملكة العربية السعودية (Arabic)
Nederland
New Zealand
Norge
Polska
Portugal
Russia
Saudi Arabia
Southeast Asia
España
Suisse
Suomi
Sverige
台灣
Ukraine
United Kingdom
United States
Please Select Your Location
België
Česká republika
Denmark
Iceland
Ireland
Italia
Latvija
Lietuva
Lëtzebuerg
Malta
Nederland
Norge
Polska
Portugal
España
Suisse
Suomi
Sverige

程式碼範例

Unity
/** Language: C# */
using UnityEngine;
using System;
using Viveport;

public class ViveportDemo : MonoBehaviour
{
   private int nInitValue = 0, nResult = 0;
   private int nWidth = 110, nHeight = 40;
   private int nXStart = 10, nYStart = 35;
   private string stringToEdit = "Input Stats name";
   private string StatsCount = "Input max index";
   private string leaderboardToEdit = "Input leaderboard name";
   private string leaderboardUserName = "Input user name";
   private string leaderboardScore = "Input score";
   private string achivToEdit = "Input achieve name";
   private static bool bInit = true, bIsReady = false, bArcadeIsReady = false;

   static string VIVEPORT_ID = "bd67b286-aafc-449d-8896-bb7e9b351876";

   // Use this for initialization
   void Start ()
   {
       Api.Init(InitStatusHandler, VIVEPORT_ID);
   }

   void OnGUI()
   {
       if (bInit == false)
          GUI.contentColor = Color.white;
       else
          GUI.contentColor = Color.grey;

       // Init function
       if (GUI.Button(new Rect(nXStart, nYStart, nWidth, nHeight), "Init"))
       {
          if (bInit == false)
             Api.Init(InitStatusHandler, VIVEPORT_ID);
       }

       if (bInit == true)
          GUI.contentColor = Color.white;
       else
          GUI.contentColor = Color.grey;

       // Shutdown function
       if (GUI.Button(new Rect((nXStart + 1 * (nWidth + 10)), nYStart, nWidth, nHeight),
                      "Shutdown"))
       {
          if (bInit == true)
             Api.Shutdown(ShutdownHandler);
       }

       // IsReady function
       if (GUI.Button(new Rect((nXStart + 4 * (nWidth + 10)), nYStart, nWidth, nHeight),
                      "ArcadeIsReady"))
       {
          if (bInit == true)
             ArcadeLeaderboard.IsReady(IsArcadeLeaderboardReadyHandler);
       }

       /***************************************************************************/
       /*                         ArcadeLeaderboard sample code                   */
       /***************************************************************************/

       if (bInit == true && bArcadeIsReady == true)
           GUI.contentColor = Color.white;
       else
           GUI.contentColor = Color.grey;

       leaderboardToEdit = GUI.TextField(new Rect(10, 4 * nWidth + 20, 160, 20), leaderboardToEdit,
                                         150);

       // DownloadLeaderboardScores function
       if (GUI.Button(new Rect(nXStart, nYStart + 4 * nWidth + 20, nWidth, nHeight), "DL Arca LB"))
       {
           if (bInit == true && bArcadeIsReady == true)
           {
               ArcadeLeaderboard.DownloadLeaderboardScores(DownloadLeaderboardHandler,
                                                           leaderboardToEdit,
                                                           ArcadeLeaderboard.LeaderBoardTimeRange.AllTime,
                                                           10);
               Viveport.Core.Logger.Log("DownloadLeaderboardScores");
           }
           else
           {
               Viveport.Core.Logger.Log("Please make sure init & isReady are successful.");
           }
       }

       leaderboardUserName = GUI.TextField(new Rect(10 + 160, 4 * nWidth + 20, 160, 20),
                                           leaderboardUserName, 150);
       leaderboardScore = GUI.TextField(new Rect(10 + 320, 4 * nWidth + 20, 160, 20),
                                        leaderboardScore, 50);

       // UploadLeaderboardScore function
       if (GUI.Button(new Rect(nXStart + 1 * (nWidth + 10), nYStart + 4 * nWidth + 20, nWidth, nHeight),
                      "UL Arca LB"))
       {
           if (bInit == true && bArcadeIsReady == true)
           {
               ArcadeLeaderboard.UploadLeaderboardScore(UploadLeaderboardScoreHandler,
                                                        leaderboardToEdit,
                                                        leaderboardUserName,
                                                        int.Parse(leaderboardScore));
               Viveport.Core.Logger.Log("UploadLeaderboardScore");
           }
           else
           {
               Viveport.Core.Logger.Log("Please make sure init & isReady are successful.");
           }
       }

       // GetLeaderboardScoreCount function
       if (GUI.Button(new Rect(nXStart + 2 * (nWidth + 10), nYStart + 4 * nWidth + 20, nWidth, nHeight),
                      "Get Arca Count"))
       {
           if (bInit == true && bArcadeIsReady == true)
           {
               nResult = ArcadeLeaderboard.GetLeaderboardScoreCount();
               Viveport.Core.Logger.Log("GetLeaderboardScoreCount=> " + nResult);
           }
           else
           {
               Viveport.Core.Logger.Log("Please make sure init & Arcade isReady are successful.");
           }
       }

       // GetLeaderboardScore function
       if (GUI.Button(new Rect(nXStart + 3 * (nWidth + 10), nYStart + 4 * nWidth + 20, nWidth, nHeight),
                               "Get Arca Score"))
       {
           if (bInit == true && bArcadeIsReady == true)
           {
               int nResult = (int)ArcadeLeaderboard.GetLeaderboardScoreCount();

               Viveport.Core.Logger.Log("GetLeaderboardScoreCount => " + nResult);

               for (int i = 0; i < nResult; i++) { Viveport.Leaderboard lbdata; lbdata = ArcadeLeaderboard.GetLeaderboardScore(i); Viveport.Core.Logger.Log("UserName = " + lbdata.UserName + ", Score = " + lbdata.Score + ", Rank = " + lbdata.Rank); } } else { Viveport.Core.Logger.Log("Please make sure init & isReady are successful."); } } // GetLeaderboardUserScore function if (GUI.Button(new Rect(nXStart + 4 * (nWidth + 10), nYStart + 4 * nWidth + 20, nWidth, nHeight), "Get AC UScore")) { if (bInit == true && bArcadeIsReady == true) { int nResult = (int)ArcadeLeaderboard.GetLeaderboardUserScore(); Viveport.Core.Logger.Log("GetLeaderboardUserScore=> " + nResult);
           }
           else
           {
               Viveport.Core.Logger.Log("Please make sure init & isReady are successful.");
           }
       }

       // GetLeaderboardUserRank function
       if (GUI.Button(new Rect(nXStart + 5 * (nWidth + 10), nYStart + 4 * nWidth + 20, nWidth, nHeight),
                      "Get AC URank"))
       {
           if (bInit == true && bArcadeIsReady == true)
           {
               int nResult = (int)ArcadeLeaderboard.GetLeaderboardUserRank();
               Viveport.Core.Logger.Log("GetLeaderboardUserRank=> " + nResult);
           }
           else
           {
               Viveport.Core.Logger.Log("Please make sure init & isReady are successful.");
           }
       }
    }

    private static void InitStatusHandler(int nResult)
    {
       if (nResult == 0)
       {
          bInit = true;
          bIsReady = false;
          Viveport.Core.Logger.Log("InitStatusHandler is successful");
       }
       else
       {
          bInit = false;
          Viveport.Core.Logger.Log("IsReadyHandler error : " + nResult);
       }
    }

    private static void IsReadyHandler(int nResult)
    {
       if (nResult == 0)
       {
          bIsReady = true;
          Viveport.Core.Logger.Log("IsReadyHandler is successful");
       }
       else
       {
          bIsReady = false;
          Viveport.Core.Logger.Log("IsReadyHandler error: " + nResult);
       }
    }

    private static void ShutdownHandler(int nResult)
    {
       if (nResult == 0)
       {
          bInit = false;
          bIsReady = false;
          Viveport.Core.Logger.Log("ShutdownHandler is successful");
       }
       else
          Viveport.Core.Logger.Log("ShutdownHandler error: " + nResult);
    }

    private static void DownloadLeaderboardHandler(int nResult)
    {
       if (nResult == 0)
          Viveport.Core.Logger.Log("DownloadLeaderboardHandler is successful");
       else
          Viveport.Core.Logger.Log("DownloadLeaderboardHandler error: " + nResult);
    }

    private static void UploadLeaderboardScoreHandler(int nResult)
    {
       if (nResult == 0)
          Viveport.Core.Logger.Log("UploadLeaderboardScoreHandler is successful.");
       else
          Viveport.Core.Logger.Log("UploadLeaderboardScoreHandler error : " + nResult);
    }
}