private void Update() { Celestial selected = null; foreach (Celestial cel in celestials) { if (cel.mouse_hover) { if (selected == null || cel.click_distance < selected.click_distance) { selected = cel; } } } if (selected == null) { planet_hover = CelestialData.None; } else { planet_hover = selected.data; if (Input.GetMouseButtonDown(0) && !UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject()) { selected.in_focus = true; cam.Stick(selected); PlanetInformation.Active.UpdateLabels(selected.data); NatonInformation.Active.UpdateLabels(); } } back_button.enabled = !planet_view.none; }
private void Awake() { active = this; drawer = GetComponent <MapDrawer>(); cam = FindObjectOfType <CameraBehaviour>(); raycaster = FindObjectOfType <GraphicRaycaster>(); console = FindObjectOfType <ConsoleBehaviour>(); planet_view = CelestialData.None; planet_hover = CelestialData.None; celestials.Clear(); UpdateChapter(); }
public void ChapterUpdate() { if (Globals.planet_information.ContainsChild(name)) { DataStructure celestial_ds = Globals.planet_information.GetChild(name); data = new CelestialData( name, celestial_ds.Get <float>("mass"), celestial_ds.Get("radius", transform.lossyScale.x, quiet: true), celestial_ds.Get <string>("description"), CampagneManager.battle_data.ContainsKey(name) ? CampagneManager.battle_data[name] : null ); } else { data = CelestialData.None; } }
public void UpdateLabels(CelestialData data) { name_t.text = data.name; description.text = data.description; }