BotNavSim  v0.4.3
Mobile Robot Simulation
CamController Class Reference

Controls the camera orientation and render modes according to ViewMode in viewModeList user input. viewModeList is maintained by the state manager class in control i.e. Simulation, LogLoader, RobotEditor, EnvironmentEditor More...

Inheritance diagram for CamController:
Collaboration diagram for CamController:

Classes

class  StubObservable
 A blank IObservable implementation (used when the _areas list is empty) More...
 

Public Types

enum  ViewMode {
  ViewMode.Birdseye, ViewMode.Orbit, ViewMode.Mounted, ViewMode.Static,
  ViewMode.FreeMovement
}
 
enum  RenderMode { RenderMode.Hybrid, RenderMode.Normal, RenderMode.BotData }
 

Public Member Functions

void OnTestStart ()
 Raises the test start event. (handles camera exhibitionMode behaviour) More...
 
void OnTestEnd ()
 Raises the test end event. (handles camera exhibitionMode behaviour) More...
 

Static Public Member Functions

static void AddAreaOfInterest (IObservable area)
 Adds an area of interest to the list of areas for the camera to observe. More...
 
static void RemoveAreaOfInterest (IObservable area)
 Removes an area of interest from the list of areas for the camera to observe. More...
 
static void ClearAreaList ()
 Clears the area list. More...
 
static void SetAreaOfInterest (int index)
 Sets the area of interest by index. More...
 
