//load player inventory datas private void ReadFromXML_PlayerInventoryData() { PlayerInventoryData PID = null; if (string.IsNullOrEmpty(_FileNameByInventoryData)) { Debug.LogError(GetType() + "/ReadFromXML_PlayerInventoryData()/_FileNameByInventoryData doesn't exist"); return; } try { //load xml string strTemp = XmlOperation.GetInstance().LoadXML(_FileNameByExtendalData); PID = XmlOperation.GetInstance().DeserializeObject(strTemp, typeof(PlayerInventoryData)) as PlayerInventoryData; PlayerInventoryDataProxy.GetInstance().HealthPotionNum = PID.HealthPotionNum; PlayerInventoryDataProxy.GetInstance().ManaPotionNum = PID.ManaPotionNum; PlayerInventoryDataProxy.GetInstance().PropATKNum = PID.PropATKNum; PlayerInventoryDataProxy.GetInstance().PropDEFNum = PID.PropDEFNum; PlayerInventoryDataProxy.GetInstance().PropDEXNum = PID.PropDEXNum; } catch { Debug.LogError(GetType() + "/ReadFromXML_PlayerInventoryData()/load game save config data failed"); } }
private void Start() { //setup default value PlayerSaveDataProxy playerSaveDataProxy = new PlayerSaveDataProxy(playerCurrentHp, playerCurrentMp, playerCurrentATK, playerCurrentDEF, playerCurrentDEX, playerMaxHp, playerMaxMp, playerMaxATK, playerMaxDEF, playerMaxDEX, FloATKByProp, FloDEFByProp, FloDEXByProp); PlayerExtenalDataProxy playerExtenalDataProxy = new PlayerExtenalDataProxy(IntEXP, IntKillNum, IntLevel, IntGold, IntDiamond); //player inventory data set up PlayerInventoryDataProxy playerInventoryDataProxy = new PlayerInventoryDataProxy(IntHealthPotionNum, IntManaPotionNum, IntATKNum, IntDEFNum, IntDexNum); }
/// <summary> /// save game process /// </summary> /// <returns></returns> public bool SaveGameProcess() { _PlayerKernalDataProxy = PlayerSaveDataProxy.GetInstance(); _PlayerExtenalDataProxy = PlayerExtenalDataProxy.GetInstance(); _PlayerInventoryDataProxy = PlayerInventoryDataProxy.GetInstance(); //save game config StoreTOXML_GlobalParaData(); //save player core data StoreTOXML_KernalData(); //save player extenal data StoreTOXML_ExtenalData(); //save player inventory data StoreTOXML_InventoryData(); return(true); }
//purchase 5 mana potions public bool Add5_ManaPotion() { bool boolResult = false; bool boolFlat = PlayerExtenalDataProxy.GetInstance().MinusGold(10); //you have subtract gold from player account and then add 5 mana potions if (boolFlat) { PlayerInventoryDataProxy.GetInstance().IncreaseManaPotion(5); boolResult = true; } else { boolResult = false; } return(boolResult); }
//increase dexterity public bool Add1_DexterityIncrease() { bool boolResult = false; bool boolFlat = PlayerExtenalDataProxy.GetInstance().MinusGold(10); //you have subtract gold from player account and then add dexterity increase if (boolFlat) { PlayerInventoryDataProxy.GetInstance().IncreaseDexItem(1); boolResult = true; } else { boolResult = false; } return(boolResult); }
//save player inventory data private void StoreTOXML_InventoryData() { int HP = _PlayerInventoryDataProxy.HealthPotionNum; int MP = _PlayerInventoryDataProxy.ManaPotionNum; int ATKItem = _PlayerInventoryDataProxy.PropATKNum; int DEFItem = _PlayerInventoryDataProxy.PropDEFNum; int DEXItem = _PlayerInventoryDataProxy.PropDEXNum; PlayerInventoryDataProxy PIDP = new PlayerInventoryDataProxy(HP, MP, ATKItem, DEFItem, DEXItem); //Object serialization string s = XmlOperation.GetInstance().SerializeObject(PIDP, typeof(GlobalParameterData)); //create xml file, and save data to this xml file if (!string.IsNullOrEmpty(_FileNameByInventoryData)) { XmlOperation.GetInstance().CreateXML(_FileNameByInventoryData, s); } Log.Write(GetType() + "StoreTOXML_InventoryData()/ xml path =" + _FileNameByInventoryData); }