internal void RemoveSite(SurveySite site) { if (sites.ContainsKey(site.SiteName)) { sites[site.SiteName].RemoveSite(site); } }
void FindSites() { available_sites = ExSurveyTracker.instance.FindSites(vessel, 100.0); if (available_sites == null || available_sites.Count < 1) { Highlight(false); site = null; site_list = null; } else { var slist = new List <string> (); for (int ind = 0; ind < available_sites.Count; ind++) { slist.Add(available_sites[ind].SiteName); } if (!available_sites.Contains(site)) { Highlight(false); site = available_sites[0]; } site_list = new DropDownList(slist); } Debug.Log(String.Format("[EL SS] {0}", site)); }
void AddStake(Vessel vessel) { Debug.Log(String.Format("[EL ST] AddStake {0} {1}", vessel.vesselName, vessel.mainBody.bodyName)); SurveySite site = new SurveySite(vessel); AddSite(site); }
internal SurveySite AddSite(SurveySite site) { for (int i = 0; i < sites.Count; i++) { if (sites[i].isClose(site)) { sites[i].Merge(site); for (int j = i + 1; j < sites.Count;) { if (sites[i].isClose(sites[j])) { var s = sites[j]; sites[i].Merge(sites[j]); sites.RemoveAt(j); ELSurveyTracker.onSiteRemoved.Fire(s); continue; } j++; } ELSurveyTracker.onSiteModified.Fire(sites[i]); return(sites[i]); } } sites.Add(site); return(site); }
internal SurveySite AddSite (SurveySite site) { if (!sites.ContainsKey (site.SiteName)) { sites[site.SiteName] = new SiteList (); } return sites[site.SiteName].AddSite (site); }
void onSiteModified(SurveySite s) { Debug.LogFormat("[ELSurveyStation] onSiteModified"); FindSites(); SetSite(site); control.PlaceCraftHull(); }
internal void RemoveSite(SurveySite site) { if (sites.ContainsKey (site.BodyName)) { sites[site.BodyName].RemoveSite (site); } onSiteRemoved.Fire (site); }
internal SurveySite AddSite(SurveySite site) { if (!sites.ContainsKey(site.SiteName)) { sites[site.SiteName] = new SiteList(); } return(sites[site.SiteName].AddSite(site)); }
void onSiteRemoved(SurveySite s) { if (s == site) { site = null; } FindSites(); }
internal static EL_VirtualPad Create(SurveySite site) { GameObject go = new GameObject("EL Virtual Pad"); var pad = go.AddComponent <EL_VirtualPad> (); pad.SetSite(site); return(pad); }
internal void RemoveSite(SurveySite site) { if (sites.ContainsKey(site.BodyName)) { sites[site.BodyName].RemoveSite(site); } onSiteRemoved.Fire(site); }
internal void RemoveSite (SurveySite site) { for (int i = 0; i < sites.Count; i++) { if (sites[i] == site) { sites.RemoveAt (i); } } }
void onSiteRemoved(SurveySite s) { Debug.LogFormat("[ELSurveyStation] onSiteRemoved"); if (s == site) { site = null; } FindSites(); }
public bool isClose (SurveySite site) { foreach (var stake in site.stakes) { if (isClose (stake)) { return true; } } return false; }
internal void RemoveSite(SurveySite site) { for (int i = 0; i < sites.Count; i++) { if (sites[i] == site) { sites.RemoveAt(i); } } }
internal void SetSite(SurveySite site) { points = new Points(site); transform.position = points.center; transform.rotation = points.GetOrientation(); if (gameObject.activeInHierarchy) { StartCoroutine(WaitAndSetBounds()); } }
void Select_Site(SurveySite selected_site) { if (site != selected_site) { Highlight(false); } site = selected_site; site_list.SelectItem(available_sites.IndexOf(site)); // The build window will take care of turning on highlighting }
public bool isClose(SurveySite site) { foreach (var stake in site.stakes) { if (isClose(stake)) { return(true); } } return(false); }
internal SurveySite AddSite(SurveySite site) { if (!sites.ContainsKey (site.BodyName)) { sites[site.BodyName] = new SiteBody (); } var s = sites[site.BodyName].AddSite (site); // if a different site is returned, the given site was merged into // another site rather than added. if (s == site) { onSiteAdded.Fire (site); } return s; }
internal SurveySite AddSite(SurveySite site) { if (!sites.ContainsKey(site.BodyName)) { sites[site.BodyName] = new SiteBody(); } var s = sites[site.BodyName].AddSite(site); // if a different site is returned, the given site was merged into // another site rather than added. if (s == site) { onSiteAdded.Fire(site); } return(s); }
internal static EL_VirtualPad Create(SurveySite site) { GameObject go = GameObject.Find("EL Virtual Pad"); if (go == null) { go = new GameObject("EL Virtual Pad"); } else { Debug.Log("[EL_VirtualPad] oi, clean up!"); } var pad = go.AddComponent <EL_VirtualPad> (); pad.SetSite(site); return(pad); }
public void RemoveStake(Vessel stake) { if (!stakes.Contains(stake)) { return; } stakes.Remove(stake); while (stakes.Count > 0) { List <Vessel> old_stakes = stakes; stakes = new List <Vessel> (); stakes.Add(old_stakes[0]); old_stakes.RemoveAt(0); for (int i = 0; i < old_stakes.Count;) { if (isClose(old_stakes[i])) { stakes.Add(old_stakes[i]); old_stakes.RemoveAt(i); continue; } i++; } if (old_stakes.Count > 0) { Debug.Log(String.Format("[EL ST] split {0} {1}", stakes.Count, old_stakes.Count)); SurveySite site = new SurveySite(stakes); stakes = old_stakes; ExSurveyTracker.instance.AddSite(site); } else { break; } } if (stakes.Count == 0) { ExSurveyTracker.instance.RemoveSite(this); } else { ExSurveyTracker.onSiteModified.Fire(this); } }
void SetSite(SurveySite selected_site) { if (site == selected_site) { if (site != null && virtualPad != null) { // update display virtualPad.SetSite(site); control.PlaceCraftHull(); } return; } Highlight(false); site = selected_site; if (site == null) { if (virtualPad != null) { Destroy(virtualPad.gameObject); virtualPad = null; } } else { if (virtualPad == null) { //virtualPad = EL_VirtualPad.Create (site); } else { virtualPad.SetSite(site); } } if (site_list != null) { site_list.SelectItem(available_sites.IndexOf(site)); } control.PlaceCraftHull(); // The build window will take care of turning on highlighting }
internal SurveySite AddSite (SurveySite site) { for (int i = 0; i < sites.Count; i++) { if (sites[i].isClose (site)) { sites[i].Merge (site); for (int j = i + 1; j < sites.Count; ) { if (sites[i].isClose (sites[j])) { var s = sites[j]; sites[i].Merge (sites[j]); sites.RemoveAt (j); ExSurveyTracker.onSiteRemoved.Fire (s); continue; } j++; } ExSurveyTracker.onSiteModified.Fire (sites[i]); return sites[i]; } } sites.Add (site); return site; }
public Points(SurveySite site) { Dictionary<string, int> counts = new Dictionary<string, int> (); Dictionary<string, int> bcounts = new Dictionary<string, int> (); int count = 0; points = new Dictionary<string, Vector3d> (); bounds = new Dictionary<string, Vector3d> (); body = site.Body; center = Vector3d.zero; foreach (var stake in site) { string key = ExSurveyStake.StakeUses[stake.use]; var pos = stake.vessel.GetWorldPos3D (); center += pos; count++; Dictionary<string, Vector3d> pd; Dictionary<string, int> cd; if (stake.bound && key != "Origin") { pd = bounds; cd = bcounts; } else { pd = points; cd = counts; } if (pd.ContainsKey (key)) { pd[key] += pos; cd[key] += 1; } else { pd[key] = pos; cd[key] = 1; } } center /= (double) count; foreach (var key in ExSurveyStake.StakeUses) { if (points.ContainsKey (key)) { points[key] /= (double) counts[key]; } } if (points.ContainsKey ("Origin")) { center = points["Origin"]; } foreach (var key in ExSurveyStake.StakeUses) { if (bounds.ContainsKey (key)) { bounds[key] /= (double) bcounts[key]; bounds[key] -= center; } } }
void Select_Site(SurveySite selected_site) { if (site != selected_site) { Highlight (false); } site = selected_site; site_list.SelectItem (available_sites.IndexOf (site)); // The build window will take care of turning on highlighting }
void onSiteModified(SurveySite s) { Debug.LogFormat("[ExSurveyStation] onSiteModified"); FindSites(); SetSite(site); }
internal void RemoveSite (SurveySite site) { if (sites.ContainsKey (site.SiteName)) { sites[site.SiteName].RemoveSite (site); } }
void onSiteAdded(SurveySite s) { FindSites(); }
public void Merge(SurveySite site) { Debug.Log(String.Format("[EL ST] merge {0} {1}", stakes.Count, site.stakes.Count)); stakes.AddRange(site.stakes); site.stakes.Clear(); }
public Points(SurveySite site) { Dictionary <string, int> counts = new Dictionary <string, int> (); Dictionary <string, int> bcounts = new Dictionary <string, int> (); int count = 0; points = new Dictionary <string, Vector3d> (); bounds = new Dictionary <string, Vector3d> (); body = site.Body; center = Vector3d.zero; foreach (var stake in site) { string key = ELSurveyStake.StakeUses[stake.use]; var pos = stake.vessel.GetWorldPos3D(); center += pos; count++; Dictionary <string, Vector3d> pd; Dictionary <string, int> cd; if (stake.bound && key != "Origin") { pd = bounds; cd = bcounts; } else { pd = points; cd = counts; } if (pd.ContainsKey(key)) { pd[key] += pos; cd[key] += 1; } else { pd[key] = pos; cd[key] = 1; } } center /= (double)count; foreach (var key in ELSurveyStake.StakeUses) { if (points.ContainsKey(key)) { points[key] /= (double)counts[key]; } } if (points.ContainsKey("Origin")) { center = points["Origin"]; } foreach (var key in ELSurveyStake.StakeUses) { if (bounds.ContainsKey(key)) { bounds[key] /= (double)bcounts[key]; bounds[key] -= center; } } }
void onSiteModified(SurveySite s) { FindSites(); }
void FindSites() { available_sites = ExSurveyTracker.instance.FindSites (vessel, 100.0); if (available_sites == null || available_sites.Count < 1) { Highlight (false); site = null; site_list = null; } else { var slist = new List<string> (); for (int ind = 0; ind < available_sites.Count; ind++) { slist.Add (available_sites[ind].SiteName); } if (!available_sites.Contains (site)) { Highlight (false); site = available_sites[0]; } site_list = new DropDownList (slist); } Debug.Log (String.Format ("[EL SS] {0}", site)); }
void onSiteAdded(SurveySite s) { FindSites (); }
void onSiteAdded(SurveySite s) { Debug.LogFormat("[ELSurveyStation] onSiteAdded"); FindSites(); SetSite(site); }
void onSiteModified(SurveySite s) { FindSites (); }
public void Merge (SurveySite site) { Debug.Log (String.Format ("[EL ST] merge {0} {1}", stakes.Count, site.stakes.Count)); stakes.AddRange (site.stakes); site.stakes.Clear (); }
void onSiteRemoved(SurveySite s) { if (s == site) { site = null; } FindSites (); }
public void RemoveStake (Vessel stake) { if (!stakes.Contains (stake)) { return; } stakes.Remove (stake); while (stakes.Count > 0) { List<Vessel> old_stakes = stakes; stakes = new List<Vessel> (); stakes.Add (old_stakes[0]); old_stakes.RemoveAt (0); for (int i = 0; i < old_stakes.Count; ) { if (isClose (old_stakes[i])) { stakes.Add (old_stakes[i]); old_stakes.RemoveAt (i); continue; } i++; } if (old_stakes.Count > 0) { Debug.Log (String.Format ("[EL ST] split {0} {1}", stakes.Count, old_stakes.Count)); SurveySite site = new SurveySite (stakes); stakes = old_stakes; ExSurveyTracker.instance.AddSite (site); } else { break; } } if (stakes.Count == 0) { ExSurveyTracker.instance.RemoveSite (this); } else { ExSurveyTracker.onSiteModified.Fire (this); } }
void AddStake(Vessel vessel) { Debug.Log (String.Format ("[EL ST] AddStake {0} {1}", vessel.vesselName, vessel.mainBody.bodyName)); SurveySite site = new SurveySite (vessel); AddSite (site); }