static void SetAreaOfInterest (IObservable obj)
 Sets the area of interest by object (does nothing if the obj is not in the areas list. More...
 
static void CycleAreaOfInterest ()
 Set area to next area of interest (circular index of areas list) More...
 
static void CycleRenderMode ()
 Set renderMode to next RenderMode (circular index of render modes). More...
 
static void RandomRenderMode ()
 Set renderMode to random RenderMode. More...
 
static void AddViewMode (ViewMode mode)
 Adds a ViewMode to viewModeList. More...
 
static void RemoveViewMode (ViewMode mode)
 Removes a ViewMode from viewModeList. More...
 
static void ClearViewModeList ()
 Clears the view mode list. More...
 
static void SetViewMode (ViewMode mode)
 Sets the view mode. More...
 
static void SetViewMode (int index)
 Sets the view mode. More...
 
static void CycleViewMode ()
 Set viewMode to the next ViewMode in viewModeList (circular index of viewModeList). More...
 
static void RandomViewMode ()
 Set viewMode to random ViewMode in viewModeList. More...
 

Public Attributes

float mouseSensitivity
 Multiplies speed of mouse axis input More...
 
float freeMoveSpeed
 Camera translation speed when in free movement mode More...
 
float freeMoveSpeedShiftMult
 Camera translation speed multiplier when the SHIFT key is used More...
 
LayerMask maskCameraCollision
 Camera collision mask to avoid placing camera inside objects. More...
 
LayerMask maskNormal
 Camera culling mask for RenderMode.Normal More...
 
LayerMask maskBotData
 Camera culling mask for RenderMode.BotData More...
 
LayerMask maskHybrid
 Camera culling mask for RenderMode.Hybrid More...
 

Properties

static CamController Instance [get, private set]
 Gets the MonoBehaviour instance. More...
 
static ViewMode viewMode [get]
 Gets the current ViewMode. More...
 
static RenderMode renderMode [get, set]
 Gets or sets the RenderMode in use. RenderMode determines which render layers are drawn. More...
 
static IObservable area [get]
 Gets the current observable area of interest. More...
 
static ReadOnlyCollection< ViewModeviewModeList [get]
 List of all ViewMode in effect. More...
 

Private Member Functions

void Awake ()
 
void Start ()
 
void Update ()
 
void RenderModeUpdate ()
 Call INavigation.DrawDebugInfo as appropriate (Camera culling mask is handled in renderMode.set) More...
 
void BirdseyeUpdate ()
 Place the camera above the area of interest More...
 
void FreeMovementUpdate ()
 Camera position and rotation controlled by axis keys and mouse axis More...
 
void OrbitUpdate ()
 Camera orbit around the area of interest center More...
 

Static Private Member Functions

static CamController ()
 

Private Attributes

float _birdseyeDist = 0f
 
float _3rdPersonDist = 0.5f
 
Vector3 _3rdPersonDir = Vector3.one
 
Vector3 _1stPersonDir = Vector3.one
 

Static Private Attributes

static List< ViewMode_modes
 
static List< IObservable_areas
 
static IObservable _stub
 
static int _mode
 
static int _area
 
static Camera _camera
 
static RenderMode _renderMode
 

Detailed Description

Controls the camera orientation and render modes according to ViewMode in viewModeList user input. viewModeList is maintained by the state manager class in control i.e. Simulation, LogLoader, RobotEditor, EnvironmentEditor

Definition at line 12 of file CamController.cs.

Member Enumeration Documentation

Enumerator
Hybrid 

Display BotData and scene geometry.

Normal 

Display scene geometry only.

BotData 

Display the robot data (drawn with Draw class) only.

Definition at line 44 of file CamController.cs.

44  {
48  Hybrid,
49 
53  Normal,
54 
58  BotData
59  }
Display scene geometry only.
Display BotData and scene geometry.
Display the robot data (drawn with Draw class) only.
Enumerator
Birdseye 

Top-down orthographic view.

Orbit 

Camera orbit around a point of interest.

Mounted 

Camera attached to an object i.e. robot.

Static 

A stationary camera position

FreeMovement 

Free-flying camera.

Definition at line 17 of file CamController.cs.

17  {
21  Birdseye,
22 
26  Orbit,
27 
31  Mounted,
32 
36  Static,
37 
42  }
Camera orbit around a point of interest.
Camera attached to an object i.e. robot.
A stationary camera position
Free-flying camera.
Top-down orthographic view.

Constructor & Destructor Documentation

static CamController.CamController ( )
staticprivate

Definition at line 151 of file CamController.cs.

151  {
152  // modes list will always have ViewMode.FreeMovement, and any other modes registered by AddViewMode
153  _modes = new List<ViewMode>();
154  _modes.Add(ViewMode.FreeMovement);
155  _areas = new List<IObservable>();
156  _stub = new StubObservable();
157  }
static List< IObservable > _areas
static List< ViewMode > _modes
static IObservable _stub

Member Function Documentation

static void CamController.AddAreaOfInterest ( IObservable  area)
static

Adds an area of interest to the list of areas for the camera to observe.

Parameters
areaAn area of interest defined by a bounding box.

Definition at line 163 of file CamController.cs.

163  {
164  if (!_areas.Contains(area)) _areas.Add(area);
165  }
static List< IObservable > _areas

Here is the caller graph for this function:

static void CamController.AddViewMode ( ViewMode  mode)
static

Adds a ViewMode to viewModeList.

Parameters
modeThe view mode enum to add.

Definition at line 234 of file CamController.cs.

234  {
235  if (!_modes.Contains(mode)) _modes.Add(mode);
236  }
static List< ViewMode > _modes

Here is the caller graph for this function:

void CamController.Awake ( )
private

Definition at line 397 of file CamController.cs.

397  {
398  if (Instance == null) {
399  Instance = this;
400  }
401  else {
402  Destroy(this);
403  }
404  _camera = GetComponent<Camera>();
405  }
static Camera _camera
static CamController Instance
Gets the MonoBehaviour instance.
void CamController.BirdseyeUpdate ( )
private

Place the camera above the area of interest

Definition at line 481 of file CamController.cs.

481  {
482 
483  float size = Mathf.Max(area.bounds.size.x/2f, area.bounds.size.z/2f);
484  size += _birdseyeDist;
485  size = Mathf.Max(size, 0.5f);
486  _camera.orthographicSize = Mathf.Lerp(_camera.orthographicSize, size, Time.unscaledDeltaTime * 4f);
487  Vector3 targetPosition = area.bounds.center + Vector3.up * 10f;
488 
489  // smooth move to position
490  _camera.transform.position = Vector3.Slerp(
491  _camera.transform.position,
492  targetPosition,
493  Time.unscaledDeltaTime * 4f
494  );
495 
496  // look down
497  Quaternion targetRotation = Quaternion.LookRotation(Vector3.down);
498  _camera.transform.rotation = Quaternion.Slerp(
499  _camera.transform.rotation,
500  targetRotation,
501  Time.unscaledDeltaTime * 8f
502  );
503  }
static IObservable area
Gets the current observable area of interest.
static Camera _camera
Bounds bounds
Gets the bounds of the observable object (size and location)
Definition: IObservable.cs:18

Here is the caller graph for this function:

static void CamController.ClearAreaList ( )
static

Clears the area list.

Definition at line 179 of file CamController.cs.

179  {
180  _areas.Clear();
181  _area = 0;
182  }
static List< IObservable > _areas
static int _area

Here is the caller graph for this function:

static void CamController.ClearViewModeList ( )
static

Clears the view mode list.

Definition at line 252 of file CamController.cs.

252  {
253  _modes.Clear();
254  _modes.Add(ViewMode.Static);
255  SetViewMode(0);
256  }
static List< ViewMode > _modes
static void SetViewMode(ViewMode mode)
Sets the view mode.

Here is the call graph for this function:

Here is the caller graph for this function:

static void CamController.CycleAreaOfInterest ( )
static

Set area to next area of interest (circular index of areas list)

Definition at line 209 of file CamController.cs.

209  {
210  _area = (++_area) % _areas.Count;
211  }
static List< IObservable > _areas
static int _area

Here is the caller graph for this function:

static void CamController.CycleRenderMode ( )
static

Set renderMode to next RenderMode (circular index of render modes).

Definition at line 216 of file CamController.cs.

216  {
217  int length = System.Enum.GetValues(typeof(RenderMode)).Length;
218  renderMode = (RenderMode)((int)(++renderMode) % length);
219  }
static RenderMode renderMode
Gets or sets the RenderMode in use. RenderMode determines which render layers are drawn...

Here is the caller graph for this function:

static void CamController.CycleViewMode ( )
static

Set viewMode to the next ViewMode in viewModeList (circular index of viewModeList).

Definition at line 315 of file CamController.cs.

315  {
316  SetViewMode((++_mode) % _modes.Count);
317  }
static int _mode
static List< ViewMode > _modes
static void SetViewMode(ViewMode mode)
Sets the view mode.

Here is the call graph for this function:

Here is the caller graph for this function:

void CamController.FreeMovementUpdate ( )
private

Camera position and rotation controlled by axis keys and mouse axis

Definition at line 508 of file CamController.cs.

508  {
509  // rotate accoring to right click drag calculated in Update()
510  transform.rotation = Quaternion.LookRotation(_1stPersonDir);
511  // boost movement speed if LeftShift is held down
512  float b = Input.GetKey(KeyCode.LeftShift) ? freeMoveSpeedShiftMult : 1f;
513  // grab axis input
514  float y = Input.GetAxisRaw("Z") * freeMoveSpeed * b * Time.unscaledDeltaTime;
515  float x = Input.GetAxisRaw("X") * freeMoveSpeed * b * Time.unscaledDeltaTime;
516  // modify position according to orientation (move forward/back, strafe left/right)
517  Vector3 pos = transform.position;
518  pos += transform.forward * y;
519  pos += transform.right * x;
520  transform.position = pos;
521  }
Vector3 _1stPersonDir
float freeMoveSpeed
Camera translation speed when in free movement mode
float freeMoveSpeedShiftMult
Camera translation speed multiplier when the SHIFT key is used

Here is the caller graph for this function:

void CamController.OnTestEnd ( )

Raises the test end event. (handles camera exhibitionMode behaviour)

Definition at line 390 of file CamController.cs.

390  {
392  SetViewMode(viewModeList.IndexOf(ViewMode.Birdseye));
393  }
394  }
static bool exhibitionMode
Exhibition mode will run continually and randomly choose camera perspectives and simulation settings...
Definition: Simulation.cs:236
static void SetViewMode(ViewMode mode)
Sets the view mode.
static ReadOnlyCollection< ViewMode > viewModeList
List of all ViewMode in effect.
This is a manager class used to overlook the running of a simulation.
Definition: Simulation.cs:8

