Exemple #1
0
        private static DestinationDefinition generateDestinationDefinition(string stringifiedAddress)
        {
            //load the destination profile into a text object
            TextAsset destinationProfileJson = Resources.Load <TextAsset>(destinationsProfileFilePath);

            //deserialize the destination profile json into an object
            DestinationProfile destinationProfile = JsonConvert.DeserializeObject <DestinationProfile>(destinationProfileJson.text);

            //randomly select an environment type for the destination
            DestinationDefinition.EnvironmentState environmentState = ((WeightedEnvironmentState)WeightedValueSelector.selectValue(destinationProfile.environmentStateWeights)).value;

            return(new DestinationDefinition(stringifiedAddress, generateRandomDesignation(), environmentState));
        }
Exemple #2
0
        private static DestinationDetails generateDestinationDetails(DestinationDefinition destinationDefinition)
        {
            //currently only allowing planets with normal atmospheric environment to have a governing race
            if (destinationDefinition.environmentState == DestinationDefinition.EnvironmentState.NORMAL)
            {
                //load the destination profile into a text object
                TextAsset destinationProfileJson = Resources.Load <TextAsset>(destinationsProfileFilePath);

                //deserialize the destination profile json into an object
                DestinationProfile destinationProfile = JsonConvert.DeserializeObject <DestinationProfile>(destinationProfileJson.text);

                //check if destination is occupied
                if (((WeightedBool)WeightedValueSelector.selectValue(destinationProfile.occupyingRaceWeights)).value)
                {
                    //randomly select an environment type for the destination
                    RaceDefinitions.Race race = ((WeightedRace)WeightedValueSelector.selectValue(destinationProfile.raceWeights)).value;

                    return(new DestinationDetails(destinationDefinition, race));
                }
            }

            //new destination without occupying race
            return(new DestinationDetails(destinationDefinition, RaceDefinitions.Race.NONE));
        }
 /// <summary>
 /// Refresh the cached destination profile
 /// </summary>
 public void RefreshProfile()
 {
     destinationProfile = null;
 }
 /// <summary>
 /// Refresh the cached destination profile
 /// </summary>
 public void RefreshProfile()
 {
     destinationProfile = null;
 }