public void OnClickStart() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); if (playerData.isNew) { StartCoroutine(StartPrologue()); } else { StartCoroutine(StartGame()); } }
public void OnClickSellAll() { SFXMgr.Instance.Coin(); SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); int sum = 0; // 가격 리스트 만들기 if (costList.Count == 0) { for (int i = 0; i < fishContainer.level0.Length; i++) { costList.Add(fishContainer.level0[i].cost); } for (int i = 0; i < fishContainer.level1.Length; i++) { costList.Add(fishContainer.level1[i].cost); } for (int i = 0; i < fishContainer.level2.Length; i++) { costList.Add(fishContainer.level2[i].cost); } for (int i = 0; i < fishContainer.level3.Length; i++) { costList.Add(fishContainer.level3[i].cost); } for (int i = 0; i < fishContainer.level4.Length; i++) { costList.Add(fishContainer.level4[i].cost); } } // 합계 계산 for (int i = 0; i < playerData.inven_code.Count; i++) { sum += playerData.inven_num[i] * costList[i]; playerData.inven_num[i] = 0; } for (int i = 0; i < playerData.inven_num.Count; i++) { playerData.inven_num[i] = 0; } playerData.gold += sum; playerData.todayGold += sum; gold.text = playerData.gold.ToString(); SaveMgr.SavePlayerData(playerData); SetEnableFish(); invenIdx.Clear(); fishInfo.SetActive(false); }
public void SetCurrFishInfo(int index) { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); int lv_idx = index / 3; int in_lv_idx = index % 3; gradeImage.sprite = gradeSprites[lv_idx]; fishNum.text = "수량 : " + playerData.inven_num[index]; fishImage.sprite = fishSprites[index]; if (lv_idx == 0) { fishName.text = fishContainer.level0[in_lv_idx].name; fishNameEng.text = fishContainer.level0[in_lv_idx].eng; fishCost.text = "가격 : " + fishContainer.level0[in_lv_idx].cost + "G"; fishDescription.text = fishContainer.level0[in_lv_idx].description; currFishCost = fishContainer.level0[in_lv_idx].cost; } if (lv_idx == 1) { fishName.text = fishContainer.level1[in_lv_idx].name; fishNameEng.text = fishContainer.level1[in_lv_idx].eng; fishCost.text = "가격 : " + fishContainer.level1[in_lv_idx].cost + "G"; fishDescription.text = fishContainer.level1[in_lv_idx].description; currFishCost = fishContainer.level1[in_lv_idx].cost; } if (lv_idx == 2) { fishName.text = fishContainer.level2[in_lv_idx].name; fishNameEng.text = fishContainer.level2[in_lv_idx].eng; fishCost.text = "가격 : " + fishContainer.level2[in_lv_idx].cost + "G"; fishDescription.text = fishContainer.level2[in_lv_idx].description; currFishCost = fishContainer.level2[in_lv_idx].cost; } if (lv_idx == 3) { fishName.text = fishContainer.level3[in_lv_idx].name; fishNameEng.text = fishContainer.level3[in_lv_idx].eng; fishCost.text = "가격 : " + fishContainer.level3[in_lv_idx].cost + "G"; fishDescription.text = fishContainer.level3[in_lv_idx].description; currFishCost = fishContainer.level3[in_lv_idx].cost; } if (lv_idx == 4) { fishName.text = fishContainer.level4[in_lv_idx].name; fishNameEng.text = fishContainer.level4[in_lv_idx].eng; fishCost.text = "가격 : " + fishContainer.level4[in_lv_idx].cost + "G"; fishDescription.text = fishContainer.level4[in_lv_idx].description; currFishCost = fishContainer.level4[in_lv_idx].cost; } }
void Start() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); isDiscovered = playerData.dogam[index]; if (isDiscovered == false) { gameObject.SetActive(false); } else { dogamControl = FindObjectOfType <DogamControl>(); } }
public static void SaveData(TruckData truckData, FirePointData firePointData, PlayerSessionData playerSessionData) { BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/player.data"; FileStream stream = new FileStream(path, FileMode.Create); SerializablePlayerData data = new SerializablePlayerData(); data.firePointType = (int)truckData.firePointType; data.truckType = (int)truckData.truckType; data.gunTypes = new int[12]; data.locationPaths = new int[12]; data.trackingGroups = new int[12]; data.gunDataTypes = new int[12]; for (int i = 0; i < firePointData.gunsConfigurations.Length; i++) { var config = firePointData.gunsConfigurations[i]; data.gunTypes[i] = (int)config.gunType; data.locationPaths[i] = (int)config.locationPath; data.trackingGroups[i] = (int)config.trackingGroup; data.gunDataTypes[i] = (int)config.gunDataType; } if (playerSessionData.traveledDistance > PlayerStaticRunTimeData.maxTraveledDistancePerSession) { data.maxTraveledDistancePerSession = playerSessionData.traveledDistance; } else { data.maxTraveledDistancePerSession = PlayerStaticRunTimeData.maxTraveledDistancePerSession; } data.traveledDistance = PlayerStaticRunTimeData.traveledDistance + playerSessionData.traveledDistance; if (playerSessionData.defeatedEnemies > PlayerStaticRunTimeData.maxDefeatedEnemiesPerSession) { data.maxDefeatedEnemiesPerSession = playerSessionData.defeatedEnemies; } else { data.maxDefeatedEnemiesPerSession = PlayerStaticRunTimeData.maxDefeatedEnemiesPerSession; } data.defeatedEnemies = PlayerStaticRunTimeData.defeatedEnemies + playerSessionData.defeatedEnemies; data.experience = PlayerStaticRunTimeData.experience + playerSessionData.defeatedEnemies * 100 + playerSessionData.traveledDistance / 10; data.coins = PlayerStaticRunTimeData.coins + playerSessionData.defeatedEnemies * 10 + +playerSessionData.traveledDistance / 10; formatter.Serialize(stream, data); stream.Close(); }
void CheckTime() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); gold.text = playerData.gold.ToString(); intHour = playerData.intHour; timeElapesd = playerData.timeElapsed; minute.text = (timeElapesd / 10).ToString("0") + 0; hour.text = intHour.ToString(); if (intHour >= 20 && intHour < 22) // 20~22, evening { cg_e.alpha = 1f; evening.SetActive(true); fisher.transform.GetChild(0).gameObject.SetActive(true); cg_n.alpha = 0f; night.SetActive(false); fisher.transform.GetChild(1).gameObject.SetActive(false); cg_d.alpha = 0f; dawn.SetActive(false); fisher.transform.GetChild(2).gameObject.SetActive(false); lights.SetInteger("BackState", 0); } else if (intHour >= 2 && intHour <= 4) // 2~4, dawn { cg_e.alpha = 0f; evening.SetActive(false); fisher.transform.GetChild(0).gameObject.SetActive(false); cg_n.alpha = 0f; night.SetActive(false); fisher.transform.GetChild(1).gameObject.SetActive(false); cg_d.alpha = 1f; dawn.SetActive(true); fisher.transform.GetChild(2).gameObject.SetActive(true); lights.SetInteger("BackState", 2); } else // else, night { cg_e.alpha = 0f; evening.SetActive(false); fisher.transform.GetChild(0).gameObject.SetActive(false); cg_n.alpha = 1f; night.SetActive(true); fisher.transform.GetChild(1).gameObject.SetActive(true); cg_d.alpha = 0f; dawn.SetActive(false); fisher.transform.GetChild(2).gameObject.SetActive(false); lights.SetInteger("BackState", 1); } }
public void UpdateEquipBaitToPlayerData(bool isSelected) { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); if (isSelected) { playerData.currBaitIndex = currBaitIndex; } else { playerData.currBaitIndex = 0; } SaveMgr.SavePlayerData(playerData); }
public static void SavePlayerData(SerializablePlayerData playerData) { string JsonData = JsonUtility.ToJson(playerData); string path = GetSavingPath(); using (FileStream stream = File.Open(path, FileMode.Create)) { byte[] byteData = Encoding.UTF8.GetBytes(JsonData); stream.Write(byteData, 0, byteData.Length); stream.Close(); Debug.Log("SAVED (" + path + ")"); } }
public void OnClickFood1() { SFXMgr.Instance.EatFood(); SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); if (playerData.foodNum[1] > 0) { playerData.foodNum[1]--; food1txt.text = playerData.foodNum[1].ToString(); piroGaugeBar.AddFatigueness(-200); } SaveMgr.SavePlayerData(playerData); }
public void OnClickFood3() { SFXMgr.Instance.EatFood(); SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); if (playerData.foodNum[3] > 0) { playerData.foodBenefit = 25; playerData.foodNum[3]--; food3txt.text = playerData.foodNum[3].ToString(); piroGaugeBar.SetFatigueBarZero(); } SaveMgr.SavePlayerData(playerData); }
void Start() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); if (playerData.isNew) { for (int i = 2; i < 5; i++) { descriptions.Add(gameObject.transform.GetChild(i).gameObject); } StartCoroutine(StartTutorial()); } else { gameObject.SetActive(false); } }
IEnumerator StartTutorial() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); for (int i = 0; i < 3; i++) { descriptions[i].SetActive(true); if (i == 2) { isDone = true; } yield return(new WaitUntil(() => clicked)); clicked = false; descriptions[i].SetActive(false); } }
private void initializeFishInfo() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); invenIdx.Clear(); for (int i = 0; i < playerData.inven_code.Count; i++) { if (playerData.inven_num[i] > 0) { invenIdx.Add(i); } } if (invenIdx.Count > 0) { SetCurrFishInfo(invenIdx[0]); } }
// Fisher의 Animation event public void FishingSucceed() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); int codeIndex = playerData.inven_code.IndexOf(GameMgr.Instance.caughtFishCode);; playerData.inven_num[codeIndex]++; playerData.dogam[codeIndex - 3] = true; SaveMgr.SavePlayerData(playerData); GameObject tmp = Instantiate(caughtFish, fishPos.position, Quaternion.identity); tmp.transform.SetParent(fishPos); result.text = GameMgr.Instance.caughtFishName + "(을)를 낚았습니다."; fishingResult.SetActive(true); }
private void Start() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); BGMMgr.Instance.StopBGM(0); BGMMgr.Instance.StopBGM(1); // set date playerData.day++; // get today fatigue fatigue = playerData.fatigue; // calculate reduced salary if (fatigue - playerData.foodBenefit > 100) { salary = 30; } else { salary = 100; } // claculate carrying gold myGold = playerData.gold; playerData.foodBenefit = 0; // set medical bill & message if (fatigue >= 125f) { medicalBill = (int)(playerData.gold * 0.1); myGold -= medicalBill; messageTxt.text = "*피곤한 하루였습니다."; } else { messageTxt.text = "*오늘 하루도 무사히 마쳤습니다."; } myGold += salary; playerData.gold = myGold; // set randomized tmi context tmiTxt.text = TMILoader.LoadRandomTMI(); // set result SetResult(); // reset fatigue, time, today total playerData.fatigue = 0; playerData.intHour = 20; playerData.timeElapsed = -5f; playerData.todayGold = 0; SaveMgr.SavePlayerData(playerData); }
public void OnClickFood2() { SFXMgr.Instance.EatFood(); SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); if (playerData.foodNum[2] > 0) { if (playerData.foodBenefit < 10) { playerData.foodBenefit = 10; } Debug.Log(playerData.foodBenefit); playerData.foodNum[2]--; food2txt.text = playerData.foodNum[2].ToString(); piroGaugeBar.AddFatigueness(-400); } SaveMgr.SavePlayerData(playerData); }
private void SetCurrViewingBait(int index) { currBaitIndex = index; if (currBaitIndex <= 1) { currBaitIndex = 1; leftArrow.gameObject.SetActive(false); rightArrow.gameObject.SetActive(true); } else if (currBaitIndex >= baitsDescriptionCacheList.Count - 1) { currBaitIndex = baitsDescriptionCacheList.Count - 1; leftArrow.gameObject.SetActive(true); rightArrow.gameObject.SetActive(false); } else { leftArrow.gameObject.SetActive(true); rightArrow.gameObject.SetActive(true); } currBaitCost = baitsCostCacheList[currBaitIndex]; // 비쥬얼 업데이트 baitDescriptionTxt.text = baitsDescriptionCacheList[currBaitIndex]; baitNameTxt.text = baitsNameCacheList[currBaitIndex]; currBaitImage.sprite = baitSprites[currBaitIndex - 1]; // 현재 고른 갯수 및 금액 0으로 초기화 SetCurrSelNum(0); SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); // 장착 버튼 if (playerData.currBaitIndex == currBaitIndex) // 장착중이라면 { equipToggle.SetEquipToggle(true); } else // 미장착이라면 { equipToggle.SetEquipToggle(false); } }
public static SerializablePlayerData LoadData() { string path = Application.persistentDataPath + "/player.data"; if (File.Exists(path)) { BinaryFormatter formatter = new BinaryFormatter(); FileStream stream = new FileStream(path, FileMode.Open); SerializablePlayerData data = formatter.Deserialize(stream) as SerializablePlayerData; stream.Close(); return(data); } else { Debug.Log("saved data not found in" + path); return(null); } }
private void Start() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); baitInf.Clear(); // load baits informations TextAsset baitJson = Resources.Load <TextAsset>("bait"); BaitContainerList baitContainer = JsonUtility.FromJson <BaitContainerList>(baitJson.ToString()); baitInf.Add("min", baitContainer.baits[playerData.currBaitIndex].min); baitInf.Add("max", baitContainer.baits[playerData.currBaitIndex].max); fRodInf.Clear(); // load fishing rods informations TextAsset fRodJson = Resources.Load <TextAsset>("fishingRod"); FRodContainerList fRodContainer = JsonUtility.FromJson <FRodContainerList>(fRodJson.ToString()); fRodInf.Add("min", fRodContainer.fRods[playerData.fRodLevel].min); fRodInf.Add("max", fRodContainer.fRods[playerData.fRodLevel].max); }
public void FishBiting() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); timeElapesd = 0; if (playerData.baitNum[playerData.currBaitIndex] > 0) { if (playerData.currBaitIndex > 0) { playerData.baitNum[playerData.currBaitIndex]--; } } else { playerData.currBaitIndex = 0; } StartCoroutine("WaitForBite"); SaveMgr.SavePlayerData(playerData); }
public void OnClickSell() { SFXMgr.Instance.Coin(); SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); playerData.inven_num[invenIdx[invenListIdx]]--; playerData.gold += currFishCost; playerData.todayGold += currFishCost; gold.text = playerData.gold.ToString(); fishNum.text = "수량 : " + playerData.inven_num[invenIdx[invenListIdx]]; SaveMgr.SavePlayerData(playerData); SetEnableFish(); // 해당 종의 물고기를 다 팔았을 때 if (playerData.inven_num[invenIdx[invenListIdx]] == 0) { // 인벤토리에 해당 종 밖에 없을 때 if (invenIdx.Count == 1) { invenIdx.Clear(); fishInfo.SetActive(false); } // 인벤토리에 다른 물고기도 있을 때 else { if (invenListIdx == 0) { SetCurrFishInfo(invenIdx[invenListIdx + 1]); invenIdx.RemoveAt(invenListIdx); } else { SetCurrFishInfo(invenIdx[invenListIdx - 1]); invenIdx.RemoveAt(invenListIdx); invenListIdx--; } } } }
void Awake() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); TextAsset hookJson = Resources.Load <TextAsset>("hook"); HookContainerList hookContainer = JsonUtility.FromJson <HookContainerList>(hookJson.ToString()); isNew = playerData.isNew; hookLevel = playerData.hookLevel; if (isNew) { speed = 0; chance = 2; } else { speed = 1; chance = hookContainer.hooks[hookLevel].chance; } spawnerOne.SetActive(true); spawnerTwo.SetActive(true); }
public void OnClick_BuyBtn() { SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); // 돈이 부족할땐 돈이없습니다 텍스트 띄우기 if (currSelCost > playerData.gold) { SFXMgr.Instance.Button(); noMoneyText.gameObject.SetActive(true); return; } // 돈이 충분할땐 else { SFXMgr.Instance.Coin(); playerData.gold -= currSelCost; shopControl.UpdateGoldNum(playerData.gold); playerData.foodNum[currFoodIndex] += currSelNum; SetCurrSelNum(0); } SaveMgr.SavePlayerData(playerData); }
// Fisher의 Animation event public void CaughtTrash() { if (GameMgr.Instance.isFail) { result.text = "아무것도 낚지 못했습니다."; fishingResult.SetActive(true); return; } else { // 쓰레기를 낚음 SerializablePlayerData playerData = SaveMgr.LoadPlayerData(); int codeIndex; result.text = GameMgr.Instance.caughtFishName + "(을)를 낚았습니다."; codeIndex = playerData.inven_code.IndexOf(GameMgr.Instance.caughtFishCode); playerData.inven_num[codeIndex]++; fishingResult.SetActive(true); SaveMgr.SavePlayerData(playerData); } }