void PositionComp_OnPositionChanged(VRage.Game.Components.MyPositionComponentBase obj) { if (OnAABBChanged != null) { OnAABBChanged(this); } }
void PositionComp_OnPositionChanged(VRage.Game.Components.MyPositionComponentBase obj) { if (m_entity != null) { Coords = m_entity.PositionComp.GetPosition(); } }
//private FastResourceLock m_detectorLock = new FastResourceLock(); //private List<IMyOreDetector> m_cachedDetectors = new List<IMyOreDetector>(); //public List<IMyOreDetector> Detectors //{ // get // { // using (m_detectorLock.AcquireSharedUsing()) // { // m_cachedDetectors.Clear(); // m_detectorsToMonitor.ForEach((b) => m_cachedDetectors.Add(b)); // } // return m_cachedDetectors; // } //} //public void AddDetector(IMyOreDetector detector) //{ // using (m_detectorLock.AcquireExclusiveUsing()) // m_detectorsToMonitor.Add(detector); // detector.OnClose += detector_OnClose; // detector.PositionComp.OnPositionChanged += detector_OnPositionChanged; //} private void detector_OnPositionChanged(VRage.Game.Components.MyPositionComponentBase obj) { //if (obj.Entity.Physics == null || obj.Entity.Physics.LinearVelocity == Vector3D.Zero) // OreDetector.Instance.NeedsUpdate = true; }