예제 #1
0
    static public void Write(string SheetName, string TableKey, string TableValue, string DataKey, string DataValue)
    {
        IAPConfigData      pIapConfigData = new IAPConfigData();
        CocoSqliteDBHelper db             = new CocoSqliteDBHelper(DBTool.LocalPath);
        int pTableCount = db.FindTable(SheetName, DBTool.LocalPath);

        if (pTableCount == 0)
        {
            db.CreateTable(SheetName, new string[] { TableKey, TableValue }, new string[] { "text", "text" });
        }

        SqliteDataReader pDataReader = db.SelectWhere(
            SheetName,
            new string[] { TableValue },
            new string[] { TableKey },
            new string[] { "=" },
            new string[] { DataKey });

        if (pDataReader.Read())
        {
            db.Delete(
                SheetName,
                new string[] { TableKey },
                new string[] { "'" + DataKey + "'" }
                );
        }
        pDataReader.Close();

        db.InsertInto(SheetName, new string[] { "'" + DataKey + "'", "'" + DataValue + "'" });
        db.CloseSqlConnection();
    }
        private void WriteAllItemsDataToItemConfig()
        {
            string pPath = "data source=" + Application.streamingAssetsPath + "/DB/game.db";

            CocoSqliteDBHelper db = new CocoSqliteDBHelper(pPath);

            string pTableName = "item_config";
            int    pCount     = db.FindTable(pTableName, pPath);
            int    pTotalItem = 0;

            if (pCount != 0)
            {
                //首先清除之前所有的数据
                db.DeleteContents(pTableName);

                List <CocoStoreItem> pAllStoreItems = CocoStoreData.Instance.allProductItems;

                foreach (var storeItem in pAllStoreItems)
                {
                    string pKey = "'" + storeItem.itemIdString + "'";

                    ItemConfigData pData = new ItemConfigData();
                    pData.id          = storeItem.itemIdString;
                    pData.name        = storeItem.productId.ToString();
                    pData.iapConfigId = storeItem.itemIdString;

                    string pValue = "'" + JsonMapper.ToJson(pData) + "'";

                    db.InsertInto(pTableName, new[] { pKey, pValue });
                    Debug.LogWarning("Write Data For Item Config  Success ! : ( " + pKey + "," + pValue + ")");
                    pTotalItem += 1;
                }
            }
            db.CloseSqlConnection();              //avoid to database is locked
            Debug.LogWarning("Write Item Config Data Success ! Total (写入成功!总共):" + pTotalItem.ToString());
        }
        private void WriteAllItemsDataToIapConfig()
        {
            string pPath = "data source=" + Application.streamingAssetsPath + "/DB/game.db";

            CocoSqliteDBHelper db = new CocoSqliteDBHelper(pPath);

            string pTableName = "iap_config";
            int    pCount     = db.FindTable(pTableName, pPath);
            int    pTotalItem = 0;

            if (pCount != 0)
            {
                //首先清除之前所有的数据
                db.DeleteContents(pTableName);

                List <CocoStoreItem> pAllStoreItems = CocoStoreData.Instance.allProductItems;

                foreach (var storeItem in pAllStoreItems)
                {
                    string pKey = "'" + storeItem.itemIdString + "'";

                    IAPConfigData pData = new IAPConfigData();
                    pData.id       = storeItem.itemIdString;
                    pData.name     = storeItem.productId.ToString();
                    pData.noAdsIap = storeItem.isNoAdsLap;

                    switch (storeItem.productType)
                    {
                    case ProductType.Consumable:
                        pData.consumable = true;
                        break;

                    case ProductType.Subscription:
                        pData.isSubscription = true;
                        break;
                    }

                    pData.iapData = new List <IAPData> ();

                    if (!string.IsNullOrEmpty(storeItem.iosIapString))
                    {
                        pData.iapData.Add(new IAPData {
                            store = StoreType.iOS, iapId = storeItem.iosIapString
                        });
                    }

                    if (!string.IsNullOrEmpty(storeItem.gpIapString))
                    {
                        pData.iapData.Add(new IAPData {
                            store = StoreType.Google, iapId = storeItem.gpIapString
                        });
                    }

                    if (!string.IsNullOrEmpty(storeItem.amIapString))
                    {
                        pData.iapData.Add(new IAPData {
                            store = StoreType.Amazon, iapId = storeItem.amIapString
                        });
                    }

                    string pValue = "'" + JsonMapper.ToJson(pData) + "'";

                    db.InsertInto(pTableName, new[] { pKey, pValue });
                    Debug.LogWarning("Write Data For IAP Config Success ! : ( " + pKey + "," + pValue + ")");
                    pTotalItem += 1;
                }
            }
            db.CloseSqlConnection();              //avoid to database is locked
            Debug.LogWarning("Write IAP Config Data Success ! Total (写入成功!总共):" + pTotalItem.ToString());
        }