Difference between revisions of "Editor Camera Script External Code"
(→CameraObject class) |
m (→CameraObject class) |
||
Line 22: | Line 22: | ||
'''Properties''' | '''Properties''' | ||
<pre style="white-space: pre-wrap;">vec3 velocity; // The current velocity of the editor camera controller. Note: always call camera.SetVelocity in Update to set the actual camera velocity to match | <pre style="white-space: pre-wrap;">vec3 velocity; // The current velocity of the editor camera controller. Note: always call camera.SetVelocity in Update to set the actual camera velocity to match | ||
+ | |||
bool controlled; // Whether the editor camera controller is currently being controlled by a player | bool controlled; // Whether the editor camera controller is currently being controlled by a player | ||
+ | |||
bool frozen; // If the script should ignore all controller input. The engine doesn't currently use this at all | bool frozen; // If the script should ignore all controller input. The engine doesn't currently use this at all | ||
+ | |||
bool ignore_mouse_input; // If the script should ignore mouse input. Engine sets this when editor is doing selection, transformations | bool ignore_mouse_input; // If the script should ignore mouse input. Engine sets this when editor is doing selection, transformations | ||
+ | |||
bool has_position_initialized; // Initialized to false when a level loads. Useful for teleporting the camera to the first controlled movement object</pre> | bool has_position_initialized; // Initialized to false when a level loads. Useful for teleporting the camera to the first controlled movement object</pre> | ||
'''Methods''' | '''Methods''' | ||
<pre style="white-space: pre-wrap;">const quaternion& GetRotation(); // Get the current direction of the editor camera controller | <pre style="white-space: pre-wrap;">const quaternion& GetRotation(); // Get the current direction of the editor camera controller | ||
+ | |||
void SetRotation(const quaternion &in quat); | void SetRotation(const quaternion &in quat); | ||
// Set the current direction of the editor camera controller. Note: always call camera.SetXRotation, etc, in Update to set the actual camera rotation to match | // Set the current direction of the editor camera controller. Note: always call camera.SetXRotation, etc, in Update to set the actual camera rotation to match | ||
+ | |||
const vec3& GetTranslation(); // Gets the current position of the editor camera controller | const vec3& GetTranslation(); // Gets the current position of the editor camera controller | ||
+ | |||
void SetTranslation(const vec3 &in vec); | void SetTranslation(const vec3 &in vec); | ||
// Sets the current position of the editor camera controller. Note: always call camera.SetPos in Update to move the actual camera to the same spot</pre> | // Sets the current position of the editor camera controller. Note: always call camera.SetPos in Update to move the actual camera to the same spot</pre> |
Revision as of 03:23, 19 November 2017
This is a list of the external code that is only available to be used inside the editor camera script - variables, functions, and classes that "magically" exist.
To see a list of external code that is available to all scripts, please see this page - Common Script External Code
This page is manually updated, so may be slightly out of date from time to time. TODO: Add camera script page and link its docs section here, similar to the LevelScripts#Documentation page section.
Global Variables
CameraObject co; // Access the editor camera controller itself, including parameters that aren't accessible from other scripts
Classes
CameraObject class
class CameraObject;
Access the editor camera controller object.
This lets you access parameters that aren't accessible from other scripts, such as whether the camera is controlled by a player, frozen, or ignoring mouse input.
It also gives access to a quaternion representing the orientation of the camera, instead of Camera
's euler angle access functions.
Properties
vec3 velocity; // The current velocity of the editor camera controller. Note: always call camera.SetVelocity in Update to set the actual camera velocity to match bool controlled; // Whether the editor camera controller is currently being controlled by a player bool frozen; // If the script should ignore all controller input. The engine doesn't currently use this at all bool ignore_mouse_input; // If the script should ignore mouse input. Engine sets this when editor is doing selection, transformations bool has_position_initialized; // Initialized to false when a level loads. Useful for teleporting the camera to the first controlled movement object
Methods
const quaternion& GetRotation(); // Get the current direction of the editor camera controller void SetRotation(const quaternion &in quat); // Set the current direction of the editor camera controller. Note: always call camera.SetXRotation, etc, in Update to set the actual camera rotation to match const vec3& GetTranslation(); // Gets the current position of the editor camera controller void SetTranslation(const vec3 &in vec); // Sets the current position of the editor camera controller. Note: always call camera.SetPos in Update to move the actual camera to the same spot
Related Global Variables
CameraObject co; // The global instance of this editor camera controller class
Camera camera; // The global instance of an object for controlling the actual camera itself