Here is the call graph for this function:

Here is the caller graph for this function:

void CamController.OnTestStart ( )

Raises the test start event. (handles camera exhibitionMode behaviour)

Definition at line 379 of file CamController.cs.

379  {
381  RandomViewMode();
384  }
385  }
static void CycleAreaOfInterest()
Set area to next area of interest (circular index of areas list)
static bool exhibitionMode
Exhibition mode will run continually and randomly choose camera perspectives and simulation settings...
Definition: Simulation.cs:236
static void RandomViewMode()
Set viewMode to random ViewMode in viewModeList.
This is a manager class used to overlook the running of a simulation.
Definition: Simulation.cs:8
static void RandomRenderMode()
Set renderMode to random RenderMode.

Here is the call graph for this function:

Here is the caller graph for this function:

void CamController.OrbitUpdate ( )
private

Camera orbit around the area of interest center

Definition at line 526 of file CamController.cs.

526  {
527 
528  Vector3 targetPosition = area.bounds.center;
529  // raycast from robot in a direction to avoid placing camera inside other objects
530  Ray ray = new Ray(area.bounds.center, _3rdPersonDir);
531  RaycastHit hit;
532  // if raycast hit, put camera on hit object
533  //if (Physics.SphereCast(ray, 0.5f, out hit, _3rdPersonDist, maskCameraCollision)) {
534  // targetPosition = hit.point + hit.normal;
535  // Debug.DrawLine(ray.origin, hit.point, Color.red);
536  //}
537  // else place camera at _3rdPersonDist away from robot
538  //else {
539  targetPosition = area.bounds.center + _3rdPersonDir * _3rdPersonDist;
540  //}
541 
542  // smooth move to position
543  _camera.transform.position = Vector3.Slerp(
544  _camera.transform.position,
545  targetPosition,
546  Time.unscaledDeltaTime * 4f
547  );
548 
549  // look at robot
550  Quaternion targetRotation = Quaternion.LookRotation(area.bounds.center - targetPosition);
551  _camera.transform.rotation = Quaternion.Slerp(
552  _camera.transform.rotation,
553  targetRotation,
554  Time.unscaledDeltaTime * 8f
555  );
556  }
static IObservable area
Gets the current observable area of interest.
static Camera _camera
Vector3 _3rdPersonDir
float _3rdPersonDist
Bounds bounds
Gets the bounds of the observable object (size and location)
Definition: IObservable.cs:18

