public void setEvolutions(List <object> evol, UniverseTime t) { time = t; evolutions = evol; //print ("evol: " + evolutions); displacements = new Dictionary <string, Texture2D> (); for (int i = 0; i < evolutions.Count; ++i) { Dictionary <string, object> current = (Dictionary <string, object>)(evolutions [i]); if (current.ContainsKey("displacement")) { //print("cur disp: " + "System/1/" + current["displacement"]); //print ((Texture2D)Resources.Load ( "System/1/" + current["displacement"])); GameObject manager = GameObject.Find("Manager"); SystemLoader sys = manager.GetComponent <SystemLoader>(); var path = "file://" + Application.dataPath + "/Resources/" + sys.resourceFolder + current["displacement"] + ".png"; print("path for displacement : " + path); var www = new WWW(path); while (!www.isDone) { ; } displacements.Add((string)current["displacement"], www.texture); } } //Texture2D t2 = (Texture2D)Resources.Load ("Assets/Resources/System/1/Maps/soleilDisplacement2.png"); //displacement.Add ( t2); }
public void initialize() { time = this.gameObject.AddComponent <UniverseTime>(); string systemInfo; systemInfo = Load(rootFolder + "systeme.json"); print(systemInfo); var dict = Json.Deserialize(systemInfo) as Dictionary <string, object>; time.totalTime = (long)dict["totalTime"]; print("dict['astres'][0]: " + ((List <object>)dict["astres"])[0]); materialsDefinition = dict ["materials"] as Dictionary <string, object>; //print ("rock : " + materialsDefinition ["rock"]); /*Dictionary<string, object> rmat = materialsDefinition ["rock"] as Dictionary<string, object>; * print ("rock, each key..."); * foreach (var v in rmat) { * print(v.Key + " : " + v.Value); * } */ print("materialsDefinition is null? " + (materialsDefinition == null)); // store materials //materials.Add (((Dictionary<string, object>)((List<object>)dict ["materials"]) [0])); foreach (string obj in ((List <object>)dict["astres"])) { string astreInfo = Load(rootFolder + obj); print(astreInfo); var dictPlanet = Json.Deserialize(astreInfo) as Dictionary <string, object>; loadFromAstralInfo(dictPlanet); } print("System loaded"); hasLoaded = true; }
// Use this for initialization void Start() { w = manager.GetComponent <UniverseTime>(); mats = new List <Dictionary <string, object> >(); res = new List <object>(); collector = new Dictionary <string, object> (); }
// Update is called once per frame void OnClick() { UniverseTime w = manager.GetComponent <UniverseTime>(); w.Reset(); w.Start(); w.Stop(); w.mult = 1; }
public void setCamLookAt(GameObject planet) { print("setCamLookAt"); if (planetLookedAt == planet) { return; } GameObject manager = GameObject.Find("Manager"); if (manager && manager.GetComponent <UniverseTime>()) { UniverseTime time = manager.GetComponent <UniverseTime>(); time.Stop(); } print("setCamLookAt does it"); PlanetUpdater po = planet.GetComponent <PlanetUpdater>(); GameObject cam = GameObject.Find("Main Camera"); //if (cam.transform.parent == po.gameObject.transform) // return; // setCamFree(); priv_indicator.SetActive(false); cam.GetComponent <SGT_CameraFreeLook>().enabled = false; cam.GetComponent <SGT_CameraFreeOrbit>().enabled = true; float avgScale = (float)((planet.gameObject.transform.localScale.x + planet.gameObject.transform.localScale.y + planet.gameObject.transform.localScale.z) / 3.0); cam.GetComponent <SGT_CameraFreeOrbit>().Distance = (float)(avgScale + avgScale); print(cam.GetComponent <SGT_CameraFreeOrbit>().Distance); cam.GetComponent <SGT_CameraFreeOrbit>().DistanceMin = cam.GetComponent <SGT_CameraFreeOrbit>().Distance; cam.GetComponent <SGT_CameraFreeOrbit>().DistanceMax = cam.GetComponent <SGT_CameraFreeOrbit>().Distance; cam.transform.LookAt(planet.transform); planetLookedAt = planet; // cam.transform.position = cam.transform.position + (cam.transform.forward * (cam.transform.DistanceTo(planet.transform.position) - 1000)); cam.transform.parent.transform.position = planet.transform.position; }
// Update is called once per frame void Update() { timer(); if (Input.GetKeyDown(KeyCode.Escape)) { if (menuInGame.GetComponent <UIPanel>().alpha == 0) { menuInGame.GetComponent <UIPanel>().alpha = 1; menuInGame.SetActive(true); } else { menuInGame.GetComponent <UIPanel>().alpha = 0; } } if (Input.GetButton("Fire1")) { extractOK.SetActive(false); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; //// TODO: singletooon ! GameObject manager = GameObject.Find("Manager"); SystemLoader sys = manager.GetComponent <SystemLoader>(); if (!sys || !sys.hasLoaded) { print("planet not leaded yet"); return; } UniverseTime w = manager.GetComponent <UniverseTime>(); if (controler.activeInHierarchy) { initPlanetList(); foreach (GameObject p in sys.planets) { Collider planetCollider = p.collider; if (planetCollider != null && planetCollider.Raycast(ray, out hit, 1000.0f)) { { //Debug.DrawLine (ray.origin, hit.point); //print ("hit! "); Vector2 textureCoord = hit.textureCoord; pu = p.GetComponent <PlanetUpdater>(); foreach (var t in pu.materials) { if (selectedMat == null || pu.materials[selectedMat] == null) { selectedMat = t.Key; } } textureCoord.x *= pu.materials[selectedMat].width; textureCoord.y *= pu.materials[selectedMat].height; //print(hit.textureCoord); x = (int)textureCoord.x; y = (int)textureCoord.y; //print("pixel rock : " + pu.materials["rock"].GetPixel(x, y)); //print("pixel water : " + pu.materials["water"].GetPixel(x, y)); if (controler.activeInHierarchy) { ShowInformations(x, y, pu); // parent the camera to the object looked at //setCamFree(); setCamLookAt(p); // update the local indicator priv_indicator.SetActive(true); priv_indicator.transform.parent = pu.gameObject.transform; priv_indicator.transform.localPosition = Vector3.zero; priv_indicator.transform.localRotation = Quaternion.Euler(Vector3.zero); priv_indicator.transform.localScale = new Vector3(1, 1, 1); // average of each scales (x and y and z) priv_indicator.GetComponentInChildren <ParticleSystem>().startSpeed = initial_particle_speed * priv_indicator.transform.parent.localScale.x; //print(hit.normal); Quaternion quatHit = Quaternion.FromToRotation(Vector3.up, hit.point - pu.transform.position); //print("quatHit: " + quatHit); priv_indicator.transform.rotation = quatHit; //print("rotation: " + priv_indicator.transform.rotation); return; } } } } } } }
// Update is called once per frame void OnClick() { UniverseTime w = manager.GetComponent <UniverseTime>(); w.Desc(); }