// ------------------------------------------------------------------------------- private GameObject GetDistantStarPrefab(Planetoid.PlanetoidTypes planetoidType) { GameObject distantStarPrefab = null; if (!mDistantStarPrefabs.TryGetValue(planetoidType, out distantStarPrefab)) { Debug.LogWarning("Couldn't find Distant Star prefab for Planetoid type: " + planetoidType + ". Using Default isntead"); distantStarPrefab = mDistantStarPrefabs[Planetoid.PlanetoidTypes.Default]; } return(distantStarPrefab); }
// ------------------------------------------------------------------------------- public bool IsHomePlanetoidTypeUnlocked(Planetoid.PlanetoidTypes planetoidTypeToCheck) { foreach (var planetoidType in UnlockedHomePlanetoids) { if (planetoidType == planetoidTypeToCheck) { return(true); } } return(false); }
// ------------------------------------------------------------------------------- public Planetoid GetHomePlanetoid(Planetoid.PlanetoidTypes planetoidType) { foreach (var homePlanetoid in AllHomePlanetoids) { if (homePlanetoid.PlanetoidType == planetoidType) { return(homePlanetoid); } } return(null); }
// ------------------------------------------------------------------------------- public bool CanGrowOnPlanetoid(Planetoid.PlanetoidTypes planetoidType) { foreach (var growthRequirement in GrowthRequirements) { var planetoidTypeReq = (growthRequirement as PlanetoidTypeRequirement); if (planetoidTypeReq != null && planetoidTypeReq.PlanetoidType != planetoidType) { return(false); } } return(true); }
// ------------------------------------------------------------------------------- public void UnlockedHomePlanetoid(Planetoid.PlanetoidTypes planetoidType) { if (!SaveGameData.IsHomePlanetoidTypeUnlocked(planetoidType)) { Debug.Log("Unlocking planetoid type: " + planetoidType); SaveGameData.UnlockedHomePlanetoids.Add(planetoidType); SaveGameData.HomePlanetoidPlants.Add(new PlanetoidAndPlantSaveDataList(planetoidType)); Save(); } else { Debug.LogWarning("Tried to unlock planetoid type: " + planetoidType + ", but it's already unlocked!"); } }
// ------------------------------------------------------------------------------- public PlantData GetRandomPlantData(Planetoid.PlanetoidTypes planetoidType) { int numPlants = PlantDataList.Count; PlantData plantData = null; while (plantData == null) { plantData = PlantDataList[Random.Range(0, numPlants)]; if (!plantData.CanGrowOnPlanetoid(planetoidType)) { plantData = null; } } return(plantData); }
// ------------------------------------------------------------------------------- public void UpdateHomePlanetoidPlants(Planetoid.PlanetoidTypes planetoidType, List <PlantSaveData> plants) { var planetoidAndPlants = HomePlanetoidPlants.FirstOrDefault(x => x.PlanetoidType == planetoidType); if (planetoidAndPlants != null) { var index = HomePlanetoidPlants.IndexOf(planetoidAndPlants); HomePlanetoidPlants[index].PlantSaveDataList = plants; } else { if (plants.Count > 0) { HomePlanetoidPlants.Add(new PlanetoidAndPlantSaveDataList(planetoidType, plants)); } } }
// ------------------------------------------------------------------------------- public PlanetoidAndPlantSaveDataList(Planetoid.PlanetoidTypes planetoidType, List <PlantSaveData> list) { PlanetoidType = planetoidType; PlantSaveDataList = list; }
// ------------------------------------------------------------------------------- public PlanetoidAndPlantSaveDataList(Planetoid.PlanetoidTypes planetoidType) { PlanetoidType = planetoidType; PlantSaveDataList = new List <PlantSaveData>(); }