Here is the caller graph for this function:

static void CamController.RandomRenderMode ( )
static

Set renderMode to random RenderMode.

Definition at line 224 of file CamController.cs.

224  {
225  System.Array values = System.Enum.GetValues(typeof(RenderMode));
226  renderMode = (RenderMode)values.GetValue(Random.Range(0,values.Length-1));
227  }
static RenderMode renderMode
Gets or sets the RenderMode in use. RenderMode determines which render layers are drawn...

Here is the caller graph for this function:

static void CamController.RandomViewMode ( )
static

Set viewMode to random ViewMode in viewModeList.

Definition at line 322 of file CamController.cs.

322  {
323  SetViewMode(Random.Range(0, _modes.Count-1));
324  }
static List< ViewMode > _modes
static void SetViewMode(ViewMode mode)
Sets the view mode.

Here is the call graph for this function:

Here is the caller graph for this function:

static void CamController.RemoveAreaOfInterest ( IObservable  area)
static

Removes an area of interest from the list of areas for the camera to observe.

Parameters
areaAn area of interest defined by a bounding box.

Definition at line 171 of file CamController.cs.

171  {
172  if (_areas.Count > 1) _areas.Remove(area);
173  if (_area >= _areas.Count) _area = 0;
174  }
static List< IObservable > _areas
static int _area

