Esempio n. 1
0
    public void RequestPurchaseOnSuccess(OuyaSDK.Product product)
    {
        m_status = string.Format("RequestPurchaseOnSuccess: {0}", product.identifier);

        // cache the receipt for offline use
        OuyaSDK.putGameData("FULL_GAME_UNLOCK", "1");
    }
Esempio n. 2
0
    public void RequestReceiptsOnSuccess(List <OuyaSDK.Receipt> receipts)
    {
        m_status = "RequestReceiptsOnSuccess";
        m_receipts.Clear();
        foreach (OuyaSDK.Receipt receipt in receipts)
        {
            m_receipts.Add(receipt);
        }

        // if a receipt was found, cache the receipt
        if (receipts.Count > 0)
        {
            // cache receipt for offline use
            OuyaSDK.putGameData("FULL_GAME_UNLOCK", "1");
        }
        // if receipt was removed, delete the cached receipt
        else
        {
            // delete cached receipt
            OuyaSDK.putGameData("FULL_GAME_UNLOCK", "0");
        }
    }
Esempio n. 3
0
    private void OnGUI()
    {
        try
        {
            Color oldColor = GUI.backgroundColor;

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnExit)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Exit", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnExit &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                m_status = "Exiting...";
                OuyaSDK.shutdown();
                Application.Quit();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btn720)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("720p", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btn720 &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                m_status = "Setting 1280x720...";
                Screen.SetResolution(1280, 720, true);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btn1080)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("1080p", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btn1080 &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                m_status = "Setting 1920x1080...";
                Screen.SetResolution(1920, 1080, true);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("IsRunningOnOUYAHardware: {0}", m_isRunningOnOUYAHardware));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("App Name: {0}", OuyaSDK.getStringResource("app_name")));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing...");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("State: {0}", m_state));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Status: {0}", m_status));
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUsername));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnRequestGamerInfo)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Request Gamer Info", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnRequestGamerInfo &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                m_status = "Requesting gamer info...";
                OuyaSDK.requestGamerInfo();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnPutGameData)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Put Game Data", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnPutGameData &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                OuyaSDK.putGameData(KEY_PUT_GAME_DATA, "This is a test!!!!");
            }
            GUI.backgroundColor = oldColor;

            if (m_focusManager.SelectedButton == m_btnGetGameData)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Get Game Data", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnGetGameData &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.Label(string.Format("GameData: {0}", m_gameData));
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Products:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnRequestProducts)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Request Products", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnRequestProducts &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                List <OuyaSDK.Purchasable> productIdentifierList =
                    new List <OuyaSDK.Purchasable>();

                foreach (string productId in Purchasables)
                {
                    OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable();
                    purchasable.productId = productId;
                    productIdentifierList.Add(purchasable);
                }

                m_status = "Requesting products...";
                OuyaSDK.requestProducts(productIdentifierList);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Product product in m_products)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(500);

                GUILayout.Label(string.Format("Name={0}", product.name));
                GUILayout.Label(string.Format("Price={0}", product.localPrice));
                GUILayout.Label(string.Format("Identifier={0}", product.identifier));

                GUILayout.FlexibleSpace();

                if (m_focusManager.SelectedButton == product)
                {
                    GUI.backgroundColor = Color.red;
                }
                if (GUILayout.Button("Request Purchase") ||
                    (m_focusManager.SelectedButton == product &&
                     OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
                {
                    m_status = "Requesting purchase...";
                    //Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier));
                    OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable();
                    purchasable.productId = product.identifier;
                    OuyaSDK.requestPurchase(purchasable);
                }
                GUI.backgroundColor = oldColor;

                GUILayout.EndHorizontal();
            }

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Receipts:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnRequestReceipts)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Request Receipts", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnRequestReceipts &&
                 OuyaSDK.OuyaInput.GetButtonUp(OuyaController.BUTTON_O)))
            {
                m_status = "Requesting receipts...";
                OuyaSDK.requestReceipts();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Receipt receipt in m_receipts)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(400);

                GUILayout.Label(string.Format("LocalPrice={0}", receipt.localPrice));
                GUILayout.Label(string.Format("Identifier={0}", receipt.identifier));

                GUILayout.EndHorizontal();
            }
        }
        catch (System.Exception)
        {
        }
    }
    private void OnGUI()
    {
        try
        {
            Color oldColor = GUI.backgroundColor;

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing...");
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUserName));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnGetGamerInfo)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Get Gamer Info", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnGetGamerInfo &&
                 OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O)))
            {
                OuyaSDK.fetchGamerInfo();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnPutGameData)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Put Game Data", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnPutGameData &&
                 OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O)))
            {
                OuyaSDK.putGameData(KEY_PUT_GAME_DATA, "This is a test!!!!");
            }
            GUI.backgroundColor = oldColor;

            if (m_focusManager.SelectedButton == m_btnGetGameData)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Get Game Data", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnGetGameData &&
                 OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O)))
            {
                m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.Label(string.Format("GameData: {0}", m_gameData));
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Products:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnGetProducts)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Get Products", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnGetProducts &&
                 OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O)))
            {
                List <OuyaSDK.Purchasable> productIdentifierList =
                    new List <OuyaSDK.Purchasable>();

                foreach (string productId in Purchasables)
                {
                    OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable();
                    purchasable.productId = productId;
                    productIdentifierList.Add(purchasable);
                }

                OuyaSDK.requestProductList(productIdentifierList);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Product product in m_products)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(400);

                GUILayout.Label(string.Format("Name={0}", product.name));
                GUILayout.Label(string.Format("Price={0}", product.localPrice));
                GUILayout.Label(string.Format("Identifier={0}", product.identifier));

                if (m_focusManager.SelectedButton == product)
                {
                    GUI.backgroundColor = Color.red;
                }
                if (GUILayout.Button("Purchase") ||
                    (m_focusManager.SelectedButton == product &&
                     OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O)))
                {
                    Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier));
                    OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable();
                    purchasable.productId = product.identifier;
                    OuyaSDK.requestPurchase(purchasable);
                }
                GUI.backgroundColor = oldColor;

                GUILayout.EndHorizontal();
            }

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Receipts:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnGetReceipts)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Get Receipts", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnGetReceipts &&
                 OuyaSDK.OuyaInput.GetButtonDown(0, OuyaController.BUTTON_O)))
            {
                OuyaSDK.requestReceiptList();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Receipt receipt in m_receipts)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(400);

                GUILayout.Label(string.Format("Price={0}", receipt.priceInCents));
                GUILayout.Label(string.Format("Identifier={0}", receipt.identifier));

                GUILayout.EndHorizontal();
            }
        }
        catch (System.Exception)
        {
        }
    }
