Class MyUseObjectsComponentBase
  
  
  
  
    Inheritance
    System.Object
    
    
    MyUseObjectsComponentBase
      
   
  
  
  Assembly: VRage.Game.dll
  Syntax
  
    [MyComponentType]
public abstract class MyUseObjectsComponentBase : MyEntityComponentBase, IMyEntityComponentBase, IMyComponentBase
   
  Constructors
  
  
  
  
  MyUseObjectsComponentBase()
  
  
  Declaration
  
    protected MyUseObjectsComponentBase()
   
  Fields
  
  
  
  m_detectors
  
  
  Declaration
  
    protected Dictionary<string, List<Matrix>> m_detectors
   
  Field Value
  
    
      
        | Type | Description | 
    
    
      
        | System.Collections.Generic.Dictionary<System.String, System.Collections.Generic.List<Matrix>> |  | 
    
  
  Properties
  
  
  
  
  ComponentTypeDebugString
  
  
  Declaration
  
    public override string ComponentTypeDebugString { get; }
   
  Property Value
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  Overrides
  
  
  
  
  DetectorPhysics
  
  
  Declaration
  
    public abstract MyPhysicsComponentBase DetectorPhysics { get; protected set; }
   
  Property Value
  
  Methods
  
  
  
  
  AddDetector(String, Matrix)
  
  
  Declaration
  
    public abstract uint AddDetector(string name, Matrix matrix)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | name |  | 
      
        | Matrix | matrix |  | 
    
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.UInt32 |  | 
    
  
  
  
  
  ClearPhysics()
  
  
  Declaration
  
    public virtual void ClearPhysics()
   
  
  
  
  GetDetectors(String)
  
  
  Declaration
  
    public ListReader<Matrix> GetDetectors(string detectorName)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | detectorName |  | 
    
  
  Returns
  
  
  
  
  
  
  
  Declaration
  
    public abstract Nullable<MatrixD> GetDetectorTransformation(IMyUseObject useObject)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.Nullable<MatrixD> |  | 
    
  
  
  
  
  GetInteractiveObject(String)
  
  
  Declaration
  
    public abstract IMyUseObject GetInteractiveObject(string detectorName)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.String | detectorName |  | 
    
  
  Returns
  
  
  
  
  GetInteractiveObject(UInt32)
  
  
  Declaration
  
    public abstract IMyUseObject GetInteractiveObject(uint shapeKey)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.UInt32 | shapeKey |  | 
    
  
  Returns
  
  
  
  
  GetInteractiveObjects<T>(List<T>)
  
  
  Declaration
  
    public abstract void GetInteractiveObjects<T>(List<T> objects)
    where T : class, IMyUseObject
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Collections.Generic.List<T> | objects |  | 
    
  
  Type Parameters
  
  
  
  
  LoadDetectorsFromModel()
  
  
  Declaration
  
    public abstract void LoadDetectorsFromModel()
   
  
  
  
  OnAddedToScene()
  
  
  Declaration
  
    public override void OnAddedToScene()
   
  Overrides
  
  
  
  
  OnBeforeRemovedFromContainer()
  
  
  Declaration
  
    public override void OnBeforeRemovedFromContainer()
   
  Overrides
  
  
  
  
  OnRemovedFromScene()
  
  
  Declaration
  
    public override void OnRemovedFromScene()
   
  Overrides
  
  
  
  
  PositionChanged(MyPositionComponentBase)
  
  
  Declaration
  
    public abstract void PositionChanged(MyPositionComponentBase obj)
   
  Parameters
  
  
  
  
  ProcessComponentToUseObjectsAndDistances(ref Dictionary<IMyUseObject, Tuple<Single, Object>>, Vector3D, Vector3, Object)
  
  
  Declaration
  
    public virtual void ProcessComponentToUseObjectsAndDistances(ref Dictionary<IMyUseObject, Tuple<float, object>> output, Vector3D from, Vector3 dir, object hit)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.Collections.Generic.Dictionary<IMyUseObject, System.Tuple<System.Single, System.Object>> | output |  | 
      
        | Vector3D | from |  | 
      
        | Vector3 | dir |  | 
      
        | System.Object | hit |  | 
    
  
  
  
  
  RaycastDetector(IMyUseObject, Vector3D, Vector3D, out Single)
  
  
  Declaration
  
    public abstract IMyUseObject RaycastDetector(IMyUseObject useObject, Vector3D worldFrom, Vector3D worldTo, out float parameter)
   
  Parameters
  
  Returns
  
  
  
  
  RaycastDetectors(Vector3D, Vector3D)
  
  
  Declaration
  
    public string RaycastDetectors(Vector3D worldFrom, Vector3D worldTo)
   
  Parameters
  
  Returns
  
    
      
        | Type | Description | 
    
    
      
        | System.String |  | 
    
  
  
  
  
  RaycastDetectors(Vector3D, Vector3D, out Single)
  Determine whether the given ray intersects any detector. If so, returns
the parametric value of the point of first intersection.
PARAMATER IS NOT DISTANCE!
Declaration
  
    public abstract IMyUseObject RaycastDetectors(Vector3D worldFrom, Vector3D worldTo, out float parameter)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | Vector3D | worldFrom |  | 
      
        | Vector3D | worldTo |  | 
      
        | System.Single | parameter |  | 
    
  
  Returns
  
  
  
  
  RecreatePhysics()
  
  
  Declaration
  
    public abstract void RecreatePhysics()
   
  
  
  
  RemoveDetector(UInt32)
  
  
  Declaration
  
    public abstract void RemoveDetector(uint id)
   
  Parameters
  
    
      
        | Type | Name | Description | 
    
    
      
        | System.UInt32 | id |  | 
    
  
  Extension Methods