void EnableMoons() { foreach (CollectableMoon collectableMoon in moonsInScene) { CollectableMoonData moonData = levelProgress.collectableMoonData.Find(x => x.moonID == collectableMoon.moonID && x.levelID == collectableMoon.levelID); collectableMoon.gameObject.SetActive(!moonData.isCollected); collectableMoon.collected = moonData.isCollected; } }
// Returns if the given moon has been collected on the given level public bool HasMoonBeenCollected(int levelID, int moonID) { LevelProgress levelProgress = levelProgresses.Find(x => x.levelID == levelID); if (levelProgress != null) { CollectableMoonData moon = levelProgress.collectableMoonData.Find(x => x.moonID == moonID); return(moon.isCollected); } return(false); }
public void UpdateMoonDataFromScene() { foreach (CollectableMoon moon in moonsInScene) { CollectableMoonData moonData = new CollectableMoonData(moon.levelID, moon.moonID, moon.CollectedStatus()); CollectableMoonData existingData = levelProgress.collectableMoonData.Find(x => x.levelID == moonData.levelID && x.moonID == moonData.moonID); levelProgress.collectableMoonData.Remove(existingData); levelProgress.collectableMoonData.Add(moonData); } }