public void Init() { EM = EVEData.EveManager.Instance; universeSysLinksCache = new List <GateHelper>(); activeJumpSpheres = new List <KeyValuePair <string, double> >(); universeXMin = 0; universeXMax = 0; universeZMin = 0; universeZMax = 0; universeYMin = 0; universeYMax = 0; uiRefreshTimer = new System.Windows.Threading.DispatcherTimer(); uiRefreshTimer.Tick += UiRefreshTimer_Tick; uiRefreshTimer.Interval = new TimeSpan(0, 0, 5); uiRefreshTimer.Start(); PropertyChanged += Universe3DControl_PropertyChanged; DataContext = this; foreach (EVEData.System sys in EM.Systems) { foreach (string jumpTo in sys.Jumps) { EVEData.System to = EM.GetEveSystem(jumpTo); bool NeedsAdd = true; foreach (GateHelper gh in universeSysLinksCache) { if (((gh.from == sys) || (gh.to == sys)) && ((gh.from == to) || (gh.to == to))) { NeedsAdd = false; break; } } if (NeedsAdd) { GateHelper g = new GateHelper(); g.from = sys; g.to = to; g.RegionalGate = sys.Region != to.Region; universeSysLinksCache.Add(g); } } if (sys.ActualX < universeXMin) { universeXMin = sys.ActualX; } if (sys.ActualX > universeXMax) { universeXMax = sys.ActualX; } if (sys.ActualZ < universeZMin) { universeZMin = sys.ActualZ; } if (sys.ActualZ > universeZMax) { universeZMax = sys.ActualZ; } if (sys.ActualY < universeYMin) { universeYMin = sys.ActualY; } if (sys.ActualY > universeYMax) { universeYMax = sys.ActualY; } } universeWidth = universeXMax - universeXMin; universeDepth = universeZMax - universeZMin; universeHeight = universeYMax - universeYMin; List <EVEData.System> globalSystemList = new List <EVEData.System>(EM.Systems); globalSystemList.Sort((a, b) => string.Compare(a.Name, b.Name)); GlobalSystemDropDownAC.ItemsSource = globalSystemList; UniverseMain3DViewPort.EffectsManager = new DefaultEffectsManager(); HelixToolkit.Wpf.SharpDX.PerspectiveCamera pc = new HelixToolkit.Wpf.SharpDX.PerspectiveCamera(); pc.NearPlaneDistance = 0.1; pc.FarPlaneDistance = 100000; pc.Position = new Point3D(4000, 4000, 10000); pc.UpDirection = new Vector3D(0, 0, 1); pc.LookDirection = new Vector3D(-1, 0, 0); pc.LookAt(new Point3D(4000, 4000, 4000), 1); UniverseMain3DViewPort.Camera = pc; ReDrawMap(true); }
public void Init() { EM = EVEData.EveManager.Instance; universeSysLinksCache = new List <GateHelper>(); universeXMin = 0.0; universeXMax = 336522971264518000.0; universeZMin = -484452845697854000; universeZMax = 472860102256057000.0; foreach (EVEData.System sys in EM.Systems) { foreach (string jumpTo in sys.Jumps) { EVEData.System to = EM.GetEveSystem(jumpTo); bool NeedsAdd = true; foreach (GateHelper gh in universeSysLinksCache) { if (((gh.from == sys) || (gh.to == sys)) && ((gh.from == to) || (gh.to == to))) { NeedsAdd = false; break; } } if (NeedsAdd) { GateHelper g = new GateHelper(); g.from = sys; g.to = to; universeSysLinksCache.Add(g); } } if (sys.ActualX < universeXMin) { universeXMin = sys.ActualX; } if (sys.ActualX > universeXMax) { universeXMax = sys.ActualX; } if (sys.ActualZ < universeZMin) { universeZMin = sys.ActualZ; } if (sys.ActualZ > universeZMax) { universeZMax = sys.ActualZ; } } universeWidth = universeXMax - universeXMin; universeDepth = universeZMax - universeZMin; ReDrawMap(true); }