Esempio n. 1
0
    public string LoadUserInventory()
    {
        string  query   = $"SELECT * FROM dbo.PlayerInventory WHERE UserAccount = '{UserInfoProvider.Instance.UserAccount}'";
        DataSet dataSet = ConnectDB_GetDataSet("PlayerInfo_DB", query);

        if (dataSet == null)
        {
            return("서버에 연결할 수 없습니다.");
        }

        object[] dataArray     = dataSet.Tables[0].Rows[0].ItemArray;
        string   inventoryJSON = dataArray[1].ToString();

        InventoryJSON jsonObject = JsonUtility.FromJson <InventoryJSON>(inventoryJSON);

        InventoryJSONUnit[] inventoryItemJSONInfos = jsonObject.ItemUnits;
        if (inventoryItemJSONInfos.Length == 0)
        {
            UserInventoryProvider.Instance.Initialize(null);
        }
        else
        {
            InventoryItem[] inventoryItems = new InventoryItem[inventoryItemJSONInfos.Length];
            for (int i = 0; i < inventoryItems.Length; ++i)
            {
                ItemData data = ItemDB.Instance.GetItemData(inventoryItemJSONInfos[i].ItemCode);
                inventoryItems[i] = new InventoryItem(data, inventoryItemJSONInfos[i].ItemCount);
            }
            UserInventoryProvider.Instance.Initialize(inventoryItems);
        }
        return("Success");
    }
Esempio n. 2
0
        public void TestGetKeysFromJsonObject()
        {
            var dictionary = InventoryJSON.ToDictionary();
            var keys       = InventoryJSON.Keys();

            Assert.AreEqual(InventoryJSON.Keys().Count, 5);
            foreach (var key in keys)
            {
                Assert.IsTrue(dictionary.ContainsKey(key));
            }
        }
Esempio n. 3
0
    public void Save_PlayerInventory()
    {
        InventoryItem[] userItems     = UserInventoryProvider.Instance.InventoryItems;
        InventoryJSON   inventoryJSON = new InventoryJSON();

        inventoryJSON.ItemUnits = new InventoryJSONUnit[userItems.Length];
        for (int i = 0; i < userItems.Length; ++i)
        {
            inventoryJSON.ItemUnits[i]           = new InventoryJSONUnit();
            inventoryJSON.ItemUnits[i].ItemCode  = userItems[i].OriginalItemData.ItemCode;
            inventoryJSON.ItemUnits[i].ItemCount = userItems[i].ItemCount;
        }

        string jsonSTR = JsonUtility.ToJson(inventoryJSON);
        string sql     = $"UPDATE dbo.PlayerInventory SET InventoryJSON='{jsonSTR}' WHERE UserAccount='{UserInfoProvider.Instance.UserAccount}'";

        ConnectDB_ExecuteNonQuery("PlayerInfo_DB", sql);
    }