Difference between revisions of "Editor Camera Script External Code"

From Wolfire Games Wiki
Jump to: navigation, search
(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