Here is the caller graph for this function:

static void CamController.RemoveViewMode ( ViewMode  mode)
static

Removes a ViewMode from viewModeList.

Parameters
modeThe view mode enum to remove.

Definition at line 242 of file CamController.cs.

242  {
243  if (mode != ViewMode.FreeMovement) _modes.Remove(mode);
244  if (_mode > _modes.Count) {
245  SetViewMode(0);
246  }
247  }
static int _mode
static List< ViewMode > _modes
static void SetViewMode(ViewMode mode)
Sets the view mode.

Here is the call graph for this function:

void CamController.RenderModeUpdate ( )
private

Call INavigation.DrawDebugInfo as appropriate (Camera culling mask is handled in renderMode.set)

Definition at line 472 of file CamController.cs.

472  {
473  if (Simulation.isRunning)
474  if (renderMode != RenderMode.Normal)
476  }
void DrawDebugInfo()
static Robot robot
Gets reference to the robot in the current simulation.
Definition: Simulation.cs:273
static bool isRunning
Gets a value indicating whether this Simulation is running.
Definition: Simulation.cs:325
INavigation navigation
Interface to the navigation assembly.
Definition: Robot.cs:67
This is a manager class used to overlook the running of a simulation.
Definition: Simulation.cs:8
static RenderMode renderMode
Gets or sets the RenderMode in use. RenderMode determines which render layers are drawn...

Here is the call graph for this function:

Here is the caller graph for this function:

static void CamController.SetAreaOfInterest ( int  index)
static

Sets the area of interest by index.

Parameters
indexIndex for area list.

Definition at line 188 of file CamController.cs.

188  {
189  // ignore out of range indexes
190  if (index < 0 || index >= _areas.Count) {
191  Debug.LogWarning("SetAreaOfInterest index param out of range. Ignoring.");
192  return;
193  }
194  _area = index;
195  }
static List< IObservable > _areas
static int _area

Here is the caller graph for this function:

static void CamController.SetAreaOfInterest ( IObservable  obj)
static

