hellbound/Assets/Sources/Lean/Touch+/Documentation/Documentation.html

2761 lines
304 KiB
HTML
Raw Normal View History

2021-11-26 11:16:25 +03:00
<!DOCTYPE html>
<html style="margin: 0; padding: 0; height: 98%;" lang="en">
<head>
<title>Lean Touch+ - Documentation - 2.3.0</title>
<style type="text/css">
@font-face { font-family: 'gilroybold'; src: url(data:font/truetype;charset=utf-8;base64,AAEAAAARAQAABAAQRkZUTYAlmPoAAI0EAAAAHEdERUYB+QKwAABK0AAAACpHUE9TidarnAAATEwAAEC4R1NVQs2WyHQAAEr8AAABUE9TLzJrbYTuAAABmAAAAGBjbWFwYv9+yQAABYwAAAHqY3Z0IAAhAnkAAAd4AAAABGdhc3AAAAAQAABKyAAAAAhnbHlmoojnwgAACUgAADp8aGVhZA7jQ9cAAAEcAAAANmhoZWEHgQOOAAABVAAAACRobXR414UdlgAAAfgAAAOSbG9jYZCen0gAAAd8AAABzG1heHABLABzAAABeAAAACBuYW1lXH7DXgAAQ8QAAARHcG9zdCS2kLYAAEgMAAACundlYmaHclw1AACNIAAAAAYAAQAAAAEAAKEkOxRfDzz1AB8D6AAAAADTpchOAAAAANhbN/H/1/8bA9gDmAAAAAgAAgAAAAAAAAABAAADz/7lAAAD5//X/90D2AABAAAAAAAAAAAAAAAAAAAA5AABAAAA5QBCAAUAAAAAAAIAAAABAAEAAABAAC4AAAAAAAMCFgK8AAUABAKKAlgAAABLAooCWAAAAV4AMgEsAAAAAAgAAAAAAAAAAAACBwAAAAAAAAAAAAAAAFVLV04AQAAg+wQDIP84AAADzwEbIAAAlwAAAAAB9AK8AAAAIAADAWwAIQAAAAABTQAAAPoAAAEMADEBegArAmgAFwIlABkC/QAtAqEALQDQACsBMwA1ATMADwGOADUCKwA1ARYAMQH5AEEBDAAxAgsAIQJ2ACMBgwALAhMAFgIhABcCRAAVAiQAGQIpABcB6gANAjgAIQIpABcBDAAxARcAMQIQAC0CDQAtAhAALQIpACMDCwAhApwAAwJdAEEC1gAhAskAQQISAEECBwBBAxEAIQKZAEEBDABBAjkAIQJnAEEB4wBBAy8AQQKhAEEDGAAhAk4AQQMdACECZgBBAkcAHQIcAA0CjQA7AocAAwPnAA8CYgANAm0AAwIXACQBNgA1AgsAIQE2ABQCMAAoAggAIQETABQCcgAhAnIAOwIYACECcgAgAkUAIQFIABUCcgAhAkEAOwD3ACwBCP/zAg0AOwD3ADsDVAA7AkEAOwJSACECcgA7AnIAIAFkADsB0QAZAYEAEAJBADMCFQADAwIACwINAAUCDQADAdoAKwFnADIBAwBBAWcAFAJXAC0A+gAAAQwAMQIYACECRQAhAh8AIQJZAAMBAwBBAh4AMQFtABQDFQAhAiEAPwImAC0B+QBBAxUAIQFKABQBkQAhAisANQETABQCaQA7Ap0AGQEMADEBBAAUAiEAPwMuAAMDLQADA38ACgIpADQCnAADApwAAwKcAAMCnAADApwAAwKcAAMDcAAAAtYAIQISAEECEgBBAhIAQQISAEEBDP/tAQwANgEM/9cBDP/jAuwAFgKhAEEDGAAhAxgAIQMYACEDGAAhAxgAIQIAADIDHgAnAo0AOwKNADsCjQA7Ao0AOwJtAAMCTgBBAhkAOwJyACECcgAhAnIAIQJyACECcgAhAnIAIQPcACECGAAhAkUAIQJFACECRQAhAkUAIQD3//kA9wA7APf/3AD3/+MCOwAhAkEAOwJSACECUgAhAlIAIQJSACECUgAhAjUALQJSACECQQAzAkEAMwJBADMCQQAzAg0AAwJyADsCDQADA5QAIQPVACECbQADAX8AFAF7ABUBygAAA5UAAAHKAAADlQAAATEAAADlAAAAmAAAAJgAAAByAAAAtwAAADIAAAH5AEEB+QBBAfkAQQKFAEEC6QBBARYAMQEWADEBFgAxAc8AMQHPADEBzwAxAWgAKwLTADEAtwAAAWMAPwFjAD8A5QAAAmMAEAHZACEB9AAAAi0AFQItABUDQgAVABUAAAAAAAMAAAADAAAAHAABAAAAAADkAAMAAQAAABwABADIAAAALgAgAAQADgB+AKkAsQC4AP8BUwF4AsYC3CAKIBQgGiAeICIgJiAvIDogXyCsISIl/PsE//8AAAAgAKAAqwC0ALsBUgF4AsYC3CAAIBAgGCAcICIgJiAvIDkgXyCsISIl/PsB////4//C/8H/v/+9/2v/R/36/eXgwuC94LrgueC24LPgq+Ci4H7gMt+92uQF4AABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAgYKEho6TmZ6dn6GgoqSmpaeoqqmrrK6wr7Gzsre2uLkAcWRladh1nG9r33NqAIOVAHIAAGd0AAAAAAAAAACjtXxjbQAAAABseNlifYCSvb7Q0dXW0tO0ALy/AN7b3OHiAHbU1wB/h36IhYqLjImQkQCPl5iWAMDBcAAAAHcAAAAAAAAhAnkAAAAqACoAKgAqAEYAWgCMANoBGgFeAWwBgAGSAbQBygHYAeQB9gIEAiYCOAJcAoYCoALIAu4DAAM4A2QDggOcA7ADxAPYBAgEWARyBKIEzATsBQQFGgVGBV4FbAWGBZ4FrgXKBeIGAgYkBlYGfAa6BswG6gb8BxgHMgdKB2AHcgeCB5QHqAe0B8IH6AgOCDYIXAiGCKII2Aj4CRQJOAlOCVoJigmqCcgJ7goUCiwKXgp+Cp4KsgrQCugLBAsYC0ILUAt4C5oLmgu0C/AMGAxWDH4MkgzyDRANUA1qDXoNhg3GDdQN9A4QDh4ORA5gDnIOig6kDs4PAg9CD3QPlg+4D94QFBBGEHgQmhDUEPQRFBE4EWYRehGOEaYRyhHyEiQSTBJyEpwS1hMMEyYTZBOKE64T1hQKFCgUShSAFKwU2BUIFUgVghXCFggWQBZyFqQW2hccFzAXRBdcF4AXthfwGBYYOhhiGJoYzhj4GTIZWBl+GagZ3hoAGiYaWBqGGsoa9hsIGyobKhsqGyobKhsqGyobKhsqGyobKhsqGzYbQhtOG1obZht0G4IbkBumG7wb0hvoHBAcEBwiHDIcMhxkHIQckhy2HNgdDB0+AAIAIQAAASoCmgADAAcALrEBAC88sgcEAO0ysQYF3DyyAwIA7TIAsQMALzyyBQQA7TKyBwYB/DyyAQIA7TIzESERJzMRIyEBCejHxwKa/WYhAlgAAAIAMf/zANsCvAAFAA0AADcDNTMVAwYiJjQ2MhYUUxubGhBGMjJGMusBCcjI/vf4MkYyMkYAAAAAAgArAdYBTwK8AAMABwAAEyczBzMnMwc8EXoRUhF6EQHW5ubm5gAAAAIAFwAyAlECigAbAB8AAAEjBzMHIwcjNyMHIzcjNzM3IzczNzMHMzczBzMHNyMHAkFsD20QbhpmGmYaZRptEG4PbxBvGmUaZhpmGmzxD2YPAYtaYZ6enp5hWmKdnZ2dvFpaAAADABn/nAIMAyAAJQAsADIAACUUBgcVIzUuASc3Fhc1IjEnLgQ1NDY3NTMVFhcHJicVFhcWJRQWFzUOARM2NTQmJwIMcFpDVHgadyBPAQIjLDshGXNUQ4g4dBg0XSBN/rUcIh4ggUAfIcRYbQtYVwZSRkVQC60BDRQmKUAmWGoIV1kQfUQ8DaclFjfYFiERjAYk/mUOOBkiDwAAAAAFAC3/9ALQAsoABwALABMAGwAkAAAAIiY0NjIWFAkBFwESMjY0JiIGFAAiJjQ2MhYUJjI2NTQmIgYUAR6QYWGQYP72Acg9/jcKNiQkNiMB2ZBgYJBgwzYjIzYjAYBgimBfjP6LAfsi/gQBniU2JCQ2/epgimBgigUmGhslJTYAAAIALf/pAowCygAhACsAACUHJwYjIiY1NDY3JjU0NjMyFhcHJiMiBhUUFh8BNjcXBgcFMjcnJjUGFRQWAoxuQF
@font-face { font-family: 'open_sansregular'; src: url(data:font/truetype;charset=utf-8;base64,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
@font-face { font-family: 'fira_monoregular'; src: url(data:font/truetype;charset=utf-8;base64,AAEAAAATAQAABAAwRkZUTYJLMrwAAAE8AAAAHEdERUYE3wXYAAABWAAAAEpHUE9TuP+4/gAAAaQAAAAwR1NVQvu3HdAAAAHUAAAEMk9TLzKXrPKZAAAGCAAAAGBjbWFw+LhN5QAABmgAAAHyY3Z0IAvILZgAAAhcAAAAlmZwZ23eFNvwAAAI9AAAC5dnYXNwAAAAEAAAFIwAAAAIZ2x5Zlp7xdAAABSUAABcyGhlYWQK9ULLAABxXAAAADZoaGVhBWwCgQAAcZQAAAAkaG10eBd9TyAAAHG4AAADwmxvY2FG/l/wAAB1fAAAAfBtYXhwAmsBqwAAd2wAAAAgbmFtZVfJp7QAAHeMAAAEunBvc3T+mkKfAAB8SAAAA2twcmVwbekAoQAAf7QAAACgd2ViZrgAXDYAAIBUAAAABgAAAAEAAAAA19poUgAAAADSFGHqAAAAANhcaH8AAQAAAAwAAAA6AEIAAgAHAAEAaQABAGoAagADAGsA6AABAOkA6gACAOsA8gABAPMA8wADAPQA9gABAAQAAAACAAAAAQAAAAEAAAAAAAEAAAAKACwALgACREZMVAAObGF0bgAYAAQAAAAA//8AAAAEAAAAAP//AAAAAAAAAAEAAAAKAKYBJgACREZMVAAObGF0bgAqAAQAAAAA//8ACQAAAAEAAgADAAQABQAHAAgACQBAAApBRksgAEBBWkUgAEBDQVQgAFhDUlQgAEBLQVogAEBNT0wgAEBQTEsgAEBST00gAEBUQVQgAEBUUksgAEAAAP//AAkAAAABAAIAAwAEAAUABwAIAAkAAP//AAoAAAABAAIAAwAEAAUABgAHAAgACQAKYWFsdAA+Y2FsdABEY2FzZQBMZGxpZwBSZG5vbQBYZnJhYwBebG9jbABobnVtcgBub3JkbgB0c3VwcwB6AAAAAQAAAAAAAgALAAwAAAABAAkAAAABAAoAAAABAAQAAAADAAUABgAHAAAAAQABAAAAAQADAAAAAQAIAAAAAQACAA4AHgAmADAAOABAAEgAUABYAGIAbAB0AHwAhgCUAAEAAAABAH4ABgAAAAIAsADSAAEAAAABAOoAAQAAAAEA+AABAAAAAQECAAEAAAABAQoAAQAAAAEBDgAGAAAAAgEYATgABgAAAAIBUgF2AAEAAAABAZAABAAAAAEBqgAGAAAAAgHCAdwABgAAAAQB7AIGAiACQgABAAAAAQJWAAIAHgAMAOQAbAB8APQAbAB8APMA8gD1APYA6wDtAAEADAASACQAMgBDAEQAUgBqAMYAxwDIAO8A8AADAAAAAgAQABYAAQAcAAAAAQABAE8AAQABAHkAAQABAE8AAwAAAAIAEAAWAAEAHAAAAAEAAQAvAAEAAQB5AAEAAQAvAAIADAADAHsAdAB1AAEAAwAUABUAFgACAAoAAgDvAPAAAQACABQAFgABAAYA1wACAAEAFAAXAAAAAQAGANIAAQABABIAAgAKAAIA7wDwAAEAAgAUABYAAwABABoAAQASAAAAAQAAAA0AAQACAO8A8AABAAEA5AADAAEAGgABABIAAAABAAAADQABAAIA7wDwAAIAAQDrAO4AAAADAAEAGgABABIAAAABAAAADQABAAIAJABEAAIAAQATABwAAAADAAEAGgABABIAAAABAAAADQABAAIAMgBSAAIAAQATABwAAAACABIABgD0APMA8QDyAPUA9gABAAYAQwBqAHYAxgDHAMgAAQAaAAEACAACAAYADADqAAIATwDpAAIATAABAAEASQADAAEAFgABABIAAAABAAAADQABAAAAAQAAAAMAAQAWAAEAEgAAAAEAAAANAAEAAAABAAAAAwAAAAEAEgABABYAAQAAAA0AAQAAAAEAAAADAAEAFgABABIAAAABAAAADQABAAAAAQAAAAMAAAABABQAAgAYAB4AAQAAAA0AAQAAAAEAAQADAAEAAAADAAIAGAAeAAEAFAAAAAEAAAANAAEAAAABAAEAAwABAAAAAgASAAYAbAB8AGwAfADrAO0AAQAGACQAMgBEAFIA7wDwAAAAAwJJAZAABQAEAooCWAAAAEsCigJYAAABXgAyATwAAAILBQkFAAACAARAAAKHAgA4AQAAAAAAAAAAQ1REQgBAAA37AgMg/zgAAAQaAghgAACfAAAAAAIPArEAAAAgAAMAAAADAAAAAwAAABwAAQAAAAAA7AADAAEAAAAcAAQA0AAAADAAIAAEABAADQB+AP8BMQFTAXgCxgLaAtwgCiAUIBogHiAiICYgLyA6IEQgXyCsISIl/PsC//8AAAANACAAoAExAVIBeALGAtoC3CAAIBAgGCAcICIgJiAvIDkgRCBfIKwhIiX8+wH////1/+P/wv+R/3H/Tf4A/e397ODJ4MTgweDA4L3guuCy4KngoOCG4DrfxdrsBegAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQYAAAEAAAAAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGEAhoeJi5OYnqOipKalp6mrqqytr66wsbO1tLa4t7y7vb4AcmRlad94oXBr53ZqAIiaAHMAAGd3AAAAAABsfACouoFjbgAAAABtfeBigoWXw8TX2Nzd2dq5AMHF5Obi4+nqAHnb3gCEjIONio+QkY6VlgCUnJ2bwsbIcQAAx3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbAFsARQBFArEAAAIPAAD/LAOn/vcCvP/1Ahr/9f8sA6f+9wBbAFsARQBFArEAAALuAg//9f8sA6f+9wK8//UC7gIa//X/LAOn/vcAWwBbAEUARQKxAAAC7QIPAAD/LAOn/vcCvP/1AwUCGv/1/ywDp/73ACECeQAAsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhuQgACABjYyNiGyEhsABZsABDI0SyAAEAQ2BCLbABLLAgYGYtsAIsIGQgsMBQsAQmWrIoAQpDRWNFUltYISMhG4pYILBQUFghsEBZGyCwOFBYIbA4WVkgsQEKQ0VjRWFksChQWCGxAQpDRWNFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwAStZWSOwAFBYZVlZLbADLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbAELCMhIyEgZLEFYkIgsAYjQrEBCkNFY7EBCkOwA2BFY7ADKiEgsAZDIIogirABK7EwBSWwBCZRWGBQG2FSWVgjWSEgsEBTWLABKxshsEBZI7AAUFhlWS2wBSywB0MrsgACAENgQi2wBiywByNCIyCwACNCYbACYmawAWOwAWCwBSotsAcsICBFILALQ2O4BABiILAAUFiwQGBZZrABY2BEsAFgLbAILLIHCwBDRUIqIbIAAQBDYEItsAkssABDI0SyAAEAQ2BCLbAKLCAgRSCwASsjsABDsAQlYCBFiiNhIGQgsCBQWCGwABuwMFBYsCAbsEBZWSOwAFBYZVmwAyUjYUREsAFgLbALLCAgRSCwASsjsABDsAQlYCBFiiNhIGSwJFBYsAAbsEBZI7AAUFhlWbADJSNhRESwAWAtsAwsILAAI0KyCwoDRVghGyMhWSohLbANLLECAkWwZGFELbAOLLABYCAgsAxDSrAAUFggsAwjQlmwDUNKsABSWCCwDSNCWS2wDywgsBBiZrABYyC4BABjiiNhsA5DYCCKYCCwDiNCIy2wECxLVFixBGREWSSwDWUjeC2wESxLUVhLU1ixBGREWRshWSSwE2Uj
h1{ font-family: 'gilroybold'; line-height: 0%; font-size: 80px; color: #0075D0; margin: 30px; margin-left: 0px; margin-bottom: 60px; }
h2{ font-family: 'gilroybold'; font-weight: bold; line-height: 35px; vertical-align:middle; font-size: 36px; color: #0075D0; margin: 0px; }
h3{ font-family: 'gilroybold'; font-weight: bold; line-height: 22px; font-size: 22px; color: #0075D0; margin: 0px; padding-top: 40px; padding-bottom: 10px; }
h2 b { font-size:20px; vertical-align:middle; opacity:0.5; }
p{ font-family: 'open_sansregular'; font-weight: normal; line-height: normal; font-size: 15px; color: #024274; }
a{ font-family: 'open_sansregular'; font-weight: 600; line-height: normal; font-size: 15px; color: #0075D0; }
a:visited{ font-family: 'open_sansregular'; font-weight: 600; line-height: normal; font-size: 15px; color: #0075D0; }
pre{ font-family: 'fira_monoregular'; line-height: 20px; font-size: 14px; color: #000; tab-size: 4; }
.code{ background: #EDF7FF; border-radius: 5px; padding: 10px; margin: 15px; }
.tip{ background: #EDF7FF; font-family: 'open_sansregular'; line-height: 25px; border-radius: 5px; padding: 10px; color: #0075D0; font-size: 15px; border: 5px; margin: 15px; }
.warning{ background: #FFDCBC; font-family: 'open_sansregular'; line-height: 25px; border-radius: 5px; padding: 10px; color: #FD7C09; font-size: 15px; border: 5px; margin: 15px; }
.error{ background: #FFB6B6; font-family: 'open_sansregular'; line-height: 25px; border-radius: 5px; padding: 10px; color: #FF4545; font-size: 15px; border: 5px; margin: 15px; }
::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: #f1f1f1; }
::-webkit-scrollbar-thumb{ background: #0075D0; }
::-webkit-scrollbar-thumb:hover{ background: #555; }
</style>
</head>
<body style="margin: 0; height: 98%;">
<div style="background-color: #0075D0; position: absolute; left: 0px; right: 0px; top: 0px; height: 20px;">
</div>
<div style="position: absolute; left: 350px; right: 0px; top: 20px; bottom: 20px; overflow-y: scroll; padding: 20px;">
<div style="padding-top: 30px; padding-bottom: 50px;">
<h2 style="font-size: 75px; color: #0075D0; text-align: center; vertical-align: middle; line-height: 50px;">Lean Touch+</h2>
<br>
<h2 style="font-size: 30px; color: #0075D0; text-align: center; vertical-align: middle; line-height: 20px;">DOCUMENTATION</h2>
</div>
<div style="overflow:hidden;"><a name="WhatIs"></a><h2>What is Lean Touch+?</h2><p>Lean Touch+ is an extension to Lean Touch, adding many new demo scenes, and many new components.</p><p>The new components are also designed to be very flexible, so you can combine them in any way you like.</p><div class="tip"><strong>NOTE</strong>&emsp; Because this asset is an extension to Lean Touch, I recommend you read the Lean Touch documentation too!</div><br><br></div><div style="overflow:hidden;"><a name="GettingStarted"></a><h2>How do I get started?</h2><p>Simply go through all the demo scenes in the Touch+/Examples folder!</p><p>Most of the demo scenes introduce one new feature at a time, allowing you to clearly understand what is being done.</p><p>The description text at the bottom also tells you in detail which components or settings were added/changed to achieve the effects seen.</p><p>If you feel like any feature isn't explained well enough, or that a feature is missing, then let me know so I can improve this asset!</p><br><br></div><div style="overflow:hidden;"><a name="Examples"></a><h2>What Examples Are Included?</h2><p>This is a list of the in-game example scenes and a description of what it shows.<div style="padding-left:20px;"><h3>Finger Held</h3><p style="margin-top: 0px;">This shows you how to detect when your finger has been touching the screen for more than 1 second without moving. This is done using the <b>LeanFingerHeld</b> component, which invokes events when this happens, and when you later stop touching the screen, or move your finger too much. You can modify this component's <b>MinimumAge</b> and <b>MaximumMovement</b> settings to change how it behaves.</p></div><div style="padding-left:70px;"><h3>Spawn</h3><p style="margin-top: 0px;">This shows you how to make a first person camera that can look around when you drag the screen.</p></div><div style="padding-left:20px;"><h3>Finger Tap Expired</h3><p style="margin-top: 0px;">This shows you how to perform an action using a single or double tap, without them interfering with each other. This is done using the <b>LeanFingerTapExpired</b> component, which executes when your tapping finger has stopped tapping for long enough that the tap counter has been reset. You can adjusting this timing with the <b>LeanTouch.TapThreshold</b> setting.</p></div><div style="padding-left:70px;"><h3>Rotate</h3><p style="margin-top: 0px;">This shows you how to perform an action using a single or double tap, without them interfering with each other. This is done using the <b>LeanFingerTapExpired</b> component, which executes when your tapping finger has stopped tapping for long enough that the tap counter has been reset. You can adjusting this timing with the <b>LeanTouch.TapThreshold</b> setting.</p></div><div style="padding-left:20px;"><h3>Multi Twist</h3><p style="margin-top: 0px;">This shows you how to detect the multi twist gesture using the <b>LeanMultiTwist</b> component. This component's <b>OnTwistDegrees</b> event is connected to the <b>LeanRoll.DecrementAngle</b> method, which allows you to change the rotation of the arrow.</p></div><div style="padding-left:70px;"><h3>One Finger</h3><p style="margin-top: 0px;">This shows you how the <b>MultiTwist</b> demo scene can be modified to work with a one finger twist gesture. This is done by changing the <b>OneFinger</b> setting to <b>ScreenCenter</b> or <b>FingerStart</b>.</p></div><div style="padding-left:70px;"><h3>Axis</h3><p style="margin-top: 0px;">This shows you how the <b>MultiTwist</b> demo scene can be modified to work with a one finger twist gesture. This is done by changing the <b>OneFinger</b> setting to <b>ScreenCenter</b> or <b>FingerStart</b>.</p></div><div style="padding-left:70px;"><h3>Delay</h3><p style="margin-top: 0px;">This shows you how to rotate an object with a delay. This is useful if you need very precise positioning on a touch device, because when you release your finger typically your finger can move slightly and unexpectedly add some movement. This is done using the <b>LeanDelatedValue</b> component, whe
<br><br>
<br><br>
<h1>Assets</h1>
<p>Here's a list of all my other assets, please check them out!</p><p>You can also view this list on <a href="http://CarlosWilkes.com/Get/Assets" target="_blank">my Asset Store page</a>.</p>
<div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanGUI" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/72138/icon" alt="Lean GUI" width="128" height="128" /></a></div>
<a name="LeanGUI"></a><h2>Lean GUI</h2>
<p>Lean GUI is a colllection of components that extend Unity's GUI system, allowing you to rapidly enhance the user experience (UX) of your game's UI.</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanTransition" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/144107/icon" alt="Lean Transition" width="128" height="128" /></a></div>
<a name="LeanTransition"></a><h2>Lean Transition</h2>
<p>Quickly polish your games using Lean Transition. This asset allows you to easily tween or animate almost anything in your game, making it transition smoothly.</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/PaintIn3D" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/26286/icon" alt="Paint in 3D" width="128" height="128" /></a></div>
<a name="PaintIn3D"></a><h2>Paint in 3D</h2>
<p>Paint all your objects using <strong>Paint in 3D</strong> - both in game, and in editor. All features are optimized with GPU accelerated texture painting, so you can enjoy consistent performance, even if you paint your objects one million times!</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanPool" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/35666/icon" alt="Lean Pool" width="128" height="128" /></a></div>
<a name="LeanPool"></a><h2>Lean Pool</h2>
<p>Quickly optimize the performance of your games using Lean Pool. Within minutes you can use this lightweight asset to preload, recycle, and limit the spawning of your prefabs.</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/SpaceGraphicsToolkit" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/4160/icon" alt="Space Graphics Toolkit" width="128" height="128" /></a></div>
<a name="SpaceGraphicsToolkit"></a><h2>Space Graphics Toolkit</h2>
<p>Quickly make the space scene of your dreams using Space Graphics Toolkit. This huge collection of space effects can be customized and combined in any way you like, allowing you to quickly make realistic or fantasy worlds. Each feature has been heavily optimized to run on almost any device and platform.</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanTouch" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/30111/icon" alt="Lean Touch" width="128" height="128" /></a></div>
<a name="LeanTouch"></a><h2>Lean Touch</h2>
<p>Rapidly develop your game with consistent input across desktop & mobile using Lean Touch. This lightweight asset comes with many modular components, allowing you to customize them to your exact project needs!</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanLocalization" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/28504/icon" alt="Lean Localization" width="128" height="128" /></a></div>
<a name="LeanLocalization"></a><h2>Lean Localization</h2>
<p>Lean Localization is a localization library that's designed to be as simple to use as possible for both designers, and programmers.</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanGUIShapes" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/69366/icon" alt="Lean GUI Shapes" width="128" height="128" /></a></div>
<a name="LeanGUIShapes"></a><h2>Lean GUI Shapes</h2>
<p>Lean GUI Shapes allows you to quickly add lines, rounded boxes, polygons, and much more to your GUI!</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/Destructible2D" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/18125/icon" alt="Destructible 2D" width="128" height="128" /></a></div>
<a name="Destructible2D"></a><h2>Destructible 2D</h2>
<p>Unlock the full potential of your 2D games using Destructible 2D, this asset allows you to quickly convert all your boring solid sprites into fully destructible ones!</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/PlanetPack" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/124578/icon" alt="Planet Pack - Space Graphics Toolkit" width="128" height="128" /></a></div>
<a name="PlanetPack"></a><h2>Planet Pack - Space Graphics Toolkit</h2>
<p>This pack contains 26 high detail PBR planets, all finished using the powerful planet features of Space Graphics Toolkit (SGT). This is a standalone package, so SGT is not required. You can even use the included features to turn your own planets into beautiful worlds!</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/LeanTouchPlus" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/72356/icon" alt="Lean Touch+" width="128" height="128" /></a></div>
<a name="LeanTouchPlus"></a><h2>Lean Touch+</h2>
<p>Lean Touch+ is an extension to the popular Lean Touch asset, adding many more example scenes.</p>
</div>
<br><div style="overflow:hidden;">
<div style="float: left; padding-right: 20px;"><a href="https://CarlosWilkes.com/Get/VolumetricAudio" target="_blank"><img src="https://api.assetstore.unity3d.com/affiliate/embed/package/17125/icon" alt="Volumetric Audio" width="128" height="128" /></a></div>
<a name="VolumetricAudio"></a><h2>Volumetric Audio</h2>
<p>Unity sounds only emanate from a single point source. This is great for explosions and footsteps, but quite often you need something more advanced. Volumetric Audio is an easy to use package that allows you to define boxes, spheres, capsules, paths, or meshes that sounds can emanate from.</p>
</div>
<br>
<br><br>
<br><br>
<h1>Versions</h1>
<div style="overflow:hidden;"><a name="2.3.0"></a><h2>2.3.0</h2><div class="tip"><strong>NOTE</strong>&emsp; This is a huge update. Back up your project files before installing.</div><p>Fixed <b>LeanDragTranslateAlong</b> positional drift.<br>Fixed <b>LeanFingerTapQuick</b> adding RectTransform.<br>Added <b>Selection / Select Self / Down</b> demo scene.<br>Improved <b>LeanMultiUp</b> component implementation.<br>Improved <b>LeanDropCount</b> component implementation.<br>Renamed <b>LeanSelectSelf</b> to <b>LeanPickable</b>.</p><br><br></div><div style="overflow:hidden;"><a name="2.2.4"></a><h2>2.2.4</h2><p>Fixed <b>LeanPinchCamera</b> inspector error.<br>Added <b>LeanManualTorque</b> component.<br>Added <b>Drag/DragTorque</b> demo scene.<br>Added <b>LeanManualRescale</b> component.<br>Added <b>Drag/DragRescale</b> demo scene.</p><br><br></div><div style="overflow:hidden;"><a name="2.2.3"></a><h2>2.2.3</h2><p>Added <b>LeanDelayedValue</b> component.<br>Added <b>LeanMultiDown</b> component.<br>Added <b>LeanMultiUp</b> component.<br>Replaced <b>LeanPitchYaw.RotateToFinger</b> with <b>RotateToScreenPosition</b>.<br>Added <b>LeanFirstDown.OnScreen</b> event.<br>Added <b>Camera/Conflicting Controls</b> demo scene.<br>Replaced <b>LeanAnySelected</b> component with <b>LeanSelectedCount</b>.<br>Added <b>LeanSelected</b> component.<br>Added <b>LeanDeselected</b> component.<br>Fixed <b>LeanChaseRigidbody</b> component.<br>Added <b>LeanMultiHeld</b> component.<br>Added <b>Multi Held</b> demo scene.</p><br><br></div><div style="overflow:hidden;"><a name="2.2.2"></a><h2>2.2.2</h2><p>Added <b>LeanSelectableDial.IncrementAngle</b> method.<br>Added <b>LeanPinchCamera.IncrementZoom</b> method.<br>Added <b>Camera / One Finger Zoom</b> demo scene.<br>Fixed <b>LeanConstrainToDirection</b> component.</p><br><br></div><div style="overflow:hidden;"><a name="2.2.1"></a><h2>2.2.1</h2><p>Fixed <b>LeanSelectSelf</b> with <b>Search = GetComponentInParent</b>.<br>Fixed <b>ScreenDepth = PlaneIntercept</b> when using an offset.<br>Fixed <b>LeanMultiDirection.Angle</b> setting.<br>Fixed <b>LeanSelectableDial.Tilt</b> implementation.<br>Added <b>LeanChaseRigidbody2D.Axis</b> setting.</p><br><br></div><div style="overflow:hidden;"><a name="2.2.0"></a><h2>2.2.0</h2><p>Added <b>LeanFirstDownCanvas</b> component.<br>Added <b>LeanLastUpCanvas</b> component.<br>Added <b>LeanMultiDirection</b> component.<br>Added <b>Drag/Direction</b> demo scene.<br>Added <b>LeanSelectableDial.OnAngleChanged</b> event.<br>Fixed <b>LeanPinchCamera</b> inspector.</p><br><br></div><div style="overflow:hidden;"><a name="2.1.9"></a><h2>2.1.9</h2><p>Added multi finger support to <b>LeanDragSelect</b> component.<br>Added <b>LeanManualTranslate.DefaultPosition</b> value.<br>Added <b>LeanManualTranslate.ResetPosition</b> method.<br>Added <b>LeanManualTranslate.SnapToTarget</b> method.<br>Added <b>LeanManualRotate.SnapToTarget</b> method.<br>Added <b>Linear</b> setting to <b>LeanChase</b> components.</p><br><br></div><div style="overflow:hidden;"><a name="2.1.8"></a><h2>2.1.8</h2><p>Added <b>Canvas / Swipe Direction Spawn</b> demo scene.<br>Added <b>LeanPitchYaw.RotateToPosition</b> method.<br>Added <b>LeanPitchYaw.RotateToDirection</b> method.<br>Added <b>LeanSelectSelf.Root</b> setting.<br>Added <b>LeanManualFlick</b> component.</p><br><br></div><div style="overflow:hidden;"><a name="2.1.7"></a><h2>2.1.7</h2><p>Added <b>LeanSelectSelf</b> component.<br>Added <b>Selection / Select Self</b> demo scene.</p><br><br></div><div style="overflow:hidden;"><a name="2.1.6"></a><h2>2.1.6</h2><p>Updated <b>Lean Touch</b>.</p><br><br></div><div style="overflow:hidden;"><a name="2.1.5"></a><h2>2.1.5</h2><p>Separated <b>LeanConstrainToBox</b> from BoxColliders.<br>Added <b>LeanConstrainToAxis</b> component.<br>Added <b>Constrain / Constrain To Box</b> demo scene.<br>Added <b>Constrain / Constrain To Axis</b> demo scene.<br>Rewrote <b>LeanShapeDetector</b> to use a different implementation.<br>Implemented <b>LeanShapeDetector.Use</b> setting.</p><br><br></div><div style="overflow:hidden;"><a name="2.1
<br><br>
<br><br>
<h1>Components</h1>
<div style="overflow:hidden;"><a name="IDropHandler"></a><h2>IDropHandler</h2><p>Any component implementing this interface will make it compatible with LeanSelectableDrop, allowing you to perform a specific action when the current object is dropped on something.</p><br><br></div><div style="overflow:hidden;"><a name="LeanDragColorMesh"></a><h2>LeanDragColorMesh</h2><p>This script allows you to paint the vertices of the current MeshFilter's mesh.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">PaintColor</span>
</h2>
<p>The color you want to paint the hit triangles.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDragDeformMesh"></a><h2>LeanDragDeformMesh</h2><p>This script allows you to drag mesh vertices using finger drags.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ScaledRadius</span>
</h2>
<p>Radius around the finger the vertices will be moved in scaled screen space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">ApplyToMeshCollider</span>
</h2>
<p>Should mesh deformation be applied to an attached MeshCollider?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDragLine"></a><h2>LeanDragLine</h2><p>This component modifies LeanDragTrail to draw straight lines.</p><div class="tip"><strong>NOTE</strong>&emsp; This requires you to enable LeanTouch.RecordFingers.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">WidthScale</span>
</h2>
<p>The StartWidth and EndWidth values will be increased by this value multiplied by the line length.</p><p>0 = No change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">LengthMin</span>
</h2>
<p>The minimum length of the straight line in world space.</p><p>-1 = Unrestricted.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">LengthMax</span>
</h2>
<p>The maximum length of the straight line in world space.</p><p>-1 = Unrestricted.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">StartAtOrigin</span>
</h2>
<p>Enable this if the line should begin from this Transform's position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Invert</span>
</h2>
<p>Drag the line backwards?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnReleasedFrom</span>
</h2>
<p>This event gets called when a trail drawing finger goes up.</p><p>Vector3 = Start world point.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnReleasedTo</span>
</h2>
<p>This event gets called when a trail drawing finger goes up. The parameter contains the end point in world space.</p><p>Vector3 = End world point.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnReleasedDelta</span>
</h2>
<p>This event gets called when a trail drawing finger goes up. The parameter contains the end point in world space.</p><p>Vector3 = Vector between start and end world points.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Vector3Event</b>
<br>
<span style="">OnReleasedFromTo</span>
</h2>
<p>This event gets called when a trail drawing finger goes up.</p><p>Vector3 = Start point in world space.</p><p>Vector3 = End point in world space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDragSelect"></a><h2>LeanDragSelect</h2><p>This component allows you to select multiple objects by dragging across the screen through them.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectByFinger</b>
<br>
<span style="">Select</span>
</h2>
<p>The select component that will be used.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">RequireNoSelectables</span>
</h2>
<p>If you begin dragging while objects are already selected, skip?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">RequireInitialSelection</span>
</h2>
<p>If you begin dragging on a point that isn't above a selectable object, skip?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">DeselectAllAtStart</span>
</h2>
<p>Automatically deselect all objects when the drag starts?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MaximumSeparation</span>
</h2>
<p>Must the next selected object be within a specified world space distance?\n\n0 = Any distance.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDragTranslateAlong"></a><h2>LeanDragTranslateAlong</h2><p>This component allows you to translate the current GameObject along the specified surface.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Target</span>
</h2>
<p>If you want this component to work on a different <b>Transform</b>, then specify it here. This can be used to improve organization if your GameObject already has many components.</p><p>None/null = Current Transform.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">TrackScreenPosition</span>
</h2>
<p>If your ScreenDepth settings cause the position values to clamp, there will be a difference between where the finger is and where the object is. Should this difference be tracked?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.</p><p>-1 = Instantly change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDragTranslateRigidbody"></a><h2>LeanDragTranslateRigidbody</h2><p>This component allows you to drag this rigidbody.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.</p><p>-1 = Instantly change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDragTranslateRigidbody2D"></a><h2>LeanDragTranslateRigidbody2D</h2><p>This component allows you to translate the current Rigidbody2D GameObject.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.</p><p>-1 = Instantly change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDrop"></a><h2>LeanDrop</h2><p>This component implements the 'IDroppable' interface, and will fire events when you drop something on it.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObjectLeanFingerEvent</b>
<br>
<span style="">OnDropped</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>GameObject = The GameObject instance this was dropped.</p><p>LeanFinger = The LeanFinger instance this was used to drop the specified GameObject.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDropCount"></a><h2>LeanDropCount</h2><p>This component implements the 'IDroppable' interface, and will count the amount of times you drop a GameObject with the LeanSelectableDrop component on it.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">Count</span>
</h2>
<p>The amount of times you've dropped an object on this.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IntEvent</b>
<br>
<span style="">OnCount</span>
</h2>
<p>When the amount of selected objects changes, this event is invoked with the current count.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">MatchMin</span>
</h2>
<p>The minimum amount of objects that must be selected for a match.</p><p>-1 = Max.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">MatchMax</span>
</h2>
<p>The maximum amount of objects that can be selected for a match.</p><p>-1 = Max.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnMatch</span>
</h2>
<p>When the amount of selected objects matches the <b>RequiredCount</b>, this event will be invoked.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnUnmatch</span>
</h2>
<p>When the amount of selected objects no longer matches the <b>RequiredCount</b>, this event will be invoked.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFingerDownCanvas"></a><h2>LeanFingerDownCanvas</h2><p>This component calls OnDown when a finger begins touching the screen on top of this UI element.</p><div class="tip"><strong>NOTE</strong>&emsp; This requires you to enable the RaycastTarget setting on your UI graphic.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>Called on the first frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point based on the ScreenDepth settings.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFingerFlick"></a><h2>LeanFingerFlick</h2><p>This component detects swipes while the finger is touching the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIsOverGui</span>
</h2>
<p>Ignore fingers with OverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CheckType</b>
<br>
<span style="">Check</span>
</h2>
<p>This allows you to choose how the flick will be detected.</p><p>Default = Detects one flick within the current <b>TapThreshold</b> time.</p><p>IgnoreAge = You can hold the finger for any duration before flicking.</p><p>Multiple = You can stop moving the finger for <b>TapThreshold</b> seconds and perform additional flicks.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFingerHeld"></a><h2>LeanFingerHeld</h2><p>This component fires events if a finger has been held for a certain amount of time without moving.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIsOverGui</span>
</h2>
<p>Ignore fingers with OverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MinimumAge</span>
</h2>
<p>The finger must be held for this many seconds.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MaximumMovement</span>
</h2>
<p>The finger cannot move more than this many pixels relative to the reference DPI.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFingerDown</span>
</h2>
<p>Called on the first frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFingerUpdate</span>
</h2>
<p>Called on every frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFingerUp</span>
</h2>
<p>Called on the last frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldDown</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point based on the ScreenDepth settings.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldUpdate</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Current point based on the ScreenDepth settings.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldUp</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = End point based on the ScreenDepth settings.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFingerTapExpired"></a><h2>LeanFingerTapExpired</h2><p>This script calls the OnFingerTap event when a finger expires after it's tapped a specific amount of times.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIsOverGui</span>
</h2>
<p>Ignore fingers with OverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">RequiredTapCount</span>
</h2>
<p>How many times must this finger tap before OnTap gets called?</p><p>0 = Every time (keep in mind OnTap will only be called once if you use this).</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">RequiredTapInterval</span>
</h2>
<p>How many times repeating must this finger tap before OnTap gets called?</p><p>0 = Every time (e.g. a setting of 2 means OnTap will get called when you tap 2 times, 4 times, 6, 8, 10, etc).</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>Called on the first frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IntEvent</b>
<br>
<span style="">OnCount</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Int = The finger tap count.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point based on the ScreenDepth settings.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFingerTapQuick"></a><h2>LeanFingerTapQuick</h2><p>This component allows you to detect when a finger begins touching the screen after it's done a specific amount of taps. This creates the effect of instantly detecting this tap.</p><div class="tip"><strong>NOTE</strong>&emsp; This component can only be used to detect the last tap.</div><p>For example, if you want to detect single and double taps, then this component can only be used to detect double taps.</p><p>If you want to detect prior taps, then you must use the <b>LeanFingerTapExpired</b> component.</p><p>The reason for this is because this component <b>instantly</b> triggers when you begin touching the screen, so it cannot know how many times you will tap after.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">RequiredTapCount</span>
</h2>
<p>How many taps must the finger have already performed?</p><p>1 = One previous tap, making this component detect the second quick tap.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>Called on the first frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point based on the ScreenDepth settings.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreen</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector2 = Screen position.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFirstDown"></a><h2>LeanFirstDown</h2><p>This component allows you to detect when the first finger begins touching the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector3 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreen</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFirstDownCanvas"></a><h2>LeanFirstDownCanvas</h2><p>This component allows you to detect when the first finger begins touching the current UI element.</p><div class="tip"><strong>NOTE</strong>&emsp; This requires you to enable the RaycastTarget setting on your UI graphic.</div><br><br></div><div style="overflow:hidden;"><a name="LeanGestureToggle"></a><h2>LeanGestureToggle</h2><p>This component will enable/disable the target pinch and twist components based on total pinch and twist gestures, like mobile map applications.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">EnableWithoutIsolation</span>
</h2>
<p>If one specific gesture hasn't been isolated yet, keep them all enabled?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">MonoBehaviour</b>
<br>
<span style="">DragComponent</span>
</h2>
<p>The component that will be enabled/disabled when dragging.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">DragThreshold</span>
</h2>
<p>The amount of drag required to enable dragging mode.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">MonoBehaviour</b>
<br>
<span style="">PinchComponent</span>
</h2>
<p>The component that will be enabled/disabled when pinching.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PinchThreshold</span>
</h2>
<p>The amount of pinch required to enable twisting in scale (e.g. 0.1 = 0.9 to 1.1).</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">MonoBehaviour</b>
<br>
<span style="">TwistComponent</span>
</h2>
<p>The component that will be enabled/disabled when twisting.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">TwistThreshold</span>
</h2>
<p>The amount of twist required to enable twisting in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">TwistWithPinch</span>
</h2>
<p>Enable twist component when pinch component is activated?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanLastUp"></a><h2>LeanLastUp</h2><p>This component allows you to detect when the last finger stops touching the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>This event will be called if the above conditions are met when you finish touching the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>This event will be called if the above conditions are met when you finish touching the screen.</p><p>Vector2 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreen</span>
</h2>
<p>This event will be called if the above conditions are met when you finish touching the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanLastUpCanvas"></a><h2>LeanLastUpCanvas</h2><p>This component allows you to detect when the last finger stops touching the current UI element.</p><div class="tip"><strong>NOTE</strong>&emsp; This requires you to enable the RaycastTarget setting on your UI graphic.</div><br><br></div><div style="overflow:hidden;"><a name="LeanManualFlick"></a><h2>LeanManualFlick</h2><p>This component works like LeanFingerSwipe, but you must manually add fingers from components like LeanFingerDown, LeanFingerDownCanvas, etc.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIsOverGui</span>
</h2>
<p>Ignore fingers with OverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CheckType</b>
<br>
<span style="">Check</span>
</h2>
<p>This allows you to choose how the flick will be detected.</p><p>Default = Detects one flick within the current <b>TapThreshold</b> time.</p><p>IgnoreAge = You can hold the finger for any duration before flicking.</p><p>Multiple = You can stop moving the finger for <b>TapThreshold</b> seconds and perform additional flicks.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This method allows you to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This method allows you to manually remove a finger.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanManualSwipe"></a><h2>LeanManualSwipe</h2><p>This component works like LeanFingerSwipe, but you must manually add fingers from components like LeanFingerDown, LeanFingerDownCanvas, etc.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIsOverGui</span>
</h2>
<p>Ignore fingers with OverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This method allows you to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This method allows you to manually remove a finger.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMouseWheel"></a><h2>LeanMouseWheel</h2><p>This component allows you to add mouse wheel control to other components.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>Do nothing if this LeanSelectable isn't selected?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">RequiredMouseButton</span>
</h2>
<p>When using simulated fingers, should they be created from a specific mouse button?</p><p>-1 = Ignore.</p><p>0 = Left Mouse.</p><p>1 = Right Mouse.</p><p>2 = Middle Mouse.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">ModifyType</b>
<br>
<span style="">Modify</span>
</h2>
<p>Should the scroll delta be modified before use?</p><p>Sign = The swipe delta will either be 1 or -1.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>This final delta value will be multiplied by this.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CoordinateType</b>
<br>
<span style="">Coordinate</span>
</h2>
<p>The coordinate space of the output delta values.</p><p>ZeroBased = Scrolling where 0 means no scroll.</p><p>OneBased = ZeroBased + 1. Scrolling where 1 means no scroll. This is suitable for use with components where you multiply a value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnDelta</span>
</h2>
<p>Called when the mouse scrolls.</p><p>Float = Scroll delta.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiDirection"></a><h2>LeanMultiDirection</h2><p>This component allows you to get the pinch of all fingers.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIfStatic</span>
</h2>
<p>If there is no movement, ignore it?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Angle</span>
</h2>
<p>The angle we want to detect movement along.</p><p>0 = Up.</p><p>90 = Right.</p><p>180 = Down.</p><p>270 = Left.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">OneWay</span>
</h2>
<p>Set delta to 0 if it goes negative?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CoordinateType</b>
<br>
<span style="">Coordinate</span>
</h2>
<p>The coordinate space of the <b>OnDelta</b> values.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The swipe delta will be multiplied by this value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnDelta</span>
</h2>
<p>This event is invoked when the requirements are met.</p><p>Float = Position Delta based on your Coordinate setting.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiDown"></a><h2>LeanMultiDown</h2><p>This component allows you to detect when a specific amount of fingers begin touching the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">RequiredCount</span>
</h2>
<p>The amount of fingers we are interested in.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerListEvent</b>
<br>
<span style="">OnFingers</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector3 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreen</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiHeld"></a><h2>LeanMultiHeld</h2><p>This component allows you to detect when a specific amount of fingers begin touching the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIsOverGui</span>
</h2>
<p>Ignore fingers with OverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">RequiredSelectable</span>
</h2>
<p>If the specified object is set and isn't selected, then this component will do nothing.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">RequiredCount</span>
</h2>
<p>The amount of fingers we are interested in.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MinimumAge</span>
</h2>
<p>The finger must be held for this many seconds.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MaximumMovement</span>
</h2>
<p>The finger cannot move more than this many pixels relative to the reference DPI.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerListEvent</b>
<br>
<span style="">OnFingersDown</span>
</h2>
<p>This event will be called if the above conditions are met when you begin holding fingers down.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerListEvent</b>
<br>
<span style="">OnFingersUpdate</span>
</h2>
<p>This event will be called if the above conditions are met when you begin holding fingers down.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerListEvent</b>
<br>
<span style="">OnFingersUp</span>
</h2>
<p>This event will be called if the above conditions are no longer met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldDown</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector3 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldUpdate</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector3 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldUp</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector3 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreenDown</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreenUpdate</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreenUp</span>
</h2>
<p>This event will be called if the above conditions are met when you first touch the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiPinch"></a><h2>LeanMultiPinch</h2><p>This component allows you to get the pinch of all fingers.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIfStatic</span>
</h2>
<p>If there is no pinching, ignore it?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CoordinateType</b>
<br>
<span style="">Coordinate</span>
</h2>
<p>OneBasedScale = Scale (1 = no change, 2 = double size, 0.5 = half size).</p><p>OneBasedReciprocal = 1 / Scale (1 = no change, 2 = half size, 0.5 = double size).</p><p>ZeroBasedScale = Scale - 1 (0 = no change, 1 = double size, -0.5 = half size).</p><p>ZeroBasedRatio = 1 / Scale - 1 (0 = no change, 1 = half size, -0.5 = double size).</p><p>ZeroBasedDistance = Linear change in distance (0 = no change, 10 = 10 pixel larger radius, -10 = 10 pixel smaller radius).</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The swipe delta will be multiplied by this value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnPinch</span>
</h2>
<p>This event is invoked when the requirements are met.</p><p>Float = Pinch value based on your Scale setting.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiPull"></a><h2>LeanMultiPull</h2><p>This component allows you to perform a continuous action based on the current position of the fingers relative to where they started.</p><p>This allows you to perform actions like an invisible joystick.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CoordinateType</b>
<br>
<span style="">Coordinate</span>
</h2>
<p>The coordinate space of the OnDelta values.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The delta values will be multiplied by this when output.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">ScaleByTime</span>
</h2>
<p>If you enable this then the delta values will be multiplied by Time.deltaTime. This allows you to maintain frame rate independent actions.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnVector</span>
</h2>
<p>This event is invoked when the requirements are met.</p><p>Vector2 = Position Delta based on your Delta setting.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnDistance</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Float = The distance/magnitude/length of the swipe delta vector.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldFrom</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldTo</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = End point in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldDelta</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = The vector between the start and end points in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Vector3Event</b>
<br>
<span style="">OnWorldFromTo</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point in world space.</p><p>Vector3 = End point in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiSwipe"></a><h2>LeanMultiSwipe</h2><p>This script calculates the multi-swipe event.</p><p>A multi-swipe is where you swipe multiple fingers at the same time, and OnSwipe gets called when the first finger is released from the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ScaledDistanceThreshold</span>
</h2>
<p>Each finger touching the screen must have moved at least this distance for a multi swipe to be considered. This prevents the scenario where multiple fingers are touching, but only one swipes.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ParallelAngleThreshold</span>
</h2>
<p>This allows you to set the maximum angle between parallel swiping fingers for the OnSwipeParallel event to be fired.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PinchScaledDistanceThreshold</span>
</h2>
<p>This allows you to set the minimum pinch distance for the OnSwipeIn and OnSwipeOut events to be fired.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiTap"></a><h2>LeanMultiTap</h2><p>This script calculates the multi-tap event.</p><p>A multi-tap is where you press and release at least one finger at the same time.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnTap</span>
</h2>
<p>Called when a multi-tap occurs.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IntEvent</b>
<br>
<span style="">OnCount</span>
</h2>
<p>Called when a multi-tap occurs.</p><p>Int = The amount of times you've multi-tapped.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IntEvent</b>
<br>
<span style="">OnHighest</span>
</h2>
<p>Called when a multi-tap occurs.</p><p>Int = The maximum amount of fingers involved in this multi-tap.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IntIntEvent</b>
<br>
<span style="">OnCountHighest</span>
</h2>
<p>Called when a multi-tap occurs.</p><p>Int = The amount of times you've multi-tapped.</p><p>Int = The maximum amount of fingers involved in this multi-tap.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiTwist"></a><h2>LeanMultiTwist</h2><p>This component allows you to get the twist of all fingers.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIfStatic</span>
</h2>
<p>If there is no twisting, ignore the events?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">OneFingerType</b>
<br>
<span style="">OneFinger</span>
</h2>
<p>Should this component allow one finger twisting?</p><p>ScreenCenter = The twist pivot point will be the center of the screen.</p><p>FingerStart = The twist pivot point will be the finger start position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiUp"></a><h2>LeanMultiUp</h2><p>This component allows you to detect when a specific amount of fingers stop touching the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>This event will be called if the above conditions are met when your finger stops touching the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>This event will be called if the above conditions are met when your finger stops touching the screen.</p><p>Vector3 = Finger position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreen</span>
</h2>
<p>This event will be called if the above conditions are met when your finger stops touching the screen.</p><p>Vector2 = Finger position in screen space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiUpdate"></a><h2>LeanMultiUpdate</h2><p>This component allows you to get the change in position of all specified fingers.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIfStatic</span>
</h2>
<p>If the fingers didn't move, skip calling</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerListEvent</b>
<br>
<span style="">OnFingers</span>
</h2>
<p>This event is invoked when the requirements are met.</p><p>List<LeanFinger> = The fingers that are touching the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">CoordinateType</b>
<br>
<span style="">Coordinate</span>
</h2>
<p>The coordinate space of the OnDelta values.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The delta values will be multiplied by this when output.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnDelta</span>
</h2>
<p>This event is invoked when the requirements are met.</p><p>Vector2 = Position Delta based on your Delta setting.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnDistance</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Float = The distance/magnitude/length of the swipe delta vector.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldFrom</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldTo</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = End point in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorldDelta</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = The vector between the start and end points in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Vector3Event</b>
<br>
<span style="">OnWorldFromTo</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point in world space.</p><p>Vector3 = End point in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMultiUpdateCanvas"></a><h2>LeanMultiUpdateCanvas</h2><p>This component allows you to perform events while fingers are on top of the current UI element.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIfOff</span>
</h2>
<p>If a finger is currently off the current UI element, ignore it?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerListEvent</b>
<br>
<span style="">OnFingers</span>
</h2>
<p>This event is invoked when the requirements are met.</p><p>List<LeanFinger> = The fingers that are touching the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>Vector3 = Start point based on the ScreenDepth settings.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPick"></a><h2>LeanPick</h2><p>This component can be used to pick objects in your scene that have the <b>LeanPickable</b> component attached.</p><div class="tip"><strong>NOTE</strong>&emsp; This component requires you to call the <b>SelectScreenPosition</b> method externally (e.g. using the LeanFingerTap component).</div><div style="padding-left:75px;"><br>
<h2>
<b style="">string</b>
<br>
<span style="">RequiredTag</span>
</h2>
<p>The tag required for an object to be selected.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanPickableEvent</b>
<br>
<span style="">OnPickable</span>
</h2>
<p>This event will be invoked when an object is picked.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">PickStartScreenPosition</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This method allows you to pick at the finger's <b>StartScreenPosition</b>.</p><div class="tip"><strong>NOTE</strong>&emsp; This method be called from somewhere for this component to work (e.g. LeanFingerTap).</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">PickScreenPosition</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This method allows you to pick at the finger's current <b>ScreenPosition</b>.</p><div class="tip"><strong>NOTE</strong>&emsp; This method be called from somewhere for this component to work (e.g. LeanFingerTap).</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SelectScreenPosition</span>
<br>
<b>LeanFinger finger, Vector2 screenPosition</b>
</h2>
<p>This method allows you to initiate selection of a finger at a custom screen position.</p><div class="tip"><strong>NOTE</strong>&emsp; This method be called from a custom script for this component to work.</div>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPickable"></a><h2>LeanPickable</h2><p>This component allows you to detect when a finger presses/taps on top of the current GameObject without using the LeanSelectable system.</p><div class="tip"><strong>NOTE</strong>&emsp; This feature requires your scene to contain the <b>LeanPick</b> component.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnFinger</span>
</h2>
<p>This event will be invoked when the specified finger touches this GameObject.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnWorld</span>
</h2>
<p>This event will be invoked when this object is picked, and tell you the world space position it touched.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnScreen</span>
</h2>
<p>This event will be invoked when this object is picked, and tell you the screen space position it touched.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPinchCamera"></a><h2>LeanPinchCamera</h2><p>This component allows you to zoom a camera in and out based on the pinch gesture</p><p>This supports both perspective and orthographic cameras</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Zoom</span>
</h2>
<p>The current FOV/Size.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.</p><p>-1 = Instantly change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Clamp</span>
</h2>
<p>Limit the FOV/Size?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ClampMin</span>
</h2>
<p>The minimum FOV/Size we want to zoom to.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ClampMax</span>
</h2>
<p>The maximum FOV/Size we want to zoom to.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Relative</span>
</h2>
<p>Should the zoom be performed relative to the finger center?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreZ</span>
</h2>
<p>Ignore changes in Z translation for 2D?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">MultiplyZoom</span>
<br>
<b>float scale</b>
</h2>
<p>This method allows you to multiply the current <b>Zoom</b> value by the specified scale. This is useful for quickly changing the zoom from UI button clicks, or <b>LeanMouseWheel</b> scrolling.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">IncrementZoom</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to multiply the current <b>Zoom</b> value by the specified delta. This works like <b>MultiplyZoom</b>, except a value of 0 will result in no change, -1 will halve the zoom, 2 will double the zoom, etc.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanReplayFinger"></a><h2>LeanReplayFinger</h2><p>This shows you how to record a finger's movement data that can later be replayed.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Cursor</span>
</h2>
<p>The cursor used to show the recording.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The conversion method used to find a world point from a screen point.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Playing</span>
</h2>
<p>Is the recording playing?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PlayTime</span>
</h2>
<p>The position of the playback in seconds.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableBlock"></a><h2>LeanSelectableBlock</h2><p>This component shows you a basic implementation of a block in a match-3 style game.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">X</span>
</h2>
<p>Current X grid coordinate of this block.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">Y</span>
</h2>
<p>Current Y grid coordinate of this block.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">BlockSize</span>
</h2>
<p>The size of the block in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">DeselectOnSwap</span>
</h2>
<p>Auto deselect this block when swapping?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.</p><p>-1 = Instantly change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableCenter"></a><h2>LeanSelectableCenter</h2><p>This component can calculate the average position of all selected objects in the scene.</p><div class="tip"><strong>NOTE</strong>&emsp; You must manually call the <b>Calculate</b> method from somewhere (e.g. inspector event), then it will be output from the <b>OnPosition</b> event.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnPosition</span>
</h2>
<p>This allows you to output Seconds to UI text.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Calculate</span>
<br>
<b></b>
</h2>
<p>This method will calculate the position and output it using the <b>OnPosition</b> event.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableCount"></a><h2>LeanSelectableCount</h2><p>This component allows you to detect when a specific amount of selectable objects in the scene have been selected.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">Count</span>
</h2>
<p>This object has been selected this many times.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IntEvent</b>
<br>
<span style="">OnCount</span>
</h2>
<p>When the amount of selected objects changes, this event is invoked with the current count.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">MatchMin</span>
</h2>
<p>The minimum amount of objects that must be selected for a match.</p><p>-1 = Max.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">MatchMax</span>
</h2>
<p>The maximum amount of objects that can be selected for a match.</p><p>-1 = Max.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnMatch</span>
</h2>
<p>When the amount of selected objects matches the <b>RequiredCount</b>, this event will be invoked.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnUnmatch</span>
</h2>
<p>When the amount of selected objects no longer matches the <b>RequiredCount</b>, this event will be invoked.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableDial"></a><h2>LeanSelectableDial</h2><p>This script allows you to twist the selected object around like a dial or knob.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Tilt</span>
</h2>
<p>The base rotation in local space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Axis</span>
</h2>
<p>The axis of the rotation in local space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Angle</span>
</h2>
<p>The angle of the dial in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Clamp</span>
</h2>
<p>Should the Angle value be clamped?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ClampMin</span>
</h2>
<p>The minimum Angle value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ClampMax</span>
</h2>
<p>The maximum Angle value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">List&lt;Trigger&gt;</b>
<br>
<span style="">Triggers</span>
</h2>
<p>This allows you to perform a custom event when the dial is within a specified angle range.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnAngleChanged</span>
</h2>
<p>This event is invoked when the <b>Angle</b> changes.</p><p>Float = Current Angle.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">IncrementAngle</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increase the <b>Angle</b> value from an external event (e.g. UI button click).</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableDragTorque"></a><h2>LeanSelectableDragTorque</h2><p>This script will add torque to the attached Rigidbody based on finger spin gestures.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Force</span>
</h2>
<p>The torque force multiplier.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableDrop"></a><h2>LeanSelectableDrop</h2><p>This script allows you to change the color of the SpriteRenderer attached to the current GameObject.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LayerMask</b>
<br>
<span style="">Layers</span>
</h2>
<p>This stores the layers we want the raycast/overlap to hit.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">string</b>
<br>
<span style="">RequiredTag</span>
</h2>
<p>The GameObject you drop this on must have this tag.</p><p>Empty = No tag required.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">SearchType</b>
<br>
<span style="">Search</span>
</h2>
<p>How should the IDropHandler be searched for on the dropped GameObject?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObjectEvent</b>
<br>
<span style="">OnGameObject</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>GameObject = The GameObject instance this was dropped on.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">IDropHandlerEvent</b>
<br>
<span style="">OnDropHandler</span>
</h2>
<p>Called on the first frame the conditions are met.</p><p>IDropHandler = The IDropHandler instance this was dropped on.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectablePressureScale"></a><h2>LeanSelectablePressureScale</h2><p>This component scales the current selectable based on the selecting finger pressure.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">BaseScale</span>
</h2>
<p>The default scale with no pressure.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PressureMultiplier</span>
</h2>
<p>The amount BaseScale gets multiplied based on the finger pressure.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">PressureClamp</span>
</h2>
<p>Limit pressure to a range of 0..1?</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableSelected"></a><h2>LeanSelectableSelected</h2><p>This component fires events when the selectable has been selected for a certain amount of time.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Threshold</span>
</h2>
<p>The finger must be held for this many seconds.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">ResetType</b>
<br>
<span style="">Reset</span>
</h2>
<p>When should Seconds be reset to 0?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">RawSelection</span>
</h2>
<p>Bypass LeanSelectable.HideWithFinger?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">RequireFinger</span>
</h2>
<p>If the selecting finger went up, cancel timer?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">SelectableEvent</b>
<br>
<span style="">OnSelectableDown</span>
</h2>
<p>Called on the first frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">SelectableEvent</b>
<br>
<span style="">OnSelectableUpdate</span>
</h2>
<p>Called on every frame the conditions are met.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">SelectableEvent</b>
<br>
<span style="">OnSelectableUp</span>
</h2>
<p>Called on the last frame the conditions are met.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableTime"></a><h2>LeanSelectableTime</h2><p>This component counts how many seconds this <b>LeanSelectable</b> has been selected and sends it out via event.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">SendType</b>
<br>
<span style="">Send</span>
</h2>
<p>This allows you to control when the events will be invoked.</p><p>WhileSelected = Every frame while this object is selected.</p><p>WhileSelectedAndWhenDeselected = Every frame while this object is selected, and the first frame it gets deselected.</p><p>Always = Every frame, regardless of the selection.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnSeconds</span>
</h2>
<p>Based on the <b>Send</b> setting, this event will be invoked.</p><p>Float = Seconds selected.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectionBox"></a><h2>LeanSelectionBox</h2><p>This component will draw a selection box.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>The camera this component will calculate using.</p><p>None/null = MainCamera.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreIfStartedOverGui</span>
</h2>
<p>Ignore fingers with StartedOverGui?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">RectTransform</b>
<br>
<span style="">Prefab</span>
</h2>
<p>The selection box prefab.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">RectTransform</b>
<br>
<span style="">Root</span>
</h2>
<p>The transform the prefabs will be spawned on.</p><div class="tip"><strong>NOTE</strong>&emsp; This RectTransform must fill the whole screen, like the main canvas.</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectByFinger</b>
<br>
<span style="">Select</span>
</h2>
<p>The selected objects will be selected by this component.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanShape"></a><h2>LeanShape</h2><p>This component allows you to define a shape using 2D points.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">ConnectEnds</span>
</h2>
<p>Should the start and end points of this shape be connected, forming a loop?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LineRenderer</b>
<br>
<span style="">Visual</span>
</h2>
<p>If you want to visualize the shape, you can specify an output LineRenderer here.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">List&lt;Vector2&gt;</b>
<br>
<span style="">Points</span>
</h2>
<p>The points that define the shape.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanShapeDetector"></a><h2>LeanShapeDetector</h2><p>This component allows you to detect</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanShape</b>
<br>
<span style="">Shape</span>
</h2>
<p>The shape we want to detect.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">StepThreshold</span>
</h2>
<p>The finger must move at least this many scaled pixels for it to record a new point.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">DistanceThreshold</span>
</h2>
<p>The drawn shape must be within this distance of the reference shape to be recognized. This is in local space relative to the reference shape.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ErrorThreshold</span>
</h2>
<p>If you draw outside the DistanceThreshold, the error factor will increase based on how far you stray, until eventually the shape fails to detect. This allows you to set how high the error factor can become before the detection fails.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">MinimumPoints</span>
</h2>
<p>If you want to allow partial shape matches, then specify the minimum amount of edges that must be matched in the shape.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">DirectionType</b>
<br>
<span style="">Direction</span>
</h2>
<p>Which direction should the shape be checked using?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerEvent</b>
<br>
<span style="">OnDetected</span>
</h2>
<p>If the finger goes up and it has traced the specified shape, this event will be invoked with the finger data.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSpawnWithFinger"></a><h2>LeanSpawnWithFinger</h2><p>This component allows you to spawn a prefab at a point relative to a finger and the specified ScreenDepth.</p><div class="tip"><strong>NOTE</strong>&emsp; To trigger the prefab spawn you must call the Spawn method on this component from somewhere.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Prefab</span>
</h2>
<p>The prefab that this component can spawn.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">RotateType</b>
<br>
<span style="">RotateTo</span>
</h2>
<p>How should the spawned prefab be rotated?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">DragAfterSpawn</span>
</h2>
<p>Hold on to the spawned clone while the spawning finger is still being held?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">SelectOnSpawn</span>
</h2>
<p>If the specified prefab is selectable, select it when spawned?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelect</b>
<br>
<span style="">SelectWith</span>
</h2>
<p>If you want the spawned component to be a selected with a specific select component, you can specify it here.</p><p>None/null = It will be self selected.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The conversion method used to find a world point from a screen point.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2</b>
<br>
<span style="">PixelOffset</span>
</h2>
<p>This allows you to offset the finger position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Canvas</b>
<br>
<span style="">PixelScale</span>
</h2>
<p>If you want the pixels to scale based on device resolution, then specify the canvas whose scale you want to use here.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">WorldOffset</span>
</h2>
<p>This allows you to offset the spawned object position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">WorldRelativeTo</span>
</h2>
<p>This allows you transform the WorldOffset to be relative to the specified Transform.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Spawn</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>This will spawn Prefab at the specified finger based on the ScreenDepth setting.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSwipeEdge"></a><h2>LeanSwipeEdge</h2><p>This component allows you to detect when a finger swipes from the edge of the screen.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Left</span>
</h2>
<p>Detect swipes coming from the left edge?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Right</span>
</h2>
<p>Detect swipes coming from the right edge?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Bottom</span>
</h2>
<p>Detect swipes coming from the bottom edge?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Top</span>
</h2>
<p>Detect swipes coming from the top edge?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">AngleThreshold</span>
</h2>
<p>If the swipe angle is off by this many degrees, it will be ignored.</p><p>0 = Must be exactly parallel.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">EdgeThreshold</span>
</h2>
<p>The swipe must begin within this many scaled pixels of the edge of the screen.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">CheckBetween</span>
<br>
<b>Vector2 from, Vector2 to</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually check for a swipe.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanTwistCamera"></a><h2>LeanTwistCamera</h2><p>This component allows you to rotate the current GameObject using a twist gesture.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanFingerFilter</b>
<br>
<span style="">Use</span>
</h2>
<p>The method used to find fingers to use with this component. See LeanFingerFilter documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>If you want this component to change smoothly over time, then this allows you to control how quick the changes reach their target value.</p><p>-1 = Instantly change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Relative</span>
</h2>
<p>Should the rotation be performed relative to the finger center?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanScreenDepth</b>
<br>
<span style="">ScreenDepth</span>
</h2>
<p>The method used to find world coordinates from a finger. See LeanScreenDepth documentation for more information.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually add a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveFinger</span>
<br>
<b>LeanFinger finger</b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove a finger.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RemoveAllFingers</span>
<br>
<b></b>
</h2>
<p>If you've set Use to ManuallyAddedFingers, then you can call this method to manually remove all fingers.</p>
</div><br><br><br></div>
</div>
<div style="position: absolute; width: 310px; left: 0px; right: 0px; top: 20px; bottom: 20px; overflow-y: scroll; padding: 20px;">
<h2 style="padding-bottom: 5px;">Index</h2>
<p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#WhatIs">What is Lean Touch+?</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GettingStarted">How do I get started?</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#Examples">What Examples Are Included?</a></p>
<br><br>
<h2 style="padding-bottom: 5px;">Assets</h2>
<p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanGUI">Lean GUI</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanTransition">Lean Transition</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#PaintIn3D">Paint in 3D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPool">Lean Pool</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#SpaceGraphicsToolkit">Space Graphics Toolkit</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanTouch">Lean Touch</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanLocalization">Lean Localization</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanGUIShapes">Lean GUI Shapes</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#Destructible2D">Destructible 2D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#PlanetPack">Planet Pack - Space Graphics Toolkit</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanTouchPlus">Lean Touch+</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#VolumetricAudio">Volumetric Audio</a></p>
<br><br>
<h2 style="padding-bottom: 5px;">Versions</h2>
<p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.3.0">2.3.0</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.2.4">2.2.4</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.2.3">2.2.3</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.2.2">2.2.2</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.2.1">2.2.1</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.2.0">2.2.0</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.9">2.1.9</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.8">2.1.8</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.7">2.1.7</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.6">2.1.6</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.5">2.1.5</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.4">2.1.4</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.3">2.1.3</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.2">2.1.2</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.1">2.1.1</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.1.0">2.1.0</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.9">2.0.9</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.8">2.0.8</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.7">2.0.7</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.6">2.0.6</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.5">2.0.5</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.4">2.0.4</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.3">2.0.3</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.2">2.0.2</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.1">2.0.1</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#2.0.0">2.0.0</a></p>
<br><br>
<h2 style="padding-bottom: 5px;">Components</h2>
<p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#IDropHandler">IDropHandler</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragColorMesh">LeanDragColorMesh</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragDeformMesh">LeanDragDeformMesh</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragLine">LeanDragLine</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragSelect">LeanDragSelect</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragTranslateAlong">LeanDragTranslateAlong</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragTranslateRigidbody">LeanDragTranslateRigidbody</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDragTranslateRigidbody2D">LeanDragTranslateRigidbody2D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDrop">LeanDrop</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDropCount">LeanDropCount</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFingerDownCanvas">LeanFingerDownCanvas</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFingerFlick">LeanFingerFlick</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFingerHeld">LeanFingerHeld</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFingerTapExpired">LeanFingerTapExpired</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFingerTapQuick">LeanFingerTapQuick</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFirstDown">LeanFirstDown</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFirstDownCanvas">LeanFirstDownCanvas</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanGestureToggle">LeanGestureToggle</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanLastUp">LeanLastUp</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanLastUpCanvas">LeanLastUpCanvas</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanManualFlick">LeanManualFlick</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanManualSwipe">LeanManualSwipe</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMouseWheel">LeanMouseWheel</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiDirection">LeanMultiDirection</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiDown">LeanMultiDown</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiHeld">LeanMultiHeld</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiPinch">LeanMultiPinch</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiPull">LeanMultiPull</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiSwipe">LeanMultiSwipe</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiTap">LeanMultiTap</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiTwist">LeanMultiTwist</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiUp">LeanMultiUp</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiUpdate">LeanMultiUpdate</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMultiUpdateCanvas">LeanMultiUpdateCanvas</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPick">LeanPick</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a hre
<br><br>
</div>
<div style="background-color: #0075D0; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 20px;">
</div>
</body>
</html>