Esempio n. 5
0
    private void OnGUI()
    {
        try
        {
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing...");
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (GUILayout.Button("Get Gamer UUID", GUILayout.Height(40)))
            {
                OuyaSDK.fetchGamerUUID();
            }
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (GUILayout.Button("Put Game Data", GUILayout.Height(40)))
            {
                OuyaSDK.putGameData(KEY_PUT_GAME_DATA, "This is a test!!!!");
            }
            if (GUILayout.Button("Get Game Data", GUILayout.Height(40)))
            {
                m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA);
            }
            GUILayout.Label(string.Format("GameData: {0}", m_gameData));
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Products:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (GUILayout.Button("Get Products", GUILayout.Height(40)))
            {
                List <OuyaSDK.Purchasable> productIdentifierList =
                    new List <OuyaSDK.Purchasable>();

                foreach (string productId in OuyaGameObject.Singleton.Purchasables)
                {
                    productIdentifierList.Add(new OuyaSDK.Purchasable(productId));
                }

                OuyaSDK.requestProductList(productIdentifierList);
            }
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Product product in m_products)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(400);

                GUILayout.Label(string.Format("Name={0}", product.getName()));
                GUILayout.Label(string.Format("Price={0}", product.getPriceInCents()));
                GUILayout.Label(string.Format("Identifier={0}", product.getIdentifier()));

                if (GUILayout.Button("Purchase"))
                {
                    Debug.Log(string.Format("Purchase Identifier: {0}", product.getIdentifier()));
                    OuyaSDK.requestPurchase(product.getIdentifier());
                }

                GUILayout.EndHorizontal();
            }

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Receipts:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (GUILayout.Button("Get Receipts", GUILayout.Height(40)))
            {
                OuyaSDK.requestReceiptList();
            }
            GUILayout.EndHorizontal();
        }
        catch (System.Exception)
        {
        }
    }
Esempio n. 6
0
    private void OnGUI()
    {
        try
        {
            Color oldColor = GUI.backgroundColor;

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnExit)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Exit", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnExit &&
                 IsPressed()))
            {
                m_status = "Exiting...";
                OuyaSDK.shutdown();
                Application.Quit();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btn720)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("720p", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btn720 &&
                 IsPressed()))
            {
                m_status = "Setting 1280x720...";
                Screen.SetResolution(1280, 720, true);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btn1080)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("1080p", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btn1080 &&
                 IsPressed()))
            {
                m_status = "Setting 1920x1080...";
                Screen.SetResolution(1920, 1080, true);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Input: Mouse: X={0} Y={1} Z={2}", Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z));
            GUILayout.Label(string.Format("Buttons: Left={0} Right={1} Middle={2}",
                                          Input.GetMouseButtonDown(0),
                                          Input.GetMouseButtonDown(1),
                                          Input.GetMouseButtonDown(2)));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Turret: Mouse: X={0} Y={1} Z={2}",
                                          OuyaSDK.OuyaInput.GetTurretMouseInfo(4),
                                          OuyaSDK.OuyaInput.GetTurretMouseInfo(5),
                                          OuyaSDK.OuyaInput.GetTurretMouseInfo(3)));
            int turretButtons = OuyaSDK.OuyaInput.GetTurretMouseInfo(0);
            GUILayout.Label(string.Format("Buttons: Left={0} Right={1} Middle={2}",
                                          (turretButtons & OuyaSDK.OuyaInput.TURRET_MOUSE_BUTTON_LEFT) != 0,
                                          (turretButtons & OuyaSDK.OuyaInput.TURRET_MOUSE_BUTTON_RIGHT) != 0,
                                          (turretButtons & OuyaSDK.OuyaInput.TURRET_BUTTON_MIDDLE) != 0));
            GUILayout.EndHorizontal();

            GUI.Label(new Rect(OuyaSDK.OuyaInput.GetTurretMouseInfo(4) - 5,
                               Screen.height - OuyaSDK.OuyaInput.GetTurretMouseInfo(5) - 5, 10, 20), "x");

