Camera that allows any kind of navigation (Examine, Walk). You can switch between navigation types, while preserving the camera view.
This simply keeps an TExamineCamera and TWalkCamera instances inside, and passes events (key, mouse presses, Update) to the current one. Properties (like camera position, direction, up vectors) are simply set on both instances simultaneously.
For some uses you can even directly access the internal camera instances inside Examine and Walk properties. However, do not change them directly when you can use instead a property of this class. For example, it is Ok to directly change input key by Walk.Input_Forward (see TWalkCamera.Input_Forward). However, do not directly call Walk.SetInitialView (see TWalkCamera.SetInitialView), instead use a method of this class: TUniversalCamera.SetInitialView. This way both Examine and Walk will be kept in synch.
Choose navigation method by choosing particular camera class, and gravity and some other properties.
This is a shortcut property for reading / writing a couple of other properties. When you set this, a couple of other properties are set. When you read this, we determine a sensible answer from a couple of other properties values.
If you write to NavigationType, then you should not touch the above properties directly. That's because not every combination of above properties correspond to some sensible value of NavigationType. If you directly set some weird configuration, reading NavigationType will try it's best to determine the closest TNavigationType value that is similar to your configuration.