Beispiel #1
0
    // -------------------------------------------------------------------------------

    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);
    }
Beispiel #2
0
    // -------------------------------------------------------------------------------

    public bool IsHomePlanetoidTypeUnlocked(Planetoid.PlanetoidTypes planetoidTypeToCheck)
    {
        foreach (var planetoidType in UnlockedHomePlanetoids)
        {
            if (planetoidType == planetoidTypeToCheck)
            {
                return(true);
            }
        }

        return(false);
    }
Beispiel #3
0
    // -------------------------------------------------------------------------------

    public Planetoid GetHomePlanetoid(Planetoid.PlanetoidTypes planetoidType)
    {
        foreach (var homePlanetoid in AllHomePlanetoids)
        {
            if (homePlanetoid.PlanetoidType == planetoidType)
            {
                return(homePlanetoid);
            }
        }

        return(null);
    }
Beispiel #4
0
    // -------------------------------------------------------------------------------

    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);
    }
Beispiel #5
0
    // -------------------------------------------------------------------------------

    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!");
        }
    }
Beispiel #6
0
    // -------------------------------------------------------------------------------

    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);
    }
Beispiel #7
0
    // -------------------------------------------------------------------------------

    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));
            }
        }
    }
Beispiel #8
0
    // -------------------------------------------------------------------------------

    public PlanetoidAndPlantSaveDataList(Planetoid.PlanetoidTypes planetoidType, List <PlantSaveData> list)
    {
        PlanetoidType     = planetoidType;
        PlantSaveDataList = list;
    }
Beispiel #9
0
    // -------------------------------------------------------------------------------

    public PlanetoidAndPlantSaveDataList(Planetoid.PlanetoidTypes planetoidType)
    {
        PlanetoidType     = planetoidType;
        PlantSaveDataList = new List <PlantSaveData>();
    }