Sets the area of interest by object (does nothing if the obj is not in the areas list.

Parameters
objObject.

Definition at line 201 of file CamController.cs.

201  {
202  int index = _areas.IndexOf(obj);
203  if (index >= 0) _area = index;
204  }
static List< IObservable > _areas
static int _area
static void CamController.SetViewMode ( ViewMode  mode)
static

Sets the view mode.

Parameters
modeViewMode selection. If selection is not in viewModeList then it will fail.

Definition at line 262 of file CamController.cs.

262  {
263  int index = _modes.IndexOf(mode);
264  SetViewMode(index);
265  }
static List< ViewMode > _modes
static void SetViewMode(ViewMode mode)
Sets the view mode.

Here is the caller graph for this function:

static void CamController.SetViewMode ( int  index)
static

Sets the view mode.

Parameters
indexIndex for selecting from viewModeList.

Definition at line 271 of file CamController.cs.

271  {
272  // ignore out of range indexes
273  if (index < 0 || index >= _modes.Count) {
274  Debug.LogWarning("SetViewMode index param out of range. Ignoring.");
275  return;
276  }
277  _mode = index;
278  _camera.transform.parent = null;
279  // set camera properties for new ViewMode
280  switch (_modes[_mode]) {
281  case ViewMode.Mounted:
282  _camera.orthographic = false;
283  _camera.fieldOfView = 90f;
284  _camera.transform.parent = Simulation.robot.cameraMount;
285  _camera.transform.localPosition = Vector3.zero;
286  _camera.transform.localRotation = Quaternion.identity;
287  break;
288  case ViewMode.Orbit:
289  case ViewMode.FreeMovement:
290  _camera.orthographic = false;
291  _camera.fieldOfView = 60f;
292  break;
293  case ViewMode.Static:
294  _camera.orthographic = false;
295  _camera.fieldOfView = 60f;
296  Bounds b = Simulation.Instance.bounds;
297  Vector3 position = b.max;
298  position.y *= 2f;
299  position.x = Random.value < 0.5f ? b.min.x : b.max.x;
300  position.z = Random.value < 0.5f ? b.min.z : b.max.z;
301  Instance.transform.position = position;
302  Instance.transform.rotation = Quaternion.LookRotation(b.center - Instance.transform.position);
303  break;
304  default:
305  case ViewMode.Birdseye:
306  _camera.camera.orthographic = true;
307  _camera.transform.parent = null;
308  break;
309  }
310  }
static Camera _camera
static int _mode
static Simulation Instance
Reference to the MonoBebehaviour instance
Definition: Simulation.cs:222
static CamController Instance
Gets the MonoBehaviour instance.
static Robot robot
Gets reference to the robot in the current simulation.
Definition: Simulation.cs:273
static List< ViewMode > _modes
Bounds bounds
The simulation bounds described as a cube. This is the search space indicated to INavigation.
Definition: Simulation.cs:637
Transform cameraMount
The first-person perspective camera position.
Definition: Robot.cs:114
This is a manager class used to overlook the running of a simulation.
Definition: Simulation.cs:8
void CamController.Start ( )
private

Definition at line 408 of file CamController.cs.

408  {
409  SetViewMode(0);
410  }
static void SetViewMode(ViewMode mode)
Sets the view mode.

Here is the call graph for this function:

void CamController.Update ( )
private

Definition at line 413 of file CamController.cs.

413  {
414 
415  // set camera size on screen
416  float w = UI_Toolbar.I.width/Screen.width;
417  camera.rect = new Rect(0, 0, 1f-w, 1f);
418 
419  // ignore input unless mouse position is inside camera screen area
420  if ( camera.pixelRect.Contains(Input.mousePosition) ) {
421  if (Input.GetKeyDown(KeyCode.C)) CycleViewMode();
422  if (Input.GetKeyDown(KeyCode.R)) CycleRenderMode();
423  if (Input.GetKeyDown(KeyCode.Space)) CycleAreaOfInterest();
424  // scrollwheel zoom
425  _birdseyeDist -= Input.GetAxis("Mouse ScrollWheel") * 4f;
426  // adjust third person distance with scroll wheel input
427  _3rdPersonDist -= Input.GetAxis("Mouse ScrollWheel") * 4f;
428  _3rdPersonDist = Mathf.Min(_3rdPersonDist, 20f);
429  _3rdPersonDist = Mathf.Max(_3rdPersonDist, 0.25f);
430 
431  // move orbit direction vector while rightclick drag
432  if (Input.GetMouseButton(1)) {
433  float x = Input.GetAxisRaw("Mouse Y") * mouseSensitivity;
434  float y = Input.GetAxisRaw("Mouse X") * mouseSensitivity;
435  Quaternion rotation = Quaternion.AngleAxis(-y, Vector3.up);
436  _3rdPersonDir = rotation * _3rdPersonDir;
437  rotation = Quaternion.AngleAxis(x, _camera.transform.right);
438  _3rdPersonDir = rotation * _3rdPersonDir;
439 
440  rotation = Quaternion.AngleAxis(y, Vector3.up);
441  _1stPersonDir = rotation * _1stPersonDir;
442  rotation = Quaternion.AngleAxis(-x, _camera.transform.right);
443  _1stPersonDir = rotation * _1stPersonDir;
444  }
445  }
446 
447  // choose update behaviour
448  switch(viewMode) {
449  case ViewMode.Birdseye:
450  BirdseyeUpdate();
451  break;
452  case ViewMode.FreeMovement:
454  break;
455  case ViewMode.Orbit:
456  OrbitUpdate();
457  break;
458  case ViewMode.Mounted:
459  case ViewMode.Static:
460  default:
461  break;
462  }
463 
465 
466  }
static void CycleAreaOfInterest()
Set area to next area of interest (circular index of areas list)
Vector3 _1stPersonDir
static Camera _camera
float mouseSensitivity
Multiplies speed of mouse axis input
void FreeMovementUpdate()
Camera position and rotation controlled by axis keys and mouse axis
void OrbitUpdate()
Camera orbit around the area of interest center
Vector3 _3rdPersonDir
static UI_Toolbar I
Singleton pattern.
Definition: UI_Toolbar.cs:16
static ViewMode viewMode
Gets the current ViewMode.
float _3rdPersonDist
static void CycleRenderMode()
Set renderMode to next RenderMode (circular index of render modes).
void BirdseyeUpdate()
Place the camera above the area of interest
UI Toolbar provides controls for choosing which UI windows to display
Definition: UI_Toolbar.cs:11
void RenderModeUpdate()
Call INavigation.DrawDebugInfo as appropriate (Camera culling mask is handled in renderMode.set)
float width
The width of the toolbar in screen px.
Definition: UI_Toolbar.cs:21
static void CycleViewMode()
Set viewMode to the next ViewMode in viewModeList (circular index of viewModeList).

Here is the call graph for this function:

Member Data Documentation

Vector3 CamController._1stPersonDir = Vector3.one
private

Definition at line 371 of file CamController.cs.

Vector3 CamController._3rdPersonDir = Vector3.one
private

Definition at line 370 of file CamController.cs.

float CamController._3rdPersonDist = 0.5f
private

Definition at line 369 of file CamController.cs.

int CamController._area
staticprivate

Definition at line 143 of file CamController.cs.

List<IObservable> CamController._areas
staticprivate

Definition at line 140 of file CamController.cs.

float CamController._birdseyeDist = 0f
private

Definition at line 368 of file CamController.cs.

Camera CamController._camera
staticprivate

Definition at line 144 of file CamController.cs.

int CamController._mode
staticprivate

Definition at line 142 of file CamController.cs.

List<ViewMode> CamController._modes
staticprivate

Definition at line 139 of file CamController.cs.

RenderMode CamController._renderMode
staticprivate

Definition at line 145 of file CamController.cs.

IObservable CamController._stub
staticprivate

Definition at line 141 of file CamController.cs.

float CamController.freeMoveSpeed

Camera translation speed when in free movement mode

Definition at line 339 of file CamController.cs.

float CamController.freeMoveSpeedShiftMult

Camera translation speed multiplier when the SHIFT key is used

Definition at line 344 of file CamController.cs.

LayerMask CamController.maskBotData

Camera culling mask for RenderMode.BotData

Definition at line 360 of file CamController.cs.

LayerMask CamController.maskCameraCollision

Camera collision mask to avoid placing camera inside objects.

Definition at line 350 of file CamController.cs.

LayerMask CamController.maskHybrid

Camera culling mask for RenderMode.Hybrid

Definition at line 365 of file CamController.cs.

LayerMask CamController.maskNormal

Camera culling mask for RenderMode.Normal

Definition at line 355 of file CamController.cs.

float CamController.mouseSensitivity

Multiplies speed of mouse axis input

Definition at line 334 of file CamController.cs.

Property Documentation

IObservable CamController.area
staticget

Gets the current observable area of interest.

Definition at line 123 of file CamController.cs.

CamController CamController.Instance
staticgetprivate set

Gets the MonoBehaviour instance.

Definition at line 83 of file CamController.cs.

RenderMode CamController.renderMode
staticgetset

Gets or sets the RenderMode in use. RenderMode determines which render layers are drawn.

Definition at line 99 of file CamController.cs.

ViewMode CamController.viewMode
staticget

Gets the current ViewMode.

Definition at line 90 of file CamController.cs.

ReadOnlyCollection<ViewMode> CamController.viewModeList
staticget

List of all ViewMode in effect.

Definition at line 135 of file CamController.cs.


The documentation for this class was generated from the following file: