private void Start() { GameObject rabbitPrefab = Resources.Load <GameObject>("Rabbit"); planet = GameObject.Find("Planet").GetComponent <Planet>(); planetNoiseScript = GameObject.Find("Planet").GetComponent <PBSNoiseScript>(); GameObject[] food = GameObject.FindGameObjectsWithTag("Food"); GameObject[] water = GameObject.FindGameObjectsWithTag("Water"); //GameObject rabbit = GameObject.Find("Rabbit"); for (int i = 0; i < 100; ++i) { GameObject newFood = GameObject.Instantiate(food[0]); newFood.transform.position = Random.onUnitSphere; } for (int i = 0; i < 100; ++i) { GameObject newWater = GameObject.Instantiate(water[0]); newWater.transform.position = Random.onUnitSphere; } //for (int i = 0; i < 50; ++i) { // EntityFactory.AddEntityInWorld("rabbit", Random.onUnitSphere); // //GameObject newRabbit = GameObject.Instantiate(rabbitPrefab); // //newRabbit.transform.position = Random.onUnitSphere; //} //for (int i = 0; i < 10; ++i) { // EntityFactory.AddEntityInWorld("fox", Random.onUnitSphere); //} GameObject[] entities = GameObject.FindGameObjectsWithTag(entityTag); foreach (GameObject entity in entities) { Vector3 normalizedPosition = entity.transform.position.normalized; entity.transform.position = GetGroundPositionWithElevation(normalizedPosition, .5f); } food = GameObject.FindGameObjectsWithTag("Food"); water = GameObject.FindGameObjectsWithTag("Water"); foreach (GameObject entity in food) { Vector3 normalizedPosition = entity.transform.position.normalized; entity.transform.position = GetGroundPositionWithElevation(normalizedPosition, .5f); } foreach (GameObject entity in water) { Vector3 normalizedPosition = entity.transform.position.normalized; entity.transform.position = GetGroundPositionWithElevation(normalizedPosition, .5f); } }
public LuaAPI() { planet = GameObject.Find("Planet").GetComponent <Planet>(); planetNoiseScript = GameObject.Find("Planet").GetComponent <PBSNoiseScript>(); EntityFactory.Initialize(); }
void Start() { planet = GetComponent <Planet>(); noiseScript = GetComponent <PBSNoiseScript>(); if (!noiseScript) { return; } if (StaticSettings.useStaticSettings) { interval = StaticSettings.planetIntervalBeforeNewGeneration; populationSize = StaticSettings.planetPopulationSize; selectedCount = StaticSettings.planetSelectedCount; probaMutation = StaticSettings.planetProbaMutation; NbSubdivision = StaticSettings.planetIcosahedronSubDiv; } //Recupération de l'objet System.Type représentant le type sous-jacent de l'objet Type objectType = noiseScript.GetType(); solutions = new List <List <GeneticValue> >(); notes = new List <float>(); // Setup script lua script = null; if (File.Exists(StaticSettings.planetScript)) { UserData.RegisterAssembly(); UserData.RegisterType <Vector3>(); UserData.RegisterType <Color>(); script = new Script(); script.Options.ScriptLoader = new MoonSharp.Interpreter.Loaders.FileSystemScriptLoader(); ((MoonSharp.Interpreter.Loaders.ScriptLoaderBase)script.Options.ScriptLoader).ModulePaths = new string[] { Application.dataPath + "/?", Application.dataPath + "/?.lua", Application.dataPath + "/lua/?", Application.dataPath + "/lua/?.lua" }; script.Options.DebugPrint = Debug.Log; script.Globals["noiseScript"] = planet.pbsNoiseScript; script.Globals["bestScore"] = float.MinValue; script.Globals["getPoints"] = (Func <Vector3[]>)GetScorerPoints; script.Globals["isNaN"] = (Func <float, bool>)IsNaN; script.Globals["isInfinity"] = (Func <float, bool>)IsInfinity; script.DoFile(StaticSettings.planetScript); populationSize = (int)script.Globals.Get("populationSize").Number; } StartCoroutine(RunAlgoGenetic()); }
private void Awake() { cameraTransform = GameObject.FindGameObjectWithTag("MainCamera").transform; lastCameraPosition = cameraTransform.position; pbsNoiseScript = GetComponent <PBSNoiseScript>(); if (pbsNoiseScript) { noiseGenerator = pbsNoiseScript.GetNoiseGenerator(); } else { noiseGenerator = new PBSNoiseGenerator(); } }
public override void ApplyValue(PBSNoiseScript noiseScript) { noiseScript.GetType().GetField(name).SetValue(noiseScript, value); }
public virtual void ApplyValue(PBSNoiseScript noiseScript) { }