コード例 #1
0
    public void ProcessPurchase(string productIdentifier)
    {
        if (m_ProductParamMap.ContainsKey(productIdentifier))
        {
            ProductParam productParam = m_ProductParamMap[productIdentifier];

            switch (productParam.m_ProductType)
            {
            case InAppProductList.ProductType.COIN:
                GameData.Instance.m_Coin += productParam.m_nProductParam;
                Debug.Log(string.Format("InAppProcessor::ProcessPurchase: PASS. Product: '{0}'", productIdentifier));

                // @todo Some feedback
                break;

            case InAppProductList.ProductType.AVATAR:
                GemLibrary.GemSet gemType = (GemLibrary.GemSet)productParam.m_nProductParam;

                /*
                 * if ( !GameData.Instance.m_Sets.Contains( gemType ) )
                 * {
                 *      GameData.Instance.m_Sets.Add( gemType );
                 *      GameData.Instance.m_GemList.Add( gemType );
                 * }
                 */
                GameData.Instance.UnlockGem(gemType);

                Debug.Log(string.Format("InAppProcessor::ProcessPurchase: PASS. Product: '{0}'", productIdentifier));

                // Enable item screen controls
                GameObject  shopManager = GameObject.FindGameObjectWithTag("Shop Manager");
                ShopManager sm          = shopManager.GetComponent <ShopManager>();
                sm.EnableItemScreenControl(true);

                // Some feedback
                //GemLibrary gemLibrary = GameObject.Find( "Gem Library" ).GetComponent<GemLibrary>();
                GemLibrary      gemLibrary = GemLibrary.Instance;
                GemContainerSet gemSet     = gemLibrary.GemsSetList[productParam.m_nProductParam];

                GameObject explosion = ( GameObject )Instantiate(gemSet.m_Explosion, sm.GetCurrentItemIcon().transform.position, Quaternion.identity);
                explosion.layer = LayerMask.NameToLayer("UI Particles");
                ParticleSystem ps = explosion.GetComponent <ParticleSystem>();
                ps.GetComponent <Renderer>().sortingLayerName = "UI Particles";
                ps.GetComponent <Renderer>().sortingOrder     = LayerMask.NameToLayer("UI Particles");
                Destroy(explosion, ps.duration + ps.startLifetime + Time.deltaTime);

                break;

            default:
                Debug.Log(string.Format("InAppProcessor::ProcessPurchase: FAIL. Invalid product type: '{0}'", productParam.m_ProductType.ToString()));
                return;
            }

            SaveLoad.Save();
        }
        else
        {
            Debug.Log(string.Format("InAppProcessor::ProcessPurchase: FAIL. Unrecognized product: '{0}'", productIdentifier));
        }
    }
コード例 #2
0
    // Equip (Set gem set)
    public bool EquipGemSet(GemLibrary.GemSet gemSet)
    {
        m_GemSet = m_GemLibrary.GemsSetList[(int)gemSet];
        if (GameData.Instance.m_Sets.Contains(gemSet))
        {
            GameData.Instance.m_EquippedGemSet = gemSet;
            SaveLoad.Save();
            return(true);
        }

        return(false);
    }
コード例 #3
0
    // Use this for initialization
    void Start()
    {
        DontDestroyOnLoad(this);

        m_GemLibrary = GameObject.Find("Gem Library").GetComponent <GemLibrary>();

        // If gem set is inside the inventory
        if (GameData.Instance.m_Sets.Contains(GameData.Instance.m_EquippedGemSet))
        {
            m_GemSet = m_GemLibrary.m_GemsSetList[(int)GameData.Instance.m_EquippedGemSet];
        }
        else
        {
            EquipGemSet(GemLibrary.GemSet.GEM);
        }
    }
コード例 #4
0
ファイル: InAppProductList.cs プロジェクト: cryizzle/Linkit
    // return: com.<company_name>.<project_name>.<product_type>.<product_identifier>
    public static string GetProductIdentifier(ProductType productType, int productParam)
    {
        switch (productType)
        {
        case InAppProductList.ProductType.COIN:
            return(PRODUCT_PREFIX + productType.ToString().ToLower() + "." + productParam.ToString());

        case InAppProductList.ProductType.AVATAR:
            GemLibrary      gemLibrary = GameObject.Find("Gem Library").GetComponent <GemLibrary>();
            GemContainerSet gemSet     = gemLibrary.m_GemsSetList[productParam];
            return(PRODUCT_PREFIX + ProductType.AVATAR.ToString().ToLower() + "." + gemSet.m_sGemContainerSetName.ToLower());

        default:
            Debug.Log(string.Format("InAppProcessor::GetProductIdentifier: FAIL. Invalid product type: '{0}'", productType.ToString()));
            return("");
        }
    }