#if false
            for (int i = 0; i < 6; ++i)
            {
                GUILayout.Label(string.Format("Turret Mouse Info: i={0} Value={1}", i, OuyaSDK.OuyaInput.GetTurretMouseInfo(i)));
            }
#endif

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("IsRunningOnOUYAHardware: {0}", m_isRunningOnOUYAHardware));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("App Name: {0}", OuyaSDK.getStringResource("app_name")));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(OuyaSDK.isIAPInitComplete() ? "IAP is initialized" : "IAP initializing...");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("State: {0}", m_state));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Status: {0}", m_status));
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer UUID: {0}", m_gamerUUID));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label(string.Format("Gamer User Name: {0}", m_gamerUsername));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnRequestGamerInfo)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Request Gamer Info", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnRequestGamerInfo &&
                 IsPressed()))
            {
                m_status = "Requesting gamer info...";
                OuyaSDK.requestGamerInfo();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnPutGameData)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Put Game Data", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnPutGameData &&
                 IsPressed()))
            {
                if (m_gameData == "")
                {
                    m_gameData = "This is a test!!!!";
                }
                OuyaSDK.putGameData(KEY_PUT_GAME_DATA, m_gameData);
            }
            GUI.backgroundColor = oldColor;

            if (m_focusManager.SelectedButton == m_btnGetGameData)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Get Game Data", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnGetGameData &&
                 IsPressed()))
            {
                m_gameData = OuyaSDK.getGameData(KEY_PUT_GAME_DATA);
            }
            GUI.backgroundColor = oldColor;
            m_gameData          = GUILayout.TextField(m_gameData, GUILayout.Width(300), GUILayout.Height(40));
            GUILayout.EndHorizontal();

            GUILayout.Label(string.Empty);
            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Products:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnRequestProducts)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Request Products", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnRequestProducts &&
                 IsPressed()))
            {
                List <OuyaSDK.Purchasable> productIdentifierList =
                    new List <OuyaSDK.Purchasable>();

                foreach (string productId in Purchasables)
                {
                    OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable();
                    purchasable.productId = productId;
                    productIdentifierList.Add(purchasable);
                }

                m_status = "Requesting products...";
                OuyaSDK.requestProducts(productIdentifierList);
            }
            GUI.backgroundColor = oldColor;
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Product product in m_products)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(500);

                GUILayout.Label(string.Format("Name={0}", product.name));
                GUILayout.Label(string.Format("Price={0}", product.localPrice));
                GUILayout.Label(string.Format("Identifier={0}", product.identifier));

                GUILayout.FlexibleSpace();

                if (m_focusManager.SelectedButton == product)
                {
                    GUI.backgroundColor = Color.red;
                }
                if (GUILayout.Button("Request Purchase") ||
                    (m_focusManager.SelectedButton == product &&
                     IsPressed()))
                {
                    m_status = "Requesting purchase...";
                    //Debug.Log(string.Format("Purchase Identifier: {0}", product.identifier));
                    OuyaSDK.Purchasable purchasable = new OuyaSDK.Purchasable();
                    purchasable.productId = product.identifier;
                    OuyaSDK.requestPurchase(purchasable);
                }
                GUI.backgroundColor = oldColor;

                GUILayout.EndHorizontal();
            }

            GUILayout.Label(string.Empty);

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            GUILayout.Label("Receipts:");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Space(400);
            if (m_focusManager.SelectedButton == m_btnRequestReceipts)
            {
                GUI.backgroundColor = Color.red;
            }
            if (GUILayout.Button("Request Receipts", GUILayout.Height(40)) ||
                (m_focusManager.SelectedButton == m_btnRequestReceipts &&
                 IsPressed()))
            {
                m_status = "Requesting receipts...";
                OuyaSDK.requestReceipts();
            }
            GUI.backgroundColor = oldColor;
            GUILayout.EndHorizontal();

            foreach (OuyaSDK.Receipt receipt in m_receipts)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Space(400);

                GUILayout.Label(string.Format("LocalPrice={0}", receipt.localPrice));
                GUILayout.Label(string.Format("Identifier={0}", receipt.identifier));

                GUILayout.EndHorizontal();
            }
        }
        catch (System.Exception)
        {
        }
    }