PageRenderTime 66ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/Dlls/Delta.InputSystem.xml

#
XML | 1207 lines | 1207 code | 0 blank | 0 comment | 0 complexity | faf8ff988eab74729542287618c7e9de MD5 | raw file
Possible License(s): Apache-2.0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <doc>
  3. <assembly>
  4. <name>Delta.InputSystem</name>
  5. </assembly>
  6. <members>
  7. <member name="T:Delta.InputSystem.Devices.GestureData">
  8. <summary>
  9. Helper struct for gesture data, which holds whatever gesture was
  10. performed with all the important data (touch points, how much movement
  11. happened, how much time has passed since this gesture was started and
  12. of course the gesture type like Tap, Pinch, Drag, Rotate, etc.).
  13. In XNA we can copy this data straight over from the GestureSample struct
  14. and on the iPhone we capture all gestures and then fill up the
  15. GestureQueue in BaseTouch and handle it in the update method.
  16. </summary>
  17. </member>
  18. <member name="F:Delta.InputSystem.Devices.GestureData.Gesture">
  19. <summary>
  20. Type of the gesture, most often a simple gesture like Tap, DoubleTap
  21. or Drag, but we got many more like Flick, Pinch, etc. see GestureType.
  22. </summary>
  23. </member>
  24. <member name="F:Delta.InputSystem.Devices.GestureData.Position">
  25. <summary>
  26. Position for this gesture (usually where this gesture started).
  27. </summary>
  28. </member>
  29. <member name="F:Delta.InputSystem.Devices.GestureData.OtherPosition">
  30. <summary>
  31. Other position for this gesture (where it started, only used if this
  32. gesture has a second touch point, else it is the same as Position).
  33. </summary>
  34. </member>
  35. <member name="F:Delta.InputSystem.Devices.GestureData.Delta">
  36. <summary>
  37. Delta position of the first touch point, which is how much it was
  38. moved for this gesture. Can be used to determinate how far and fast
  39. a dragging move was performed (see UpdateTime).
  40. </summary>
  41. </member>
  42. <member name="F:Delta.InputSystem.Devices.GestureData.OtherDelta">
  43. <summary>
  44. Other delta position for the second (optional) touch point.
  45. </summary>
  46. </member>
  47. <member name="F:Delta.InputSystem.Devices.GestureData.UpdateTime">
  48. <summary>
  49. Update time for this gesture in seconds. This is the time since this
  50. gesture was started, which is especially important for one-time
  51. gestures like Tap or Flick, but also used for most other gestures like
  52. Drag or Pinch where we want to know how quick the user is moving.
  53. </summary>
  54. </member>
  55. <member name="M:Delta.InputSystem.Devices.GestureData.#ctor(Delta.InputSystem.Devices.GestureType,Delta.Utilities.Datatypes.Point,Delta.Utilities.Datatypes.Point,Delta.Utilities.Datatypes.Point,Delta.Utilities.Datatypes.Point,System.Single)">
  56. <summary>
  57. Create gesture data and fill all fields. For single touch gestures
  58. Position is the same as OtherPosition (same for Delta and OtherDelta).
  59. </summary>
  60. <param name="setGestureType">Type of the set gesture.</param>
  61. <param name="setPosition">The set position.</param>
  62. <param name="setOtherPosition">The set other position.</param>
  63. <param name="setDelta">The set delta.</param>
  64. <param name="setOtherDelta">The set other delta.</param>
  65. <param name="setUpdateTime">The set update time.</param>
  66. </member>
  67. <member name="T:Delta.InputSystem.Devices.BaseTouch">
  68. <summary>
  69. Base class for touch devices. Most important on the iPhone, but also for
  70. other mobile platforms and we can even test it on Windows with a touch
  71. device. Note unlike the other devices we support here in input, touch
  72. events are mostly driven by behavior or gestures by the user, which
  73. requires some extra logic, but allows us to use some cool input ways.
  74. Note that the Accelerometer is implemented in BaseAccelerometer.
  75. </summary>
  76. </member>
  77. <member name="F:Delta.InputSystem.Devices.BaseTouch.MaxNumberOfTouches">
  78. <summary>
  79. Max. number of touches supported is currently 10, which is the
  80. hardware limit on the iPad, the iPhone and iPod touch can only do 5
  81. simultaneous touches and most other mobile multi touch device can do
  82. the same or a little fewer. Our test monitor device on Windows, the
  83. Acer T230H can only do 2 simultaneous touches, but that does not
  84. matter for performance because we will always use ActiveTouches to
  85. only handle as many active touches we have in each tick. Android and
  86. WP7 forces to have at least 2 touches, but most devices can do 4.
  87. </summary>
  88. </member>
  89. <member name="F:Delta.InputSystem.Devices.BaseTouch.StartIndexOfTouchButtons">
  90. <summary>
  91. Constants for the buttons array and easier access in GetState.
  92. Note that the InputButton enum indices are not sequential, there
  93. are jumps in the list, but the GamePad buttons go from TouchPress (252)
  94. to GamePadRightTrigger (262), so we have 11 Touch buttons.
  95. </summary>
  96. </member>
  97. <member name="F:Delta.InputSystem.Devices.BaseTouch.NumberOfTouchButtons">
  98. <summary>
  99. Number of touch buttons used in this class, just TouchPress and
  100. TouchDrag, the rest are all gestures, see InputGesture!
  101. </summary>
  102. </member>
  103. <member name="F:Delta.InputSystem.Devices.BaseTouch.tapRecorded">
  104. <summary>
  105. Here we record all the gesture activities, while the exceedClickSpace
  106. will check if the mouse moved more than the allowed distance for a
  107. normal click.
  108. </summary>
  109. </member>
  110. <member name="F:Delta.InputSystem.Devices.BaseTouch.buttons">
  111. <summary>
  112. Hold the state of all Touch buttons and gestures (almost all are
  113. gestures). These are exposed in the GetState method and updated
  114. in the Update method.
  115. </summary>
  116. </member>
  117. <member name="F:Delta.InputSystem.Devices.BaseTouch.lastFrameTouchPosition">
  118. <summary>
  119. We need to remember the touch start position for the TouchTap gesture.
  120. Also remember the touchDraggingAmount from the initial
  121. touchStartPosition and the current Position (if you want the dragging
  122. amount since the last frame just use lastFrameTouchPosition-Position).
  123. </summary>
  124. </member>
  125. <member name="F:Delta.InputSystem.Devices.BaseTouch.touchBeginTimeMs">
  126. <summary>
  127. Remember when the touch was started (for TouchTap) and when
  128. the last TouchTab was started (for TouchDoubleTap).
  129. </summary>
  130. </member>
  131. <member name="F:Delta.InputSystem.Devices.BaseTouch.Touches">
  132. <summary>
  133. Touch array, this holds up to ActiveTouches active touches with all
  134. their data (id, position, state, etc.). Public for easy access, do
  135. not modify (will be overwritten each frame anyway).
  136. </summary>
  137. </member>
  138. <member name="M:Delta.InputSystem.Devices.BaseTouch.GetState(Delta.InputSystem.InputButton)">
  139. <summary>
  140. Get button state from a specific mouse button. We usually want to know
  141. if it is currently being pressed or if PressEnd just happened.
  142. </summary>
  143. <param name="touchButton">Touch button to check</param>
  144. <returns>
  145. State of the current button, most likely NotPressed
  146. </returns>
  147. </member>
  148. <member name="M:Delta.InputSystem.Devices.BaseTouch.GetMovement(Delta.InputSystem.InputButton)">
  149. <summary>
  150. Get button movement for Mouse movements and dragging (you can also
  151. use the properties directly, but this methods helps us to generalize).
  152. </summary>
  153. <param name="touchButton">The touch button.</param>
  154. <returns></returns>
  155. </member>
  156. <member name="M:Delta.InputSystem.Devices.BaseTouch.IsPressed(Delta.InputSystem.InputButton)">
  157. <summary>
  158. Get if a Keyboard key, GamePad button, Mouse button or Touch state
  159. is currently pressed, which is the same as checking if GetState
  160. is PressBegin or Pressed, but this method makes life easier.
  161. </summary>
  162. <param name="touchButton">The touch button.</param>
  163. <returns>
  164. <c>true</c> if the specified touch button is pressed; otherwise, <c>false</c>.
  165. </returns>
  166. </member>
  167. <member name="M:Delta.InputSystem.Devices.BaseTouch.IsReleased(Delta.InputSystem.InputButton)">
  168. <summary>
  169. Get if a Touch state is released now, which is the same as checking if
  170. GetState is Released, but this method makes life easier.
  171. </summary>
  172. <param name="touchButton">The touch button.</param>
  173. <returns>
  174. <c>true</c> if the specified touch button is released; otherwise, <c>false</c>.
  175. </returns>
  176. </member>
  177. <member name="M:Delta.InputSystem.Devices.BaseTouch.Update">
  178. <summary>
  179. Update this input device once a frame, done very early in the frame.
  180. </summary>
  181. </member>
  182. <member name="M:Delta.InputSystem.Devices.BaseTouch.KillAllInput">
  183. <summary>
  184. Kill all input, used to clear stuff when opening a new scene, we
  185. want to start fresh!
  186. </summary>
  187. </member>
  188. <member name="M:Delta.InputSystem.Devices.BaseTouch.SetInitialTouchPressData(Delta.Utilities.Datatypes.Point)">
  189. <summary>
  190. Set initial touch press data helper to set some of the touch begin
  191. internal variables used for gesture detection.
  192. </summary>
  193. </member>
  194. <member name="M:Delta.InputSystem.Devices.BaseTouch.GetOrCreateIndexFromTouchId(System.Int32)">
  195. <summary>
  196. Get index from touch id helper method. Used to assign native touch ids
  197. to our Touches array (see each native Set implementation)
  198. </summary>
  199. </member>
  200. <member name="M:Delta.InputSystem.Devices.BaseTouch.UpdateAndResetTouchStates">
  201. <summary>
  202. Update and reset touch states helper method used in WindowsTouch and
  203. MonoTouchTouch (and probably future platforms too).
  204. </summary>
  205. </member>
  206. <member name="M:Delta.InputSystem.Devices.BaseTouch.HandleStatesAndGestures">
  207. <summary>
  208. Handle states and gestures
  209. </summary>
  210. </member>
  211. <member name="P:Delta.InputSystem.Devices.BaseTouch.IsConnected">
  212. <summary>
  213. Was a touch device detected? Returns true if the current platform
  214. support touches and if we are unsure returns true when the first touch
  215. happens. E.g. on Windows we usually have no touch device, but touches
  216. can still happen, so we check from time to time if any touch input
  217. happened. If true, then this will be set to true.
  218. </summary>
  219. </member>
  220. <member name="P:Delta.InputSystem.Devices.BaseTouch.HasData">
  221. <summary>
  222. Returns true if any button or key is pressed (including PressBegin,
  223. Pressed or PressEnd state), or for touch screen devices if any touch
  224. or gesture is currently active. Usually used as an optimization for
  225. detecting buttons, gestures, handling events, etc. because if nothing
  226. is pressed, we can skip all the checking! E.g. keyboard keys and their
  227. command events only have to be fired if this property is true (which
  228. means any key is pressed, including PressEnd states by the way).
  229. </summary>
  230. </member>
  231. <member name="P:Delta.InputSystem.Devices.BaseTouch.ActiveTouches">
  232. <summary>
  233. Number of active touches (0-10), this optimizes all access to the
  234. Touches array a lot because we only need to check active touches and
  235. not the rest of the most likely unused array. Please note even if
  236. this goes to 0 (all touches just released), HasData might still return
  237. true because there is still some gesture or PressEnd state active for
  238. one more frame (or even more for some delayed gestures).
  239. </summary>
  240. <value>
  241. The active touches.
  242. </value>
  243. </member>
  244. <member name="P:Delta.InputSystem.Devices.BaseTouch.Orientation">
  245. <summary>
  246. Get the current orientation mode of the device, defaults to
  247. NormalPortrait mode (the normal way the user holds a mobile device),
  248. most games will use the LandscapeLeft mode however.
  249. </summary>
  250. </member>
  251. <member name="P:Delta.InputSystem.Devices.BaseTouch.TouchIsPressed">
  252. <summary>
  253. Helper to figure out if the touch device is currently being pressed,
  254. it does not matter how many fingers are on the screen, this will
  255. return true as long as some touch is pressed. This is usually not the
  256. way to control touch devices, use gestures and command events instead!
  257. </summary>
  258. <value>
  259. <c>true</c> if [touch is pressed]; otherwise, <c>false</c>.
  260. </value>
  261. </member>
  262. <member name="P:Delta.InputSystem.Devices.BaseTouch.TouchReleased">
  263. <summary>
  264. Helper to figure out if the touch device was pressed and the touch
  265. is now released again. This is usually not the way to control touch
  266. devices, use gestures and command events instead!
  267. </summary>
  268. <value>
  269. <c>true</c> if [touch released]; otherwise, <c>false</c>.
  270. </value>
  271. </member>
  272. <member name="P:Delta.InputSystem.Devices.BaseTouch.Position">
  273. <summary>
  274. Returns the last touch position. Only makes sense if Pressed is true
  275. and will only return the very first touch position (multiple touches
  276. are possible, use the Touches array to get them all). Unlike mouse
  277. positions we cannot set the touch position, it will only be updated
  278. when an touch is active (usually the first touch is used, except for
  279. multi-touch gestures, which will set this to the gesture position,
  280. which is the center for the Rotation, Pinch, DualDrag, etc.).
  281. </summary>
  282. </member>
  283. <member name="P:Delta.InputSystem.Devices.BaseTouch.LastFramePosition">
  284. <summary>
  285. Get the touch position from the last frame, this is not used often
  286. because touches are often released and then we have no more position
  287. information (as opposed to the mouse, where we always have its
  288. position). But can be used to check if we drag into a UI control or
  289. rectangle and should change focus.
  290. </summary>
  291. </member>
  292. <member name="P:Delta.InputSystem.Devices.BaseTouch.Movement">
  293. <summary>
  294. Relative movement of the touch this frame (in quadratic space).
  295. Because touches can only move when pressed, this is the dragging
  296. amount and makes only sense in this context.
  297. </summary>
  298. </member>
  299. <member name="P:Delta.InputSystem.Devices.BaseTouch.IsDragging">
  300. <summary>
  301. Is mouse currently being dragged around? This means that the user
  302. holds down the left mouse button and is moving the mouse!
  303. </summary>
  304. <value>
  305. <c>true</c> if this instance is dragging; otherwise, <c>false</c>.
  306. </value>
  307. </member>
  308. <member name="P:Delta.InputSystem.Devices.BaseTouch.DragStart">
  309. <summary>
  310. Drag start position in case we are dragging the touch around.
  311. </summary>
  312. </member>
  313. <member name="P:Delta.InputSystem.Devices.BaseTouch.DragStartTimeMs">
  314. <summary>
  315. Drag start time to figure out when this drag was started and thus how
  316. far we are moving. Usually used for gestures to determinate if this
  317. was a quick swipe or a slow drag (different code paths could be used).
  318. </summary>
  319. </member>
  320. <member name="P:Delta.InputSystem.Devices.BaseTouch.TotalDragAmount">
  321. <summary>
  322. Drag start position minus the current position to give us the total
  323. drag distance as a 2D vector in case we are dragging the mouse around.
  324. Use the IsDragging property to check if a drag is currently happening.
  325. Note: This only handles the normal drag, for the other drag gestures
  326. use the input buttons for them (right drag, double drag, and flick).
  327. </summary>
  328. </member>
  329. <member name="T:Delta.InputSystem.Devices.BaseTouch.OrientationMode">
  330. <summary>
  331. Orientation modes any mobile device supports by holding the device in
  332. different ways. By default the app should just render in a way that
  333. the user never sees the app upside down.
  334. </summary>
  335. </member>
  336. <member name="T:Delta.InputSystem.InputButton">
  337. <summary>
  338. This enum combines all the possible input buttons we support in the
  339. Delta Engine. This includes all keyboard keys, all mouse buttons, all
  340. gamepad buttons and even touch input devices. Additionally we will even
  341. fire events for non-button actions such as MouseMove, MouseScrollWheel,
  342. TouchDrag, etc. This way all input changes can be tracked with the same
  343. system. For absolute values and current keyboard or mouse states just
  344. use the dedicated classes (e.g. Input.Mouse.Position,
  345. Input.Mouse.IsLeftButtonPressed, Input.Keyboard.IsKeyPressed(Escape)).
  346. </summary>
  347. <remarks>
  348. Keyboard input is mapped to the character values of each key, which
  349. is the way Xna and XInput handle keys as well (so mapping is easy).
  350. Note that all the keyboard key values are matched directly with the
  351. character values. Mouse buttons follow and will start with "Mouse", then
  352. Gamepad buttons are located after this and start with "Gamepad" and
  353. finally Touch events starting with "Touch" are at the end of this enum.
  354. For example gamepads even allow feedback via ForceFeedback(x, y) and you
  355. can also support multiple gamepads via Input.Gamepads[0], [1], etc. but
  356. this won't work with the Commands stored in Settings, they are only for
  357. the first player (you will need new events for the second player, etc.)
  358. <para></para>
  359. Keyboard layout:
  360. <para></para><img src="http://heightstranslators.com/page11/files/standard-keyboard.png" /><para></para>
  361. Note: For keyboard and also for all other input devices the following
  362. four keyboard modifiers can be used: Shift, Control, Alt and WindowsKey!
  363. For InputCommands just use the notation Modifier+key, e.g. Shift+F1
  364. will only be fired if the Shift key is down while F1 is pressed. You can
  365. also use multiple modifiers like Ctrl+Alt+X for more advanced bindings.
  366. <para></para>
  367. Mouse button layout:
  368. <para></para><img src="http://gamingweapons.com/image/articles/best-gaming-mouse/logitech-mx518.jpg" /><para></para>
  369. For details about GamePad buttons see
  370. <a href="http://en.wikipedia.org/wiki/Gamepad">
  371. http://en.wikipedia.org/wiki/Gamepad</a>.
  372. <para></para>
  373. The Xbox 360 Controller looks like this:
  374. <para></para><img src="http://www.crazypurchase.com/images/microsoft-xbox-360-wireless-controller.jpg" /><para></para>
  375. The PS3 Controller looks like this:
  376. <para></para><img src="http://g00248753.com/graphics/SCEE_PS3_controller_top.png" /><para></para>
  377. Touch devices are usually an iPhone, the Android Phone, the
  378. Windows Phone 7 or some kind of a touch screen device on Windows 7:
  379. <para></para><img src="http://assets.gearlive.com/blogimages/gallery/iphone-113-preview/003-iphone-113-drag-mail.jpg" /><para></para>
  380. And finally the Delta Engine also supports the Wiimote GamePad
  381. controller and Accelerometer on Windows (see WiimoteGamePad and
  382. WiimoteAccelerometer classes in Delta.InputSystem.Windows):
  383. <para></para><img src="http://www.wiiprojects.org/Bluetooth/WiiMote.jpg" /><para></para>
  384. It is important to note that almost all touch events are triggered by
  385. gestures, which are usually defined on a framework that is used by
  386. the current platform. These are the common gestures:
  387. Tap (single short press, simulates left click), Pinch (2 finger zoom),
  388. Swipe (quick drag, scroll), Pan (long drags, move), Press-and-Hold (we
  389. call this TouchVeryLongClick). Additionally there are some more advanced
  390. gestures for rotation, double tap, dual drag and there is also the
  391. accelerator support for most mobile touch devices.
  392. </remarks>
  393. </member>
  394. <member name="T:Delta.InputSystem.CommandManager">
  395. <summary>
  396. Command manager base class, used for the GlobalCommandManager and for
  397. commands in scenes. Basically we go through a list of command and check
  398. if all the input conditions are fulfilled, if so the command event is
  399. fired and all attached delegates will be executed.
  400. TODO: add saving into Settings.xml and into the Scene file!
  401. TODO: could be a dynamic module maybe?
  402. </summary>
  403. </member>
  404. <member name="M:Delta.InputSystem.CommandManager.#ctor">
  405. <summary>
  406. Command Manager constructor will load all the commands (either form
  407. an XML file or a default setting array) to the commands list to prepare
  408. it for the Update.
  409. </summary>
  410. </member>
  411. <member name="M:Delta.InputSystem.CommandManager.Load(Delta.Utilities.Xml.XmlNode)">
  412. <summary>
  413. Load all input commands from a file, usually InputSettings.xml either
  414. from the current directory (user data) or from the content directory!
  415. </summary>
  416. <param name="rootNode">Xml root node to load all data from</param>
  417. </member>
  418. <member name="M:Delta.InputSystem.CommandManager.Save">
  419. <summary>
  420. Save the current command to an xml node for saving it into the
  421. InputSettings.xml file (normally in the current directory for user
  422. specific settings, but is also used to generate the content directory
  423. fallback settings for the current project).
  424. </summary>
  425. </member>
  426. <member name="M:Delta.InputSystem.CommandManager.DetachAllDelegates(System.Object)">
  427. <summary>
  428. Detach all delegates
  429. </summary>
  430. <param name="owner">The owner of the delegate</param>
  431. </member>
  432. <member name="M:Delta.InputSystem.CommandManager.ResetToDefaults">
  433. <summary>
  434. Reset to defaults
  435. </summary>
  436. </member>
  437. <member name="T:Delta.InputSystem.InputState">
  438. <summary>
  439. Enum describing all possible input events that can be raised by the
  440. values described in <see cref="T:Delta.InputSystem.InputButton">InputButton</see>.
  441. Most InputButtons support all states Pressed, IsPressed for every frame
  442. the button is pressed and Released after the button was released again
  443. (for one frame, then it is reset to NotPressed again). Some events like
  444. MouseTap or TouchTap only support Released because while the gesture is
  445. going on we usually don't know if it will be completed or which of the
  446. many gesture this is going to be. In GlobalCommandManager you can find
  447. many examples of using these InputButtons with certain InputStates. All
  448. the native events and state checking is done in each concrete framework
  449. code for each device we support: Keyboard, Mouse, GamePad and Touch
  450. devices. Note: If InputState is Pressed or higher (IsPressed) then the
  451. button is pressed, otherwise it is not pressed (NotPressed or Released).
  452. </summary>
  453. </member>
  454. <member name="T:Delta.InputSystem.CommandTrigger">
  455. <summary>
  456. Class which takes care about triggering the command specified by the
  457. <see cref="F:Delta.InputSystem.CommandTrigger.owner" /> member. Contains all required conditions when a
  458. command should executed. Additionally some data is set whenever a
  459. delegate is fired like Position, CurrentState (which can be Pressed for
  460. IsPressed events too), Movement, DragStart position for dragging and
  461. finally an IsHandled flag.
  462. </summary>
  463. </member>
  464. <member name="F:Delta.InputSystem.CommandTrigger.DeviceIndex">
  465. <summary>
  466. Device index for this device, usually the controller index for
  467. GamePads and Mouses (0-3 usually for XnaGamePads or MultiMouse), but
  468. also used for Touch devices to get the Touch index, which cannot be
  469. used as the player number like the controller index for GamePads.
  470. For single player games, UI and whenever we want to ignore this, just
  471. don't care about the device index, use whatever is connected! If
  472. split screen or local multi player support is important just use this
  473. device index to support multiple local players!
  474. </summary>
  475. </member>
  476. <member name="F:Delta.InputSystem.CommandTrigger.Position">
  477. <summary>
  478. Position of this command at the time it was fired (usually the Mouse
  479. Position or Touch Position, but GamePads and Keyboards and even the
  480. Accelerometer input device have positions too, it is your decision if
  481. you want to use that data or not).
  482. </summary>
  483. </member>
  484. <member name="F:Delta.InputSystem.CommandTrigger.Movement">
  485. <summary>
  486. Relative movement since the last frame, is often unused, especially for
  487. keyboard events, for most buttons on GamePads and Mouses, but is useful
  488. for dragging events. Please note that some gestures like Pinch and
  489. Rotate have their own logic for movement and will return different data
  490. like X=PinchAmount and Y=RotationAmount (see Touch.GetMovement).
  491. </summary>
  492. </member>
  493. <member name="F:Delta.InputSystem.CommandTrigger.DragStart">
  494. <summary>
  495. Additional information for drag events, this contains the position
  496. where the drag was started. It is also used for many gestures for the
  497. original touch start position and thus can be used to figure out how
  498. fast this gesture was performed and where it started and what UI
  499. element it belongs to. DragAmount is Position - DragStart!
  500. </summary>
  501. </member>
  502. <member name="F:Delta.InputSystem.CommandTrigger.IsHandled">
  503. <summary>
  504. Helper variable to indicate if an event was already handled. Can be
  505. ignored. Will always be set to false when the event is fired and the
  506. callers can choose to set this to true and then skip execution of
  507. other callers, which will not be invoked anymore if IsHandled is true.
  508. Useful for some UserInterface events where we attach ourselfs to
  509. multiple callers, but want to make sure that we already have handled
  510. it if a children executed some code already.
  511. </summary>
  512. </member>
  513. <member name="M:Delta.InputSystem.CommandTrigger.#ctor">
  514. <summary>
  515. Create command trigger
  516. </summary>
  517. </member>
  518. <member name="M:Delta.InputSystem.CommandTrigger.ToString">
  519. <summary>
  520. To string
  521. </summary>
  522. <returns>string</returns>
  523. </member>
  524. <member name="P:Delta.InputSystem.CommandTrigger.CommandName">
  525. <summary>
  526. The name of the command where this trigger is attached to because it
  527. will be only activated for the related command.
  528. </summary>
  529. <remarks>
  530. This value will be updated every time the 'Owner' property will change.
  531. </remarks>
  532. </member>
  533. <member name="P:Delta.InputSystem.CommandTrigger.Button">
  534. <summary>
  535. The button which will activate this trigger but only if it is in the
  536. correct state (and also if all modifiers are active, if set).
  537. </summary>
  538. </member>
  539. <member name="P:Delta.InputSystem.CommandTrigger.State">
  540. <summary>
  541. The state for the specified button which defines when this trigger will
  542. be activated.
  543. </summary>
  544. <remarks>
  545. This value can be every possible state, inclusive 'NotPressed'
  546. </remarks>
  547. </member>
  548. <member name="P:Delta.InputSystem.CommandTrigger.StartInterval">
  549. <summary>
  550. Defines the delay (in seconds) that have to be wait before the command
  551. will be triggered with specified 'Interval'. If no delay is set it will
  552. just use the specified value from 'Interval' instead.
  553. <para />
  554. Note: Specifying this value makes only sense for the 'IsPressed' state.
  555. </summary>
  556. </member>
  557. <member name="P:Delta.InputSystem.CommandTrigger.Interval">
  558. <summary>
  559. Defines the time interval (in seconds) between this trigger repeats
  560. the activation as long as the button state stays the same.
  561. <para />
  562. Note: Specifying this value makes only sense for the 'IsPressed' state.
  563. </summary>
  564. </member>
  565. <member name="P:Delta.InputSystem.CommandTrigger.Modifiers">
  566. <summary>
  567. Each command can have optional modifiers, which are usually not set
  568. ('null'). In case they are set, the trigger will only be activated if
  569. every modifier button is pressed too. Typical modifier buttons are Alt,
  570. Shift, or Ctrl but also any other button is possible.
  571. </summary>
  572. <remarks>
  573. All modifiers have be active to react on the specified button.
  574. </remarks>
  575. </member>
  576. <member name="P:Delta.InputSystem.CommandTrigger.TotalDragAmount">
  577. <summary>
  578. Drag start position minus the current position to give us the total
  579. drag distance as a 2D vector in case we are dragging the mouse around.
  580. Use the IsDragging property to check if a drag is currently happening.
  581. Note: This only handles the normal drag, for the other drag gestures
  582. use the input buttons for them (right drag, double drag, and flick).
  583. </summary>
  584. </member>
  585. <member name="T:Delta.InputSystem.InputSettings">
  586. <summary>
  587. The InputSettings takes care of all the input commands. (Previously
  588. found in the GlobalCommandManager). each command settings will be loaded
  589. and saved from the InputCommand.xml File.
  590. <para />
  591. Note: Creating this class is not allowed, use the static methods. All data
  592. is filled with the CommandTrigger.LoadXml method.
  593. </summary>
  594. </member>
  595. <member name="T:Delta.InputSystem.Devices.TouchData">
  596. <summary>
  597. Holds all the data for one touch (no matter if from iPhone or XNA).
  598. </summary>
  599. </member>
  600. <member name="F:Delta.InputSystem.Devices.TouchData.Id">
  601. <summary>
  602. Represents the id of the current unique touch point.
  603. </summary>
  604. </member>
  605. <member name="F:Delta.InputSystem.Devices.TouchData.Position">
  606. <summary>
  607. Position of this touch point in quadratic screen space.
  608. </summary>
  609. </member>
  610. <member name="F:Delta.InputSystem.Devices.TouchData.LastDragging">
  611. <summary>
  612. Last position data, currently has to be updated by caller, also
  613. remember the recent dragging, which can be used for drags and flicks.
  614. </summary>
  615. </member>
  616. <member name="F:Delta.InputSystem.Devices.TouchData.StartPosition">
  617. <summary>
  618. Start position of this touch point in quadratic screen space when
  619. the touch first was started (when state was just changed to Pressed)
  620. </summary>
  621. </member>
  622. <member name="F:Delta.InputSystem.Devices.TouchData.State">
  623. <summary>
  624. Input state for this touch, usually Pressed to indicate we are holding
  625. down this touch (stationary or moving). Initially when a new touch
  626. happens this state is PressBegin and once we release the touch it
  627. will be set to PressEnd.
  628. </summary>
  629. </member>
  630. <member name="F:Delta.InputSystem.Devices.TouchData.IsDragging">
  631. <summary>
  632. Extra flag to indicate that this touch is currently being dragged
  633. around. When using gestures, this is not very important, but for just
  634. handling native data, this information might be useful.
  635. </summary>
  636. </member>
  637. <member name="F:Delta.InputSystem.Devices.TouchData.TapCount">
  638. <summary>
  639. Helper to keep track of how many taps were made, given to us by the
  640. native framework (e.g. MonoTouch.UITouch.TapCount).
  641. </summary>
  642. </member>
  643. <member name="F:Delta.InputSystem.Devices.TouchData.UpdateTimeMs">
  644. <summary>
  645. Update time in seconds since the initial touch press. In MonoTouch the
  646. value of this property is the time, in seconds, since system startup
  647. the touch either originated or was last changed. You can store and
  648. compare the initial value of this attribute to subsequent timestamp
  649. values of the UITouch instance to determine the duration of the touch
  650. and, if it is being swiped, the speed of movement. Note: This is also
  651. used to check if we have not received any update to a touch for more
  652. than one second. If that is the case the touch will be reseted and
  653. released (e.g. if touch system is bugged, unresponsive, or has
  654. crashed). Usually all frameworks (MonoTouch, MonoDroid, Windows7, and
  655. XNA) will report updates each frame, there is never a delay for one
  656. second or more for touches, so this only catches errors.
  657. </summary>
  658. </member>
  659. <member name="F:Delta.InputSystem.Devices.TouchData.CurrentlyUsedByGesture">
  660. <summary>
  661. Helper to indicate if this touch event is currently already fired
  662. as a gesture. Note: If this is a one-time gesture like tap or hold
  663. this will be false until we actually fire the gesture event (then this
  664. will be true for one tick). This is more useful for drag, pinch or
  665. rotate events, where we know for a long time that a gesture is used.
  666. </summary>
  667. </member>
  668. <member name="M:Delta.InputSystem.Devices.TouchData.Set(System.Int32,Delta.Utilities.Datatypes.Point,Delta.InputSystem.InputState,System.Boolean,System.Int32,System.Int64)">
  669. <summary>
  670. Set touch data, pretty much like a constructor, but this is faster
  671. because we only want to update the BaseTouch.Touches array data.
  672. </summary>
  673. </member>
  674. <member name="T:Delta.InputSystem.Devices.BaseAccelerometer">
  675. <summary>
  676. Base class for accelerometers in mobile touch devices like the iPhone,
  677. Android devices or the Windows Phone 7. Can also be emulated by the
  678. Wii controller if you really want to (e.g. on Windows).
  679. Note: Currently not used anywhere yet, only tested with Wiimote.
  680. </summary>
  681. </member>
  682. <member name="F:Delta.InputSystem.Devices.BaseAccelerometer.StartIndexOfAccelerometerButtons">
  683. <summary>
  684. Constants for the buttons array and easier access in GetState.
  685. Note that the InputButton enum indices are not sequential, there are
  686. jumps in the list, but the GamePad buttons go from TouchPress (252)
  687. to GamePadRightTrigger (262), so we have 11 Touch buttons.
  688. </summary>
  689. </member>
  690. <member name="F:Delta.InputSystem.Devices.BaseAccelerometer.TotalCursorMovementPerSecond">
  691. <summary>
  692. For the virtual cursor (kind of emulating a mouse cursor)
  693. this constant holds how far we move from one side to the other.
  694. </summary>
  695. </member>
  696. <member name="F:Delta.InputSystem.Devices.BaseAccelerometer.virtualPosition">
  697. <summary>
  698. Virtual cursor position for this device. Not useful as an actual
  699. screen cursor, but could be useful otherwise like for testing.
  700. </summary>
  701. </member>
  702. <member name="M:Delta.InputSystem.Devices.BaseAccelerometer.GetState(Delta.InputSystem.InputButton)">
  703. <summary>
  704. Get button state, not used for accelerators.
  705. </summary>
  706. <param name="inputButton"></param>
  707. <returns></returns>
  708. </member>
  709. <member name="M:Delta.InputSystem.Devices.BaseAccelerometer.IsPressed(Delta.InputSystem.InputButton)">
  710. <summary>
  711. Is pressed, not used for accelerators.
  712. </summary>
  713. <param name="inputButton"></param>
  714. <returns></returns>
  715. </member>
  716. <member name="M:Delta.InputSystem.Devices.BaseAccelerometer.GetMovement(Delta.InputSystem.InputButton)">
  717. <summary>
  718. Get button movement for the Accelerometer buttons (you can also
  719. use the properties directly, but this methods helps us to generalize).
  720. Note: Since we can only grab a point with GetMovement, this only
  721. returns the X and Y values (mostly the only ones needed anyway). Use
  722. AccelerometerZ and AccelerometerRotation if you need events for that.
  723. Remember that you can always use the Input.Accelerometer class
  724. directly.
  725. </summary>
  726. <param name="inputButton"></param>
  727. <returns></returns>
  728. </member>
  729. <member name="M:Delta.InputSystem.Devices.BaseAccelerometer.Update">
  730. <summary>
  731. Update this input device once a frame, done very early in the frame.
  732. All the native keyboard updating happens in the native implementation,
  733. this method will just update the virtualPosition.
  734. </summary>
  735. </member>
  736. <member name="P:Delta.InputSystem.Devices.BaseAccelerometer.IsConnected">
  737. <summary>
  738. Was a device with accelerometer detected? Returns true if the current
  739. platform supports an accelerometer (like iPhone, Android or Windows
  740. Phone 7, but also PlayStation 3). Some platforms like Windows
  741. obviously don't support accelerators, but it is possible to connect
  742. an extra device like a Wii controller (via bluetooth) and then allow
  743. accelerometer support on this platform as well.
  744. </summary>
  745. </member>
  746. <member name="P:Delta.InputSystem.Devices.BaseAccelerometer.HasData">
  747. <summary>
  748. Returns true if any button or key is pressed (including PressBegin,
  749. Pressed or PressEnd state), or for touch screen devices if any touch
  750. or gesture is currently active. Usually used as an optimization for
  751. detecting buttons, gestures, handling events, etc. because if nothing
  752. is pressed, we can skip all the checking! E.g. keyboard keys and their
  753. command events only have to be fired if this property is true (which
  754. means any key is pressed, including PressEnd states by the way).
  755. </summary>
  756. </member>
  757. <member name="P:Delta.InputSystem.Devices.BaseAccelerometer.Index">
  758. <summary>
  759. Controller index for this Accelerometer (0 usually, but can be 0-3 for
  760. GamePads in case we use the WiimoteGamePad and WiimoteAccelerometer).
  761. Set here instead of in constructor to simplify creation (dynamic
  762. creation with constructor parameters is harder).
  763. </summary>
  764. </member>
  765. <member name="P:Delta.InputSystem.Devices.BaseAccelerometer.Position">
  766. <summary>
  767. Returns the virtual cursor position for this device. Not useful as an
  768. actual screen cursor, but could be useful otherwise like for testing.
  769. </summary>
  770. </member>
  771. <member name="P:Delta.InputSystem.Devices.BaseAccelerometer.Acceleration">
  772. <summary>
  773. Get the x, y and z acceleration vector, which tells us the current
  774. orientation of the device if holding still (e.g. 0, 0, -1 for laying
  775. down on the table) and when moving around where the bottom is.
  776. </summary>
  777. </member>
  778. <member name="P:Delta.InputSystem.Devices.BaseAccelerometer.Rotation">
  779. <summary>
  780. Rotation value for this accelerometer (YX axis). This provides an easy
  781. way to find out how rotated the device is! 0 means the user holds it
  782. steady in the current orientation and we usually want to know if it is
  783. tilted more than 10 degrees in either direction to handle some extra
  784. movement logic.
  785. </summary>
  786. </member>
  787. <member name="T:Delta.InputSystem.Command">
  788. <summary>
  789. The command class which is designed as advanced event handler due of the
  790. fact we want to know which delegate is connected to which owner and
  791. because of the general limitations of .NET events (see more detailed
  792. information http://www.codeproject.com/KB/cs/event_fundamentals.aspx).
  793. All added delegates to this command will be invoked by the added
  794. CommandTrigger's which define at which input state the command will be
  795. executed.
  796. </summary>
  797. </member>
  798. <member name="F:Delta.InputSystem.Command.QuitTest">
  799. <summary>
  800. 'QuitTest' is used for unit tests to allow easy and quick quitting them
  801. via the Escape keyboard key or the Back button on GamePads. Note: This
  802. is not used in normal games, only if you are in unit test mode!
  803. </summary>
  804. </member>
  805. <member name="F:Delta.InputSystem.Command.MakeScreenshot">
  806. <summary>
  807. The 'MakeScreenshot' command is invoked via the PrintScreen keyboard
  808. key and will make a screenshot of the current screen at the end of the
  809. rendering and store it locally in a Screenshot directory.
  810. </summary>
  811. </member>
  812. <member name="F:Delta.InputSystem.Command.UIPositionChange">
  813. <summary>
  814. The 'UIPositionChange' command is used to track mouse, touch, game pad
  815. or keyboard move events in scenes and the UserInterface classes, mostly
  816. for hovering and activating UI controls so actions can be performed
  817. (UIDragMove, UIClick, etc.). Note: This is fired very often when a mouse
  818. is connected, but also for any other supported device because mouse
  819. moves happens often (every time the user moves the mouse by at least one
  820. pixel). Most actions will use an actual click (e.g. UIDragMove is used
  821. way more often to drag values, change values, scroll, etc. than just
  822. using this command, which just selects stuff).
  823. </summary>
  824. </member>
  825. <member name="F:Delta.InputSystem.Command.UIClickBegin">
  826. <summary>
  827. The 'UIClickBegin' command is fired when a click is about to happen.
  828. This is triggered by the initial pressed states of mouse (left mouse
  829. button click), touch (simple click on screen), game pads (a pressed) or
  830. keyboard (space just pressed). For example with keyboard activate an
  831. UI element with UIPositionChange and then use UIClickBegin and UIClick
  832. (with Space) to do an Click event with keyboard only (same goes for any
  833. other supported input device).
  834. </summary>
  835. </member>
  836. <member name="F:Delta.InputSystem.Command.UIClick">
  837. <summary>
  838. 'UIClick' is fired when a mouse, touch, etc. UIClickBegin is done and
  839. released so we can finally apply the click action in the UI control.
  840. A good and typical example for this is a Button Click event, which gets
  841. invoked when this command is fired and the Button is active (activated,
  842. mouse over it or at least ClickBegin happened, e.g. with touch).
  843. </summary>
  844. </member>
  845. <member name="F:Delta.InputSystem.Command.UIDoubleClick">
  846. <summary>
  847. 'UIDoubleClick' is useful for selecting and activating UI controls and
  848. is usually fired by the mouse or touch input devices.
  849. Note: Because of missing gestures for keyboard or game pads this is
  850. only implemented for mouse and touch (double click and double tap).
  851. </summary>
  852. </member>
  853. <member name="F:Delta.InputSystem.Command.UIRightClick">
  854. <summary>
  855. The 'UIRightClick' command is useful for extra context actions or menus
  856. for additional functionality. It is not used often for games, but can
  857. be useful for menus and context menus showing extra information.
  858. Note: Only used for mouse, game pad b buttons or keyboard enter, for
  859. touch this is solved differently via the TouchHold gesture (which is
  860. the default to open context menus and advanced features on iOS)
  861. </summary>
  862. </member>
  863. <member name="F:Delta.InputSystem.Command.UIDragBegin">
  864. <summary>
  865. 'UIDragBegin' command, used to indicate a dragging action has started.
  866. It will only be fired the first frame when a drag happens (user presses
  867. mouse and moves to drag or holds down touch and starts dragging).
  868. </summary>
  869. </member>
  870. <member name="F:Delta.InputSystem.Command.UIDragMove">
  871. <summary>
  872. The 'UIDragMove' command will be fired every frame a drag is happening.
  873. </summary>
  874. </member>
  875. <member name="F:Delta.InputSystem.Command.UIDragEnd">
  876. <summary>
  877. The 'UIDragEnd' command is only fired at the very end of a drag move.
  878. This is useful because it contains all the information about the drag
  879. (started from, speed, time, etc.) and is usually used to complete the
  880. drag action.
  881. </summary>
  882. </member>
  883. <member name="F:Delta.InputSystem.Command.CameraZoomIn">
  884. <summary>
  885. 'CameraZoomIn' command for the camera classes.
  886. This is usually triggered by PageUp or the MouseScrollWheel.
  887. </summary>
  888. </member>
  889. <member name="F:Delta.InputSystem.Command.CameraZoomOut">
  890. <summary>
  891. 'CameraZoomOut' command for the camera classes.
  892. This is usually triggered by PageDown or the MouseScrollWheel.
  893. </summary>
  894. </member>
  895. <member name="F:Delta.InputSystem.Command.CameraMoveLeft">
  896. <summary>
  897. 'CameraMoveLeft' command for the camera classes. This is usually
  898. triggered by pressing A on the keyboard, GamePadLeft or
  899. GamePadLeftStick.
  900. </summary>
  901. </member>
  902. <member name="F:Delta.InputSystem.Command.CameraMoveRight">
  903. <summary>
  904. 'CameraMoveRight' command for the camera classes. This is usually
  905. triggered by pressing D on the keyboard, GamePadRight or
  906. GamePadLeftStick.
  907. </summary>
  908. </member>
  909. <member name="F:Delta.InputSystem.Command.CameraMoveUp">
  910. <summary>
  911. 'CameraMoveUp' command for the camera classes. This is usually
  912. triggered by pressing W on the keyboard, GamePadUp or
  913. GamePadLeftStick.
  914. </summary>
  915. </member>
  916. <member name="F:Delta.InputSystem.Command.CameraMoveDown">
  917. <summary>
  918. 'CameraMoveDown' command for the camera classes. This is usually
  919. triggered by pressing S on the keyboard, GamePadDown or
  920. GamePadLeftStick.
  921. </summary>
  922. </member>
  923. <member name="F:Delta.InputSystem.Command.CameraRotateLeft">
  924. <summary>
  925. 'CameraRotateLeft' command for the camera classes. This is usually
  926. triggered by pressing CursorLeft on the keyboard, MouseMove, TouchDrag
  927. or GamePadRightStick.
  928. </summary>
  929. </member>
  930. <member name="F:Delta.InputSystem.Command.CameraRotateRight">
  931. <summary>
  932. 'CameraRotateRight' command for the camera classes. This is usually
  933. triggered by pressing CursorRight on the keyboard, MouseMove, TouchDrag
  934. or GamePadRightStick.
  935. </summary>
  936. </member>
  937. <member name="F:Delta.InputSystem.Command.CameraRotateUp">
  938. <summary>
  939. 'CameraRotateUp' command for the camera classes. This is usually
  940. triggered by pressing CursorUp on the keyboard, MouseMove, TouchDrag
  941. or GamePadRightStick.
  942. </summary>
  943. </member>
  944. <member name="F:Delta.InputSystem.Command.CameraRotateDown">
  945. <summary>
  946. 'CameraRotateDown' command for the camera classes. This is usually
  947. triggered by pressing CursorDown on the keyboard, MouseMove, TouchDrag
  948. or GamePadRightStick.
  949. </summary>
  950. </member>
  951. <member name="F:Delta.InputSystem.Command.ProfilerToggleFps">
  952. <summary>
  953. For the profiler to Toggle the ProfilerMode if showing Fps. Triggered
  954. via the F1 keyboard key by default.
  955. </summary>
  956. </member>
  957. <member name="F:Delta.InputSystem.Command.ProfilerToggleSimulator">
  958. <summary>
  959. For the profiler to Toggle the ProfilerMode if showing the simulator
  960. HUD. Triggered via the F2 keyboard key by default.
  961. </summary>
  962. </member>
  963. <member name="F:Delta.InputSystem.Command.ProfilerToggleModules">
  964. <summary>
  965. For the profiler to Toggle the ProfilerMode if showing the modules
  966. profiler overview. Triggered via the F3 keyboard key by default.
  967. </summary>
  968. </member>
  969. <member name="F:Delta.InputSystem.Command.ProfilerToggleSystem">
  970. <summary>
  971. For the profiler to Toggle the ProfilerMode if showing the system
  972. profiler information. Triggered via the F4 keyboard key by default.
  973. </summary>
  974. </member>
  975. <member name="F:Delta.InputSystem.Command.ProfilerToggleRendering2D">
  976. <summary>
  977. For the profiler to Toggle the ProfilerMode if showing the 2D Rendering
  978. profiler information. Triggered via the F5 keyboard key by default.
  979. </summary>
  980. </member>
  981. <member name="F:Delta.InputSystem.Command.ProfilerToggleRendering3D">
  982. <summary>
  983. For the profiler to Toggle the ProfilerMode if showing the 3D Rendering
  984. profiler information. Triggered via the F6 keyboard key by default.
  985. </summary>
  986. </member>
  987. <member name="F:Delta.InputSystem.Command.ProfilerToggleUI">
  988. <summary>
  989. For the profiler to Toggle the ProfilerMode if showing the UI
  990. profiler information. Triggered via the F7 keyboard key by default.
  991. </summary>
  992. </member>
  993. <member name="F:Delta.InputSystem.Command.ProfilerTogglePhysics">
  994. <summary>
  995. For the profiler to Toggle the ProfilerMode if showing the Physics
  996. profiler information. Triggered via the F8 keyboard key by default.
  997. </summary>
  998. </member>
  999. <member name="F:Delta.InputSystem.Command.ProfilerToggleAI">
  1000. <summary>
  1001. For the profiler to Toggle the ProfilerMode if showing the AI
  1002. profiler information. Triggered via the F9 keyboard key by default.
  1003. </summary>
  1004. </member>
  1005. <member name="F:Delta.InputSystem.Command.ProfilerToggleText">
  1006. <summary>
  1007. For the profiler to Toggle the ProfilerMode if showing the Text drawing
  1008. profiler information. Triggered via the F10 keyboard key by default.
  1009. </summary>
  1010. </member>
  1011. <member name="F:Delta.InputSystem.Command.ProfilerToggleCustom">
  1012. <summary>
  1013. For the profiler to Toggle the ProfilerMode if showing the Custom
  1014. profiler information. Triggered via the F11 keyboard key by default.
  1015. </summary>
  1016. </member>
  1017. <member name="F:Delta.InputSystem.Command.DrawDebugInfoToggleRendering2D">
  1018. <summary>
  1019. For the profiler and debug view to toggle if showing the 2D rendering
  1020. debug information. Triggered via the Shift+F5 keyboard key by default.
  1021. </summary>
  1022. </member>
  1023. <member name="F:Delta.InputSystem.Command.DrawDebugInfoToggleRendering3D">
  1024. <summary>
  1025. For the profiler and debug view to toggle if showing the 3D rendering
  1026. debug information. Triggered via the Shift+F6 keyboard key by default.
  1027. </summary>
  1028. </member>
  1029. <member name="F:Delta.InputSystem.Command.DrawDebugInfoToggleUI">
  1030. <summary>
  1031. For the profiler and debug view to toggle if showing the UI drawing
  1032. debug information. Triggered via the Shift+F7 keyboard key by default.
  1033. </summary>
  1034. </member>
  1035. <member name="F:Delta.InputSystem.Command.DrawDebugInfoTogglePhysics">
  1036. <summary>
  1037. For the profiler and debug view to toggle if showing the Physics debug
  1038. information (bounding boxes, collissions, extra information, etc.).
  1039. Triggered via the Shift+F8 keyboard key by default.
  1040. </summary>
  1041. </member>
  1042. <member name="F:Delta.InputSystem.Command.DrawDebugInfoInfoToggleAI">
  1043. <summary>
  1044. For the profiler and debug view to toggle if showing the AI debug
  1045. information (pathfinding, AI states, targets, extra information, etc.).
  1046. Triggered via the Shift+F9 keyboard key by default.
  1047. </summary>
  1048. </member>
  1049. <member name="F:Delta.InputSystem.Command.DrawDebugInfoInfoToggleText">
  1050. <summary>
  1051. For the profiler and debug view to toggle if showing the text debug
  1052. information (text rendering boxes, extra font information, etc.).
  1053. Triggered via the Shift+F10 keyboard key by default.
  1054. </summary>
  1055. </member>
  1056. <member name="F:Delta.InputSystem.Command.DrawDebugInfoInfoToggleCustom">
  1057. <summary>
  1058. For the profiler and debug view to toggle if showing the custom debug
  1059. information (whatever the user has setup in the Profiler class).
  1060. Triggered via the Shift+F11 keyboard key by default.
  1061. </summary>
  1062. </member>
  1063. <member name="M:Delta.InputSystem.Command.#ctor(System.String)">
  1064. <summary>
  1065. Create command, internal because creating commands is only allowed
  1066. in the CommandManager. Usually they are loaded from Settings.xml or
  1067. via Scene files.
  1068. </summary>
  1069. <param name="setName">Command Name</param>
  1070. </member>
  1071. <member name="M:Delta.InputSystem.Command.AddTrigger(Delta.InputSystem.CommandTrigger)">
  1072. <summary>
  1073. Adds a new trigger which can activate this command if the current input
  1074. state matches with its conditions. Usually this should be done with the
  1075. Input settings editor in the ContentManager.
  1076. </summary>
  1077. <param name="newTrigger">New trigger</param>
  1078. </member>
  1079. <member name="M:Delta.InputSystem.Command.Add(Delta.InputSystem.CommandDelegate)">
  1080. <summary>
  1081. Adds a new (global) delegate to this command.
  1082. </summary>
  1083. <param name="newGlobalCommandDelegate">
  1084. The new global command delegate.
  1085. </param>
  1086. </member>
  1087. <member name="M:Delta.InputSystem.Command.Add(System.Object,Delta.InputSystem.CommandDelegate)">
  1088. <summary>
  1089. Adds a new delegate applied to the given owner to this command. By the
  1090. fact that the owner of the delegate is specified here it makes the
  1091. later removing of all owner delegates quite easy by the Remove method.
  1092. </summary>
  1093. <param name="owner">Owner</param>
  1094. <param name="newCommandEvent">New command event</param>
  1095. </member>
  1096. <member name="M:Delta.InputSystem.Command.Remove(System.Object)">
  1097. <summary>
  1098. Removes all delegates from this command that are connected to the
  1099. given owner.
  1100. </summary>
  1101. <param name="owner">Owner</param>
  1102. </member>
  1103. <member name="M:Delta.InputSystem.Command.Remove(Delta.InputSystem.CommandDelegate)">
  1104. <summary>
  1105. /Removes the (global) delegates from this command.
  1106. </summary>
  1107. <param name="addedDelegate">The added delegate</param>
  1108. </member>
  1109. <member name="M:Delta.InputSystem.Command.ToString">
  1110. <summary>
  1111. To string
  1112. </summary>
  1113. <returns>string</returns>
  1114. </member>
  1115. <member name="P:Delta.InputSystem.Command.Name">
  1116. <summary>
  1117. Name of this command which will be used as identifier in the
  1118. CommandManager and is also useful for loading and debugging it.
  1119. </summary>
  1120. </member>
  1121. <member name="P:Delta.InputSystem.Command.HasDelegates">
  1122. <summary>
  1123. This value is 'true' if there are any delegates which are currently
  1124. added to this command and only in this case the current input state
  1125. will be checked if it matches with one of the set triggers.
  1126. </summary>
  1127. </member>
  1128. <member name="T:Delta.InputSystem.Input">
  1129. <summary>
  1130. All input in the engine is usually handled via events. An event is
  1131. called <see cref="T:Delta.InputSystem.Command" /> and is bound in the Settings.xml file for
  1132. global commands and in each Scene for scene specific commands.
  1133. Input is accepted from the Keyboard and Mouse (mostly Windows,
  1134. Mac, Linux), but also from Gamepads (Xbox 360 and consoles in general)
  1135. and Touches plus Accelerometers (most mobile platforms like the iPhone,
  1136. iPod, iPad, Android or Windows Phone 7). Each supported input device is
  1137. polled or collected each tick in the Update method via the Mouse,
  1138. Keyboard, GamePad, Touch and Accelerometer instances. Please note that
  1139. some classes like GamePad can have multiple GamePad devices attached,
  1140. even Mouse can be multiple, via a MouseParty like implementation. While
  1141. you can access each GamePad individually via Input.GamePads(index),
  1142. command events will be fired for all connected GamePads that fulfill
  1143. the command condition. You can still find out which GamePad was used
  1144. at the event delegate or method since each command comes with the input
  1145. index. This is also used for Touches, so we can track touch ids for
  1146. TouchPress events (or gestures), this is very important for multiple
  1147. players on the same touch screen (e.g. iPad Party Games). All devices
  1148. are defined in abstract classes, the concrete implementation can be
  1149. found in each framework implementation (Xna, Windows, MonoTouch, etc.).
  1150. This low level input data can also be used directly if you don't want to
  1151. use events via adding delegates to the existing or custom commands.
  1152. </summary>
  1153. <remarks>
  1154. All global input command settings are stored in the Settings.xml file of
  1155. each application. You can use the Delta.Tools.Launcher (Visual Studio
  1156. addin now) to edit the Settings.xml file. More importantly each scene
  1157. has its own commands, which can be edited in the SceneEditor or by hand
  1158. via the SceneName.xml file. For example Profiling events will only be
  1159. handled by the ProfilingScene, which means if you don't have an active
  1160. ProfilingScene the events are not caught or handled (see UserInterfaces
  1161. for details about scenes and input handling for all UI controls).
  1162. <para></para>
  1163. The main reason for this implementation is to abstract input from the
  1164. devices, so it does not matter if you use your keyboard cursor keys to
  1165. control your game character, or use your mouse to move it around, or you
  1166. use your Gamepad to directly control him or if you have to drag touches
  1167. to move him around, all this can be setup and changed in the input
  1168. settings and the game programmer just has to implement or use a Command
  1169. itself, not how it is triggered (this is the job of the scene designer,
  1170. but it can also be done by the programmer and later changed by the
  1171. designer to allow more input)! Sometimes input is however linked to UI
  1172. elements (like buttons, sliders, check boxes, etc.) which should only be
  1173. modified if they are selected (e.g. by selecting it with up/down with
  1174. the Keyboard or Gamepad, or by hovering with the mouse over it, or by
  1175. pressing a touch screen). In such cases we still use events, but only
  1176. the currently selected UI element will actually catch the Command, all
  1177. the other UI elements are currently not receiving input! For more
  1178. details about input and command handling see the UIScene class in
  1179. Delta.Scenes.UserInterfaces.
  1180. <para></para>
  1181. Commands are stored in xml files (e.g. Settings.xml) and have these tags:
  1182. - Name: The name of this command, can be any string. For global commands
  1183. we already got a list of predefined names (see Constants of the Commands
  1184. class). Each of the predefined commands has an event you can attach to,
  1185. which makes using global commands very easy and fast. For scene commands
  1186. the name is just used for generating the OnCommand method names and is
  1187. obviously useful for debugging and testing, but the name itself is not
  1188. used as we can directly check for the conditions and fire the event.
  1189. - Button: One of the many defined buttons for all devices we support:
  1190. Keyboard, Mouse, Gamepads, Touch (<see cref="T:Delta.InputSystem.InputButton">see
  1191. InputButton for all button types</see>). InputButtons also include
  1192. gestures and commands like dragging. Gestures are especially important
  1193. for touch devices because controlling everything with just touches is
  1194. a little dull, its better to have some gestures for different actions.
  1195. You can also add modifiers or any key combinations for that matter, just
  1196. combine them with + like Control+F1, Alt+S, MouseLeft+MouseRight. Because
  1197. it would be very hard to make sure the user presses both buttons at the
  1198. exact same time (e.g. releasing Alt and S in the same frame is not
  1199. easily possible ) only the last InputButton is compared with State!
  1200. All buttons before that just have to be pressed for the command to be
  1201. fired (e.g. Control must be down, F1 must be PressEnd for Control+F1
  1202. PressEnd or MouseLeft must be down for a MouseLeft+MouseRight command).
  1203. - State (optional, defaults to PressEnd): State the button must be in
  1204. for this event to be fired (<see cref="T:Delta.InputSystem.InputState">see InputState for
  1205. details</see>). States like PressBegin or PressEnd are only fired once
  1206. for each key press while states like Pressed will be fired every frame
  1207. as long as the button is pressed (which means PressBegin or Pressi