Location Sensor

The **Location-Sensor Nodon** is an Object Nodon that outputs the exact position of itself, and is generally utilized by connecting it at the center of an object to output the object's position. It may not be called if the object-cost limit is full.

When unpausing from a long pause in Free Programming, it may say "Thanks for the all the hard work! Tell me if you want to know the location of anything.". In the Nodopedia, its quote is "Hello! If you want to know the position of an object, call on me!"

## Calling

This Nodon can be called through the following tree.

* Objects
	+ Sensors
		- **Location Sensor**

## Technical

The names of this Nodon's output ports are displayed, even when unselected, in the Nodon's box on the program screen Canvas when zoomed in far enough.

On the program screen, the preview values given by the output ports ignore all connections.

### Outputs

* **X** - Outputs the current X position of the sensor, from the selected 'Frame of Reference'.
* **Y** - Outputs the current Y position of the sensor, from the selected 'Frame of Reference'.
* **Z** - Outputs the current Z position of the sensor, from the selected 'Frame of Reference'.

### Settings

* **Sensor Shape** - Determines what shape the object takes on the game world.
* **Properties** - Determines various properties of the object.
	+ **Visible** - Can be changed, enabled by default.
	+ **Solid** - Always disabled.
	+ **Movable** - Always disabled.
	+ **Destructible** - Always fully disabled.
	+ **Destructive** - Always fully disabled.
	+ Other
		- **Play Sound When Hit/Destroyed?** - Always set to "Don't Play".
		- **Can Be Grabbed by Hand Nodon?** - Can be changed, set to "Can be grabbed" by default.
* **Connection Point** - Defines where the object connects with other objects.
	+ Defaults to "Center ▸ Center"
* **Frame of Reference** - Determines what is used as the reference point for the position values output. When set to "World", the output values will based on the sensor's absolute position within the world, with the center of the world's floor (absolute center for a Sphere-shaped world) acting as the 0,0,0 point. When set to "Initial Position", the sensor will output its position based on how it has positionally moved from its starting position (when connected, the initial position is the position its connection point initially puts it at), with said position acting as the 0,0,0 point. When set to "Camera", the sensor will output its position based on its location relative to the camera's current position and direction (distance in front of the camera being Z+, distance to the right being X+, and distance above being Y+.), with the camera acting as the 0,0,0 point.
	+ Defaults to "World".
	+ Specifically on the program screen, when set to "Initial Position", the preview values output will match those output by the "World" option, unlike its standard behavior.
* **Size** - Determines the object's size. This also determines the Nodon's size on the program screen, and can also be adjusted directly from that screen.
	+ If the Sensor Shape is set to "Cylinder", the X and Z axes are locked in a fixed 1:1 ratio but the Y parameter can be freely set.
	+ If the Sensor Shape is set to "Sphere", all three axes are locked in a fixed 1:1:1 ratio.
	+ When switching to an Sensor Shape with a fixed ratio, the values of the axes are not updated until they are edited (in which case the ratio will be set based on the one selected). If the parameters are left alone, the shortest of the fixed ratio axes will determine the size of the object.
		- The object's size on the program screen is not immediately adjusted either, but once resized, the shortest of the visible locked-ratio axes in the current view will determine the new size for them.
* **Position** - Determines the object's initial position when unconnected. This also determines where the Nodon is positioned on the program screen, and can also be adjusted directly from that screen.
* **Rotation** - Determines the object's initial rotation around all three axes when unconnected. Each can be anywhere from -180.00° to 180.00°. This also determines the Nodon's rotation on the program screen, and can also be adjusted directly from that screen.