// 문서정보 저장 private void SaveDocumentInfo() { // 이전 값 제거 tempData.infosCheck.Clear(); // 현재 상태를 저장 DocumentInformationManager information = FindObjectOfType <DocumentManager>().information; for (int i = 0; i < information.slots.Length; i++) { tempData.infosCheck.Add(information.IsSlotKnown(i)); } }
public void LoadData() { // 이전의 위치로 플레이어를 이동 FindObjectOfType <NewPlayer>().transform.position = new Vector3((float)saveData.tempData.posX, (float)saveData.tempData.posY, (float)saveData.tempData.posZ); // 이전의 미션으로 현재 미션을 갱신 FindObjectOfType <MissionScript>().SetMission(saveData.tempData.mission); // 이전 stage로 현재 위치를 갱신 stage = saveData.tempData.stage; // 최초 맵 Active stageObject.Find(stage.ToString()).gameObject.SetActive(true); // 이전의 상태로 진행상태를 갱신 AllConditions allConditions = Resources.Load <AllConditions>("AllConditions"); for (int i = 0; i < allConditions.conditions.Length; i++) { allConditions.conditions[i].satisfied = saveData.tempData.conditionsCheck[i]; } // 이전의 상태로 인벤토리 정보를 갱신 ContentScript inventory = FindObjectOfType <ContentScript>(); for (int i = 0; i < saveData.tempData.itemsCheck.Count; i++) { for (int j = 0; j < saveData.tempData.itemsCheck[i].count; j++) { inventory.GetItem(saveData.tempData.itemsCheck[i].id); } } // 이전의 상태로 문서단서 정보를 갱신 DocumentInformationManager information = FindObjectOfType <DocumentManager>().information; for (int i = 0; i < saveData.tempData.infosCheck.Count; i++) { if (saveData.tempData.infosCheck[i]) { information.KnowNewInfoByIndex(i); } } // 이전의 상태로 인물단서 정보를 갱신 DocumentCharacterManager character = FindObjectOfType <DocumentManager>().character; for (int i = 0; i < saveData.tempData.charsCheck.Count; i++) { CharacterSlot slot = character.GetSlot(saveData.tempData.charsCheck[i].name); slot.CharacterKnow(false); slot.characterExp = saveData.tempData.charsCheck[i].exp; } // 이전의 상태로 사운드 상태를 변경 StaticInfoForSound.con_BGM_Audio = GameObject.Find(saveData.tempData.conBgmSourceName).GetComponent <AudioSource>(); if (saveData.tempData.conBgmClipName != "") { StaticInfoForSound.con_BGM_Audio.clip = Resources.Load <AudioClip>("AudioResource/BGM/" + saveData.tempData.conBgmClipName); StartCoroutine(SoundStart()); } // etc isCanSave = saveData.tempData.isCanSave; isDay20 = saveData.tempData.isDay20; if (isDay20) { if (slot != null) { slot.informationName = infoName; slot.informationExp = infoExp; slot.informationImage = infoImage; } if (clue != null) { clue.informationName = infoName; clue.informationExp = infoExp; clue.informationImage = infoImage; clue.transform.Find("Known").GetComponent <Image>().sprite = infoImage; } } isOnBackGarden = saveData.tempData.isOnBackgarden; if (isOnBackGarden) { footSource.clip = footClip; footSource.Play(); } isFindBirthClue = saveData.tempData.isFindBirthClue; if (isFindBirthClue == false) { foreach (GameObject hideObject in hideObjects) { hideObject.SetActive(false); } } isGetEar = saveData.tempData.isGetEar; if (isGetEar) { ear.SetActive(false); } isGetHair = saveData.tempData.isGetHair; if (isGetHair) { hair.SetActive(false); } isGetSpoon = saveData.tempData.isGetSpoon; if (isGetSpoon) { spoon.SetActive(false); } isOnCriminalLine = saveData.tempData.isOnCriminalLine; if (isOnCriminalLine) { criminalLine.SetActive(true); } isOnLibraryLine = saveData.tempData.isOnLibraryLine; if (isOnLibraryLine) { libraryLine.SetActive(true); } isLibraryNpcOut = saveData.tempData.isLibraryNpcOut; if (isLibraryNpcOut) { libraryNpc.position = new Vector3(libraryNpcNewPos.position.x, libraryNpcNewPos.position.y, libraryNpcNewPos.position.y); } isCustomerNotDrunken = saveData.tempData.isCustomerNotDrunken; if (isCustomerNotDrunken) { customerNpc.position = new Vector3(npcNewPos.position.x, npcNewPos.position.y, npcNewPos.position.y); customerNpc.Find("Sprite").GetComponent <SpriteRenderer>().sprite = npcNewSprite; npcDrunkenReaction.SetActive(false); } isPoliceWallRemove = saveData.tempData.isPoliceWallRemove; if (isPoliceWallRemove) { policeWall.SetActive(false); } isLibraryTempRemove = saveData.tempData.isLibraryTempRemove; if (isLibraryTempRemove) { libraryTemp.SetActive(false); } }
// ============================================================== Public Function ============================================================= public void Init(DocumentInformationManager parent) { documentInformationManager = parent; }