public static playerInfo LoadPlayerInfo_Local() { string Name, Passwd; int Highscore, Goldcoin; Name = PlayerPrefs.GetString("PlayerName"); Passwd = PlayerPrefs.GetString("PlayerPasswd"); Highscore = PlayerPrefs.GetInt("PlayerHighscore", 0); Goldcoin = PlayerPrefs.GetInt("GoldCoin", 0); playerInfo temp = new playerInfo(Name, Passwd); temp.Highscore = Highscore; temp.GoldCoin = Goldcoin; string s = PlayerPrefs.GetString("ItemDatas"); playerInfo.MyList <ShopItemData> ItemDatas = JsonUtility.FromJson <playerInfo.MyList <ShopItemData> >(s); temp.ItemDatas = new playerInfo.MyList <ShopItemData>(); if (ItemDatas != null) { foreach (ShopItemData child in ItemDatas.ToList()) { if (ShopManager.GetShopData_ByShopNumber(child.ShopNumber) != null) { temp.ItemDatas.Add(ShopManager.GetShopData_ByShopNumber(child.ShopNumber)); } } } string d = PlayerPrefs.GetString("PresetItemDatas"); playerInfo.MyList <ShopItemData> vPresetItemDatas = JsonUtility.FromJson <playerInfo.MyList <ShopItemData> >(d); temp.PresetItemDatas = new playerInfo.MyList <ShopItemData>(); if (vPresetItemDatas != null) { foreach (ShopItemData child in vPresetItemDatas.ToList()) { if (ShopManager.GetShopData_ByShopNumber(child.ShopNumber) != null) { temp.SetPresetItemData(ShopManager.GetShopData_ByShopNumber(child.ShopNumber)); } } } if (Name == "") { temp.Name = "Player"; } return(temp); }
public static void BuyWithCoin(ShopItemData vShopData, ShopItemKind shopItemKind) { if (main_playerInfo.GoldCoin < vShopData.ShopPrice) { Debug.Log("你的金錢不夠喔"); return; } //從這裡看 switch (shopItemKind) { case ShopItemKind.Man: { FindObjectOfType <Man>().setManSkin(vShopData.ShopImage); break; } case ShopItemKind.Box: { Spawner spawner = FindObjectOfType <Spawner>(); spawner.BoxSkin = vShopData.ShopImage; break; } case ShopItemKind.Lava: { mainLava m_mainLava = Grid.getGrid.mainLava; m_mainLava.setLavaSkin(vShopData.ShopImage); break; } default: break; } //已購買過只要換圖即可 if (vShopData.ShopPrice == -999) { Debug.Log("已購買過了"); main_playerInfo.SetPresetItemData(vShopData); SavePlayerInfo_Local(main_playerInfo); return; } main_playerInfo.GoldCoin -= vShopData.ShopPrice; main_playerInfo.ItemDatas.Add(vShopData); set_Board(); SavePlayerInfo_Local(main_playerInfo); }