public void LoadSkirmishData(SkirmishData data) { skirmishParticipants.Clear(); for (int i = 0; i < data.skirmishParticipants.Count; i++) { skirmishParticipants.Add(GameManager.Instance.specialAdventurers[data.skirmishParticipants[i]].GetComponent <SpecialAdventurer>()); } skirmishLosers.Clear(); for (int i = 0; i < data.skirmishLosers.Count; i++) { skirmishLosers.Add(GameManager.Instance.specialAdventurers[data.skirmishLosers[i]].GetComponent <SpecialAdventurer>()); } skirmishBracket.Clear(); for (int i = 0; i < data.skirmishBracket.Count; i++) { skirmishBracket.Add(GameManager.Instance.specialAdventurers[data.skirmishBracket[i]].GetComponent <SpecialAdventurer>()); } roundCnt = data.roundCnt; curRound = data.curRound; matchCntCurRound = data.matchCntCurRound; curMatch = data.curMatch; //string tempStr = "Loaded Participants : "; //foreach (SpecialAdventurer spAdv in skirmishParticipants) //{ // tempStr += spAdv.index; // tempStr += " "; //} //Debug.Log(tempStr); }
public GameSavedata(string sceneNameInput) { GameManager gameManager = GameManager.Instance; StructureManager structureManager = StructureManager.Instance; sceneName = sceneNameInput; playerGold = gameManager.playerGold; playerPopularity = gameManager.playerPopularity; playerSpAdvIndex = gameManager.playerSpAdvIndex; characterDialogProgressData = ProgressManager.Instance.characterDialogProgressData; itemStorage = gameManager.GetItemStorage(); cameraPosition = new Vector3Data(Camera.main.transform.position); cameraSize = Camera.main.orthographicSize; Camera.main.GetComponent <InputManager>().isLoading = true; combatAreaManager = new CombatAreaManagerData(); combatAreaManager.InitCombatAreaManagerData(); #region Actors // travelers 저장. travelersDisabled = new List <TravelerData>(); for (int i = 0; i < gameManager.travelersDisabled.Count; i++) { travelersDisabled.Add(new TravelerData(gameManager.travelersDisabled[i])); travelersDisabled[i].index = i; } travelersEnabled = new List <TravelerData>(); for (int i = 0; i < gameManager.travelersEnabled.Count; i++) { travelersEnabled.Add(new TravelerData(gameManager.travelersEnabled[i])); travelersEnabled[i].index = i; } trvEnterQ = new Queue <TravelerData>(); List <GameObject> trvEnterQConverted = gameManager.trvEnterQ.ToList(); for (int i = 0; i < trvEnterQConverted.Count; i++) { trvEnterQ.Enqueue(new TravelerData(trvEnterQConverted[i])); } adventurersEnabled = new List <AdventurerData>(); for (int i = 0; i < gameManager.adventurersEnabled.Count; i++) { adventurersEnabled.Add(new AdventurerData(gameManager.adventurersEnabled[i])); // 인덱스 수정해서 넣어주기 adventurersEnabled[i].index = i; } adventurersDisabled = new List <AdventurerData>(); for (int i = 0; i < gameManager.adventurersDisabled.Count; i++) { adventurersDisabled.Add(new AdventurerData(gameManager.adventurersDisabled[i])); adventurersDisabled[i].index = i; } advEnterQ = new Queue <AdventurerData>(); List <GameObject> advEnterQConverted = gameManager.advEnterQ.ToList(); for (int i = 0; i < advEnterQConverted.Count; i++) { advEnterQ.Enqueue(new AdventurerData(advEnterQConverted[i])); } specialAdventurers = new List <SpecialAdventurerData>(); for (int i = 0; i < gameManager.specialAdventurers.Count; i++) { specialAdventurers.Add(new SpecialAdventurerData(gameManager.specialAdventurers[i])); } spAdvEnterQ = new Queue <int>(); List <GameObject> spAdvEnterQConverted = gameManager.spAdvEnterQ.ToList(); for (int i = 0; i < spAdvEnterQConverted.Count; i++) { spAdvEnterQ.Enqueue(spAdvEnterQConverted[i].GetComponent <SpecialAdventurer>().index); } #endregion #region BossPhase if (gameManager.GetCurSkirmish() != null) { curSkirmish = new SkirmishData(gameManager.GetCurSkirmish()); } isBossPhase = gameManager.isBossPhase; responsedSpAdvCnt = gameManager.responsedSpAdvCnt; isBossRaidPrepTimeOver = gameManager.isBossRaidPrepTimeOver; bossRaidPrepWatiedTime = gameManager.bossRaidPrepWaitedTime; retryTimeLeft = gameManager.retryTimeLeft; canCallBossRaid = gameManager.canCallBossRaid; #endregion #region UI bossRaidUIState = UIManager.Instance.bossRaidUI.State; bossRaidStateText = UIManager.Instance.bossRaidUI.GetRaidStateText(); #endregion // 타일맵 저장. tileDatas = new List <TileData>(); GameObject tileLayer = gameManager.GetTileLayer(); int tileCount = tileLayer.transform.childCount; for (int i = 0; i < tileCount; i++) { tileDatas.Add(new TileData(tileLayer.transform.GetChild(i).gameObject)); } // 건물 저장. structureDatas = new List <StructureData>(); for (int i = 0; i < structureManager.structures.Count; i++) { structureDatas.Add(new StructureData(structureManager.structures[i])); } }