void SceneGUI(SceneView sceneView) { if (!waitMouseInput) { return; } //Event e = Event.current; if (Event.current.type == EventType.MouseDown && Event.current.button == 0) { Debug.Log("clicked scene"); Ray r = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition); RaycastHit hit; if (Physics.Raycast(r, out hit, 1000)) { castlePosition = new Vector2(hit.point.x, hit.point.z); //castlePosition = hit.point; Debug.Log(hit.point); } //Vector3 mousePosition = Event.current.mousePosition; //mousePosition.y = sceneView.camera.pixelHeight - mousePosition.y; //mousePosition = sceneView.camera.ray.ScreenToWorldPoint(mousePosition); //mousePosition.y = -mousePosition.y; CastleGenerator cg = new CastleGenerator(castleDimension, buildingCount); cg.runEvolution(); //cg.generateCastle(castleDimension, castlePosition, minNodeSize, maxNodeSize, constructProbability, buildingCount); if (!Event.current.control) { waitMouseInput = false; } Event.current.Use(); } /*if(Event.current.type == EventType.KeyDown && Event.current.control) * { * controlBtnDown = true; * Event.current.Use(); * } * if(Event.current.type == EventType.KeyUp && Event.current.control) * { * controlBtnDown = false; * Event.current.Use(); * }*/ }
void OnGUI() { if (GUI.Button(new Rect(10, 70, 150, 30), "Generate terrain")) { terrain.terrainData.SetHeights(0, 0, alg.GenerateTerrain(h_size, seed, variation, roughness)); } if (GUI.Button(new Rect(10, 150, 150, 30), "Run Evolution")) { CastleGenerator cg = new CastleGenerator(new Vector2(terraforming_size - 50, terraforming_size), 50); StartCoroutine(cg.runEvolution()); } }
// Use this for initialization void Start() { CastleGenerator cg = new CastleGenerator(new Vector2(200, 200), 50); StartCoroutine(cg.runEvolution()); }