game4automation.Sensor Class Reference

The sensor is used for detecting MUs. More...

Inheritance diagram for game4automation.Sensor:
game4automation.BaseSensor game4automation.ISignalInterface game4automation.Game4AutomationBehavior

Public Member Functions

delegate void OnEnterDelegate (GameObject obj)
 Delegate function for GameObjects entering the Sensor.
delegate void OnExitDelegate (GameObject obj)
 Delegate function for GameObjects leaving the Sensor.
void DeleteMUs ()
 Delete all MUs in Sensor Area.
void OnMUPartsDestroyed (GameObject obj)
void OnMUDelete (MU muobj)
- Public Member Functions inherited from game4automation.Game4AutomationBehavior
Vector3 DirectionToVector (DIRECTION direction)
 Transfers the direction enumeration to a vector.
DIRECTION VectorToDirection (bool torotatoin, Vector3 vector)
 Transfers a vector to the direction enumeration.
float GetLocalScale (Transform thetransform, DIRECTION direction)
List< BehaviorInterfaceConnectionUpdateConnectionInfo ()
List< SignalGetConnectedSignals ()
void SetVisibility (bool visibility)
 Sets the visibility of this object including all subobjects.
List< BehaviorInterfaceConnectionGetConnections ()
List< SignalGetSignals ()
GameObject GetChildByName (string name)
 Gets a child by name.
List< GameObject > GetChildsByName (string name)
 Gets all child by name.
GameObject GetChildByNameAlsoHidden (string name)
List< GameObject > GetAllMeshesWithGroup (string group)
List< GameObject > GetAllWithGroup (string group)
List< GameObject > GetAllWithGroups (List< string > groups)
List< GameObject > GetAllMeshesWithGroups (List< string > groups)
List< string > GetMyGroups ()
List< GameObject > GetMeshesWithSameGroups ()
List< GameObject > GetAllWithSameGroups ()
MeshRenderer GetMeshRenderer ()
 Gets the mesh renderers in the childrens.
void SetCollider (bool enabled)
 sets the collider in all child objects
void ErrorMessage (string message)
 Displays an error message.
void ChangeConnectionMode (bool isconnected)
void Log (string message)
 Logs a message.
void Log (string message, object obj)
 Logs a message with a relation to an object.
void Warning (string message, object obj)
 Logs a warinng with a relation to an object.
void Error (string message, object obj)
 Logs an error with a relation to an object.
void Error (string message)
 Logs an error.
GameObject DebugPosition (string debugname, Vector3 position, Quaternion quaternation, float scale)
 Displays a gizmo for debugging positions.
void SetFreezePosition (bool enabled)
 Freezes all child components to the current poosition.
virtual void AwakeAlsoDeactivated ()
- Public Member Functions inherited from game4automation.ISignalInterface
List< BehaviorInterfaceConnectionGetConnections ()
List< SignalGetSignals ()

Public Attributes

bool DisplayStatus = true
string LimitSensorToTag
 Limits the function of the sensor to a certain MU tag - also MU names are working.
bool UseRaycast = false
Vector3 RayCastDirection = new Vector3(1,0,0)
float RayCastLength =1000f
float RayCastDisplayWidth = 0.01f
List< string > AdditionalRayCastLayers
bool ShowSensorLinerenderer = true
 Display the status of the sensor by changing the material (color).
Material MaterialOccupied
 Material for displaying the occupied status.
Material MaterialNotOccupied
 Material for displaying the not occupied status.
bool PauseOnSensor = false
 Pause simulation if sensor is getting high - can be used for debuging.
PLCInputBool SensorOccupied
Game4AutomationEventMUSensor EventMUSensor
 Unity event which is called for MU enter and exit. On enter it passes MU and true. On exit it passes MU and false.
Game4AutomationEventGameobjectSensor EventNonMUGameObjectSensor
 Unity event which is called for non MU objects enter and exit. On enter it passes gameobject (on which the collider was detected) and true. On exit it passes gameobject and false.
bool Occupied = false
 True if sensor is occupied.
GameObject LastTriggeredBy
 Last MU which has triggered the sensor.
float RayCastDistance
 Last RayCast Distance if Raycast is used.
int LastTriggeredID
 Last MUID which has triggered the sensor.
int LastTriggeredGlobalID
 Last GloabalID which has triggerd the sensor.
int Counter
List< MUCollidingMus
List< GameObject > CollidingObjects
- Public Attributes inherited from game4automation.Game4AutomationBehavior
string Name
 The name of the component if it should be different from the GameObject name.
ActiveOnly Active
GameObject FromTemplate
Game4AutomationController Game4AutomationController
bool HideNonG44Components


OnEnterDelegate EventEnter
OnExitDelegate EventExit

Additional Inherited Members

- Public Types inherited from game4automation.Game4AutomationBehavior
enum  ActiveOnly {
  Always, Connected, Disconnected, Never,
- Static Public Member Functions inherited from game4automation.Game4AutomationBehavior
static bool DirectionIsLinear (DIRECTION direction)
 Gets back if the direction is linear or a rotation.
- Protected Member Functions inherited from game4automation.Game4AutomationBehavior
bool hidename ()
bool hideactiveonly ()
MU GetTopOfMu (GameObject obj)
 Gets the top of an MU component (the first MU script going up in the hierarchy)
void InitGame4Automation ()
 Initialiates the components and gets the reference to the Game4AutomationController in the scene.
virtual void AfterAwake ()
void Awake ()
- Properties inherited from game4automation.ISignalInterface
GameObject gameObject [get]

Detailed Description

Sensors are using Box Colliders for detecting MUs. The Sensor should be on Layer g4aSensor if the standard Game4Automation Layer settings are used. A behavior component (e.g. Sensor_Standard) must be added to the Sensor for providing connection to PLCs Input and outputs.