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

1628 lines
197 KiB
HTML
Raw Permalink 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 Common+ - Documentation - 1.0.0</title>
<style type="text/css">
@font-face { font-family: 'gilroybold'; src: url(data:font/truetype;charset=utf-8;base64,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
@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 Common+</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 Common+?</h2><p>Lean Common+ is a lightweight collection of scripts and media used by all Lean+ assets.</p><br><br></div>
<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="1.0.0"></a><h2>1.0.0</h2><p>Initial version.</p><br><br></div>
<br><br>
<br><br>
<h1>Components</h1>
<div style="overflow:hidden;"><a name="LeanChase"></a><h2>LeanChase</h2><p>This component causes the current Transform to chase the specified position.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Destination</span>
</h2>
<p>The transform that will be chased.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DestinationOffset</span>
</h2>
<p>If Target is set, then this allows you to set the offset in local space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Position</span>
</h2>
<p>The world space position that will be followed.</p><div class="tip"><strong>NOTE</strong>&emsp; If Destination is set, then this value will be overridden.</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Offset</span>
</h2>
<p>The world space offset that will be followed.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>This allows you to control how quickly this Transform moves to the target position.</p><p>-1 = Instantly change.</p><p>0 = No change.</p><p>1 = Slowly change.</p><p>10 = Quickly change.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Linear</span>
</h2>
<p>This allows you to control how quickly this Transform linearly moves to the target position.</p><p>0 = No linear movement.</p><p>1 = One linear position per second.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IgnoreZ</span>
</h2>
<p>Ignore Z for 2D?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Continuous</span>
</h2>
<p>Should the chase keep updating, even if you haven't called the SetPosition method this frame?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">SetPositionOnStart</span>
</h2>
<p>Automatically set the Position value to the transform.position in Start?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetPosition</span>
<br>
<b>Vector3 newPosition</b>
</h2>
<p>This method will override the Position value based on the specified value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SnapToPosition</span>
<br>
<b></b>
</h2>
<p>This method will immediately move this Transform to the target position.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanChaseRigidbody"></a><h2>LeanChaseRigidbody</h2><p>This component causes the current Rigidbody to chase the specified position.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetPosition</span>
<br>
<b>Vector3 newPosition</b>
</h2>
<p>This method will override the Position value based on the specified value.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanChaseRigidbody2D"></a><h2>LeanChaseRigidbody2D</h2><p>This script allows you to drag this Rigidbody2D in a way that causes it to chase the specified position.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">AxisType</b>
<br>
<span style="">Axis</span>
</h2>
<p>This allows you to control which axes the velocity can apply to.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetPosition</span>
<br>
<b>Vector3 newPosition</b>
</h2>
<p>This method will override the Position value based on the specified value.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainLocalPosition"></a><h2>LeanConstrainLocalPosition</h2><p>This component allows you to constrain the current <b>transform.localPosition</b> or <b>transform.anchoredPosition3D</b> to the specified min/max values.</p><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainScale"></a><h2>LeanConstrainScale</h2><p>This component will constrain the current transform.localScale to the specified range.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Minimum</span>
</h2>
<p>Should there be a minimum transform.localScale?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">MinimumScale</span>
</h2>
<p>The minimum transform.localScale value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Maximum</span>
</h2>
<p>Should there be a maximum transform.localScale?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">MaximumScale</span>
</h2>
<p>The maximum transform.localScale value.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainToAxis"></a><h2>LeanConstrainToAxis</h2><p>This component will constrain the current <b>transform.position</b> to the specified axis shape.</p><div class="tip"><strong>NOTE</strong>&emsp; Unlike <b>LeanConstrainToCollider</b>, this component doesn't use the physics system, so it can avoid certain issues if your constrain shape moves.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">RelativeTo</span>
</h2>
<p>The transform the constraint will be applied relative to.</p><p>None/null = World space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">AxisType</b>
<br>
<span style="">Axis</span>
</h2>
<p>The axis that will be constrained.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Minimum</span>
</h2>
<p>The minimum position value relative to the current space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Maximum</span>
</h2>
<p>The maximum position value relative to the current space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainToBox"></a><h2>LeanConstrainToBox</h2><p>This component will constrain the current <b>transform.position</b> to the specified box shape.</p><div class="tip"><strong>NOTE</strong>&emsp; Unlike <b>LeanConstrainToCollider</b>, this component doesn't use the physics system, so it can avoid certain issues if your constrain shape moves.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">RelativeTo</span>
</h2>
<p>The transform the constraint will be applied relative to.</p><p>None/null = World space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Size</span>
</h2>
<p>The size of the box relative to the current space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Center</span>
</h2>
<p>The center of the box relative to the current space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainToCollider"></a><h2>LeanConstrainToCollider</h2><p>This component will constrain the current <b>transform.position</b> to the specified collider.</p><div class="tip"><strong>NOTE</strong>&emsp; If you're using a MeshCollider then it must be marked as <b>convex</b>.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">Collider</b>
<br>
<span style="">Collider</span>
</h2>
<p>The collider this transform will be constrained to.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainToColliders"></a><h2>LeanConstrainToColliders</h2><p>This script will constrain the current transform.position to the specified colliders.</p><div class="tip"><strong>NOTE</strong>&emsp; If you're using a MeshCollider then it must be marked as <b>convex</b>.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">List&lt;Collider&gt;</b>
<br>
<span style="">Colliders</span>
</h2>
<p>The colliders this transform will be constrained to.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainToDirection"></a><h2>LeanConstrainToDirection</h2><p>This component will constrain the current Transform.rotation values so that its facing direction doesn't deviate too far from the target direction.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Forward</span>
</h2>
<p>This allows you to specify which local direction is considered forward on this GameObject.</p><p>Leave this as the default (0,0,1) if you're not sure.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Direction</span>
</h2>
<p>This allows you to specify the target direction you want to constrain to. For example, (0,1,0) is up.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">RelativeTo</span>
</h2>
<p>If you want to constrain the direction relative to a Transform, you can specify it here.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MinAngle</span>
</h2>
<p>This allows you to specify the minimum angle delta between the Forward and Direction vectors in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">MaxAngle</span>
</h2>
<p>This allows you to specify the maximum angle delta between the Forward and Direction vectors in degrees.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanConstrainToOrthographic"></a><h2>LeanConstrainToOrthographic</h2><p>This component will constrain the current <b>transform.position</b> to the specified <b>LeanPlane</b> shape.</p><br><br></div><div style="overflow:hidden;"><a name="LeanDelayedValue"></a><h2>LeanDelayedValue</h2><p>This component allows you to delay when a value is sent to a component. This is done by first passing the value to this component using one of the <b>SetX/Y/Z</b> methods, and then sending it out after a delay using the <b>OnValueX/Y/Z</b> events.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Delay</span>
</h2>
<p>The set values will be output after this many seconds.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">AutoClear</span>
</h2>
<p>If no position has been set this frame, clear all pending values?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnValueX</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnValueY</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnValueZ</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnValueXY</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnValueXYZ</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetX</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to set the X axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetY</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to set the Y axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetZ</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to set the Z axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetXY</span>
<br>
<b>Vector2 value</b>
</h2>
<p>This method allows you to set the XY axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetXYZ</span>
<br>
<b>Vector3 value</b>
</h2>
<p>This method allows you to set the XYZ axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Clear</span>
<br>
<b></b>
</h2>
<p>This method will reset the currently pending value and remove all pending delayed values.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFollow"></a><h2>LeanFollow</h2><p>This component causes the current Transform to follow the specified trail of positions.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">ClearPositions</span>
<br>
<b></b>
</h2>
<p>This method will remove all follow positions, and stop movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddPosition</span>
<br>
<b>Vector3 newPosition</b>
</h2>
<p>This method adds a new position to the follow path.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanMaintainDistance"></a><h2>LeanMaintainDistance</h2><p>This component keeps the current GameObject the specified distance away from its parent.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Direction</span>
</h2>
<p>The direction of the distance separation.</p><p>0,0,0 = Use current direction.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Space</b>
<br>
<span style="">DirectionSpace</span>
</h2>
<p>The coordinate space for the Direction values.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Distance</span>
</h2>
<p>The distance we want to be from the parent in world space.</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>Should the distance 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 distance.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ClampMax</span>
</h2>
<p>The maximum distance.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LayerMask</b>
<br>
<span style="">CollisionLayers</span>
</h2>
<p>The layers we should collide against.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">CollisionRadius</span>
</h2>
<p>The radius of the collision.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddDistance</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to increment the Distance value by the specified value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">MultiplyDistance</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to multiply the Distance value by the specified value.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanManualRotate"></a><h2>LeanManualRotate</h2><p>This component allows you to rotate the current GameObject using events.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObject</b>
<br>
<span style="">Target</span>
</h2>
<p>If you want this component to work on a different GameObject, then specify it here. This can be used to improve organization if your GameObject already has many components.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Space</b>
<br>
<span style="">Space</span>
</h2>
<p>This allows you to set the coordinate space the rotation will use.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">AxisA</span>
</h2>
<p>The first rotation axis, used when calling RotateA or RotateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">AxisB</span>
</h2>
<p>The second rotation axis, used when calling RotateB or RotateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The rotation angle is multiplied by this.</p><p>1 = Normal rotation.</p><p>2 = Double rotation.</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="">ScaleByTime</span>
</h2>
<p>If you enable this then the rotation will be multiplied by Time.deltaTime. This allows you to maintain framerate independent rotation.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DefaultRotation</span>
</h2>
<p>If you call the ResetRotation method, the rotation will be set to this Euler rotation.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">ResetRotation</span>
<br>
<b></b>
</h2>
<p>This method will reset the rotation to the specified DefaultRotation value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SnapToTarget</span>
<br>
<b></b>
</h2>
<p>This method will cause the rotation to immediately snap to its final value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">StopRotation</span>
<br>
<b></b>
</h2>
<p>This method will clear the target rotation value, causing the rotation to stop.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateA</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to rotate around AxisA, with the specified angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateB</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to rotate around AxisB, with the specified angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateAB</span>
<br>
<b>Vector2 delta</b>
</h2>
<p>This method allows you to rotate around AxisA and AxisB, with the specified angles in degrees.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanManualTranslate"></a><h2>LeanManualTranslate</h2><p>This component allows you to translate the specified GameObject when you call methods like <b>TranslateA</b>, which can be done from events.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObject</b>
<br>
<span style="">Target</span>
</h2>
<p>If you want this component to work on a different GameObject, then specify it here. This can be used to improve organization if your GameObject already has many components.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Space</b>
<br>
<span style="">Space</span>
</h2>
<p>This allows you to set the coordinate space the translation will use.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DirectionA</span>
</h2>
<p>The first translation direction, used when calling TranslateA or TranslateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DirectionB</span>
</h2>
<p>The first second direction, used when calling TranslateB or TranslateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The translation distance is multiplied by this.</p><p>1 = Normal distance.</p><p>2 = Double distance.</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="">ScaleByTime</span>
</h2>
<p>If you enable this then the translation will be multiplied by Time.deltaTime. This allows you to maintain frame rate independent movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DefaultPosition</span>
</h2>
<p>If you call the ResetPosition method, the position will be set to this.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">ResetPosition</span>
<br>
<b></b>
</h2>
<p>This method will reset the position to the specified DefaultPosition value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SnapToTarget</span>
<br>
<b></b>
</h2>
<p>This method will cause the position to immediately snap to its final value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateA</span>
<br>
<b>float magnitude</b>
</h2>
<p>This method allows you to translate along DirectionA, with the specified multiplier.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateB</span>
<br>
<b>float magnitude</b>
</h2>
<p>This method allows you to translate along DirectionB, with the specified multiplier.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateAB</span>
<br>
<b>Vector2 magnitude</b>
</h2>
<p>This method allows you to translate along DirectionA and DirectionB, with the specified multipliers.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Translate</span>
<br>
<b>Vector3 vector</b>
</h2>
<p>This method allows you to translate along the specified vector in local space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateWorld</span>
<br>
<b>Vector3 vector</b>
</h2>
<p>This method allows you to translate along the specified vector in world space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanManualTranslateRigidbody"></a><h2>LeanManualTranslateRigidbody</h2><p>This component allows you to translate the specified Rigidbody when you call methods like <b>TranslateA</b>, which can be done from events.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObject</b>
<br>
<span style="">Target</span>
</h2>
<p>If you want this component to work on a different GameObject, then specify it here. This can be used to improve organization if your GameObject already has many components.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Space</b>
<br>
<span style="">Space</span>
</h2>
<p>This allows you to set the coordinate space the translation will use.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DirectionA</span>
</h2>
<p>The first translation direction, used when calling TranslateA or TranslateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">DirectionB</span>
</h2>
<p>The first second direction, used when calling TranslateB or TranslateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The translation distance is multiplied by this.</p><p>1 = Normal distance.</p><p>2 = Double distance.</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="">float</b>
<br>
<span style="">Inertia</span>
</h2>
<p>This allows you to control how much momenum is retained when the dragging fingers are all released.</p><div class="tip"><strong>NOTE</strong>&emsp; This requires <b>Dampening</b> to be above 0.</div>
</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 translation will be multiplied by Time.deltaTime. This allows you to maintain framerate independent movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateA</span>
<br>
<b>float magnitude</b>
</h2>
<p>This method allows you to translate along DirectionA, with the specified multiplier.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateB</span>
<br>
<b>float magnitude</b>
</h2>
<p>This method allows you to translate along DirectionB, with the specified multiplier.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateAB</span>
<br>
<b>Vector2 magnitude</b>
</h2>
<p>This method allows you to translate along DirectionA and DirectionB, with the specified multipliers.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Translate</span>
<br>
<b>Vector3 vector</b>
</h2>
<p>This method allows you to translate along the specified vector in local space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateWorld</span>
<br>
<b>Vector3 vector</b>
</h2>
<p>This method allows you to translate along the specified vector in world space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanManualTranslateRigidbody2D"></a><h2>LeanManualTranslateRigidbody2D</h2><p>This component allows you to translate the specified Rigidbody2D when you call methods like <b>TranslateA</b>, which can be done from events.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObject</b>
<br>
<span style="">Target</span>
</h2>
<p>If you want this component to work on a different GameObject, then specify it here. This can be used to improve organization if your GameObject already has many components.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Space</b>
<br>
<span style="">Space</span>
</h2>
<p>This allows you to set the coordinate space the translation will use.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2</b>
<br>
<span style="">DirectionA</span>
</h2>
<p>The first translation direction, used when calling TranslateA or TranslateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2</b>
<br>
<span style="">DirectionB</span>
</h2>
<p>The first second direction, used when calling TranslateB or TranslateAB.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Multiplier</span>
</h2>
<p>The translation distance is multiplied by this.</p><p>1 = Normal distance.</p><p>2 = Double distance.</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="">ScaleByTime</span>
</h2>
<p>If you enable this then the translation will be multiplied by Time.deltaTime. This allows you to maintain framerate independent movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateA</span>
<br>
<b>float magnitude</b>
</h2>
<p>This method allows you to translate along DirectionA, with the specified multiplier.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateB</span>
<br>
<b>float magnitude</b>
</h2>
<p>This method allows you to translate along DirectionB, with the specified multiplier.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateAB</span>
<br>
<b>Vector2 magnitude</b>
</h2>
<p>This method allows you to translate along DirectionA and DirectionB, with the specified multipliers.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Translate</span>
<br>
<b>Vector3 vector</b>
</h2>
<p>This method allows you to translate along the specified vector in local space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">TranslateWorld</span>
<br>
<b>Vector3 vector</b>
</h2>
<p>This method allows you to translate along the specified vector in world space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanOrbit"></a><h2>LeanOrbit</h2><p>This component controls the current GameObject's rotation, based on the specified Pitch and Yaw values.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>If you want the rotation to be scaled by the camera FOV, then set the camera here.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Pivot</span>
</h2>
<p>The camera will orbit around this point.</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="">float</b>
<br>
<span style="">Pitch</span>
</h2>
<p>Pitch of the rotation in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PitchSensitivity</span>
</h2>
<p>The strength of the pitch changes with vertical finger movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Yaw</span>
</h2>
<p>Yaw of the rotation in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">YawSensitivity</span>
</h2>
<p>The strength of the yaw changes with horizontal finger movement.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPitchYaw"></a><h2>LeanPitchYaw</h2><p>This component controls the current GameObject's rotation, based on the specified Pitch and Yaw values.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Camera</b>
<br>
<span style="">Camera</span>
</h2>
<p>If you want the rotation to be scaled by the camera FOV, then set the camera here.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2</b>
<br>
<span style="">DefaultRotation</span>
</h2>
<p>This allows you to set the Pitch andYaw rotation value when calling the ResetRotation method.</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="">float</b>
<br>
<span style="">Pitch</span>
</h2>
<p>Pitch of the rotation in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PitchSensitivity</span>
</h2>
<p>The strength of the pitch changes with vertical finger movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">PitchClamp</span>
</h2>
<p>Limit the pitch to min/max?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PitchMin</span>
</h2>
<p>The minimum pitch angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">PitchMax</span>
</h2>
<p>The maximum pitch angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Yaw</span>
</h2>
<p>Yaw of the rotation in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">YawSensitivity</span>
</h2>
<p>The strength of the yaw changes with horizontal finger movement.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">YawClamp</span>
</h2>
<p>Limit the yaw to min/max?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">YawMin</span>
</h2>
<p>The minimum yaw angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">YawMax</span>
</h2>
<p>The maximum yaw angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">ResetRotation</span>
<br>
<b></b>
</h2>
<p>This method resets the Pitch and Yaw values to the DefaultRotation value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateToPosition</span>
<br>
<b>Vector3 point</b>
</h2>
<p>This method will automatically update the <b>Pitch</b> and <b>Yaw</b> values based on the specified position in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateToDirection</span>
<br>
<b>Vector3 xyz</b>
</h2>
<p>This method will automatically update the <b>Pitch</b> and <b>Yaw</b> values based on the specified direction in world space.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateToScreenPosition</span>
<br>
<b>Vector2 screenPosition</b>
</h2>
<p>This method will automatically update the <b>Pitch</b> and <b>Yaw</b> values based on the specified position in screen space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPitchYawAutoRotate"></a><h2>LeanPitchYawAutoRotate</h2><p>This component adds auto Yaw rotation to the attached LeanPitchYaw component.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Delay</span>
</h2>
<p>The amount of seconds until auto rotation begins after no touches.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Speed</span>
</h2>
<p>The speed of the yaw changes.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Acceleration</span>
</h2>
<p>The speed the auto rotation goes from 0% to 100%.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanRevertTransform"></a><h2>LeanRevertTransform</h2><p>This script will record the state of the current transform, and revert it on command.</p><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="LeanRotateToPosition"></a><h2>LeanRotateToPosition</h2><p>This component automatically rotates the current GameObject based on movement.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Target</span>
</h2>
<p>The <b>Transform</b> that will be rotated.</p><p>None/Null = This GameObject's Transform.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">PositionType</b>
<br>
<span style="">Position</span>
</h2>
<p>This allows you choose the method used to calculate the position we will rotate toward.</p><p>PreviousPosition = This component will automatically calculate positions based on the <b>Transform.position</b>.</p><p>ManuallySetPosition = You must manually call the <b>SetPosition</b> method to update the rotation.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Threshold</span>
</h2>
<p>This allows you to set the minimum amount of movement required to trigger the rotation to update. This is useful to prevent tiny movements from causing the rotation to change unexpectedly.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Invert</span>
</h2>
<p>If you enable this the rotation will be reversed.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">RotateType</b>
<br>
<span style="">RotateTo</span>
</h2>
<p>This allows you choose the method used to find the target rotation.</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="">SetPosition</span>
<br>
<b>Vector3 position</b>
</h2>
<p>If <b>Position</b> is set to <b>ManuallySetPosition</b>, then this method allows you to set the position we will rotate to.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetDelta</span>
<br>
<b>Vector3 delta</b>
</h2>
<p>This method allows you to override the position delta used to calculate the rotation.</p><div class="tip"><strong>NOTE</strong>&emsp; This should be non-zero.</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">ResetPosition</span>
<br>
<b></b>
</h2>
<p>If your <b>Transform</b> has teleported, then call this to reset the cached position.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanRotateToRigidbody2D"></a><h2>LeanRotateToRigidbody2D</h2><p>This component automatically rotates the current Rigidbody2D based on movement.</p><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="LeanSmoothedValue"></a><h2>LeanSmoothedValue</h2><p>This component allows you to smooth a value that is sent to a component. This is done by first passing the value to this component using one of the <b>SetX/Y/Z</b> methods, and then sending it out after smoothing using the <b>OnValueX/Y/Z</b> events.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Damping</span>
</h2>
<p>This allows you to control how quickly the target value is reached.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Threshold</span>
</h2>
<p>Damping alone won't reach the target value. This setting allows you to force the value to move toward the target with linear interpolation.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">AutoStop</span>
</h2>
<p>If the target value has been reached, stop sending events?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnValueX</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnValueY</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">FloatEvent</b>
<br>
<span style="">OnValueZ</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector2Event</b>
<br>
<span style="">OnValueXY</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3Event</b>
<br>
<span style="">OnValueXYZ</span>
</h2>
<p>This event will send any previously set values after the specified delay.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetX</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to set the X axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetY</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to set the Y axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetZ</span>
<br>
<b>float value</b>
</h2>
<p>This method allows you to set the Z axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetXY</span>
<br>
<b>Vector2 value</b>
</h2>
<p>This method allows you to set the XY axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetXYZ</span>
<br>
<b>Vector3 value</b>
</h2>
<p>This method allows you to set the XYZ axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SnapToTarget</span>
<br>
<b></b>
</h2>
<p>This method will immediately snap the current value to the target value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Stop</span>
<br>
<b></b>
</h2>
<p>This method will reset the target value and stop sending any events.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSpawnBetween"></a><h2>LeanSpawnBetween</h2><p>This component allows you to spawn a prefab at a point, and have it thrown toward the target.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">Prefab</span>
</h2>
<p>The prefab that gets spawned.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">VelocityMultiplier</span>
</h2>
<p>When calling Spawn, this allows you to specify the spawned velocity.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSwap"></a><h2>LeanSwap</h2><p>This component will swap the target GameObject with one of the specified prefabs when swiping.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">Index</span>
</h2>
<p>The current index within the Prefabs list.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">List&lt;Transform&gt;</b>
<br>
<span style="">Prefabs</span>
</h2>
<p>The alternative prefabs that can be swapped to.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">UpdateSwap</span>
<br>
<b></b>
</h2>
<p>This method forces the swap to update if it's been modified.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SwapTo</span>
<br>
<b>int newIndex</b>
</h2>
<p>This method allows you to swap to the specified index.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SwapToPrevious</span>
<br>
<b></b>
</h2>
<p>This method allows you to swap to the previous index.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SwapToNext</span>
<br>
<b></b>
</h2>
<p>This method allows you to swap to the next index.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanThresholdDelta"></a><h2>LeanThresholdDelta</h2><p>This component allows you to accumilate delta changes until they reach a threshold delta, and then output them.</p><p>This is useful for making more precise movements when using inaccurate touch inputs.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Current</span>
</h2>
<p>The current accumilated delta.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Threshold</span>
</h2>
<p>When any dimension of <b>Current</b> exceeds this, <b>OnDelta___</b> will be called, and <b>Current</b> will be rolled back.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Step</span>
</h2>
<p>If you enable this then the delta will step in increments based on the <b>Threshold</b> value. If you disable this then the position will immediately be set to the <b>Current</b> value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddXY</span>
<br>
<b>Vector2 delta</b>
</h2>
<p>This method allows you to increment <b>Current</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddXYZ</span>
<br>
<b>Vector3 delta</b>
</h2>
<p>This method allows you to increment <b>Current</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddX</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increment <b>Current.x</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddY</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increment <b>Current.y</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddZ</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increment <b>Current.z</b>.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanThresholdPosition"></a><h2>LeanThresholdPosition</h2><p>This component allows you to store the <b>Current</b> position. Once this differs from the <b>Previous</b> position by more than the <b>Threshold</b>, the <b>Previous</b> value will change to match <b>Current</b>, and the <b>OnPosition</b> events will fire with the current position.</p><p>This is useful for making more precise movements when using inaccurate touch inputs.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Current</span>
</h2>
<p>The current position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Vector3</b>
<br>
<span style="">Previous</span>
</h2>
<p>The previously sent position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Threshold</span>
</h2>
<p>When any dimension of <b>Current</b> exceeds this, <b>OnPosition___</b> will be called, and <b>Current</b> will be rolled back.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Step</span>
</h2>
<p>If you enable this then the position will step toward the <b>Current</b> value in increments based on the <b>Threshold</b> value. If you disable this then the position will immediately be set to the <b>Current</b> value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddXY</span>
<br>
<b>Vector2 delta</b>
</h2>
<p>This method allows you to increment <b>Current</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddXYZ</span>
<br>
<b>Vector3 delta</b>
</h2>
<p>This method allows you to increment <b>Current</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddX</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increment <b>Current.x</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddY</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increment <b>Current.y</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">AddZ</span>
<br>
<b>float delta</b>
</h2>
<p>This method allows you to increment <b>Current.z</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetXY</span>
<br>
<b>Vector2 position</b>
</h2>
<p>This method allows you to set the <b>Current</b> position.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetXYZ</span>
<br>
<b>Vector3 position</b>
</h2>
<p>This method allows you to set the <b>Current</b> position.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanLoadScene"></a><h2>LeanLoadScene</h2><p>This component allows you to load the specified scene when you manually call the Load method.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">string</b>
<br>
<span style="">SceneName</span>
</h2>
<p>The name of the scene you want to load.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">ASync</span>
</h2>
<p>Load the scene asynchronously?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Additive</span>
</h2>
<p>Keep the existing scene(s) loaded?</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPongBall"></a><h2>LeanPongBall</h2><p>This script moves the ball left or right and resets it if it goes out of bounds.</p><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 Common+?</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="#1.0.0">1.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="#LeanChase">LeanChase</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanChaseRigidbody">LeanChaseRigidbody</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanChaseRigidbody2D">LeanChaseRigidbody2D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainLocalPosition">LeanConstrainLocalPosition</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainScale">LeanConstrainScale</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainToAxis">LeanConstrainToAxis</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainToBox">LeanConstrainToBox</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainToCollider">LeanConstrainToCollider</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainToColliders">LeanConstrainToColliders</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainToDirection">LeanConstrainToDirection</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanConstrainToOrthographic">LeanConstrainToOrthographic</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDelayedValue">LeanDelayedValue</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFollow">LeanFollow</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanMaintainDistance">LeanMaintainDistance</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanManualRotate">LeanManualRotate</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanManualTranslate">LeanManualTranslate</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanManualTranslateRigidbody">LeanManualTranslateRigidbody</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanManualTranslateRigidbody2D">LeanManualTranslateRigidbody2D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanOrbit">LeanOrbit</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPitchYaw">LeanPitchYaw</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPitchYawAutoRotate">LeanPitchYawAutoRotate</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanRevertTransform">LeanRevertTransform</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanRotateToPosition">LeanRotateToPosition</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanRotateToRigidbody2D">LeanRotateToRigidbody2D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSmoothedValue">LeanSmoothedValue</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSpawnBetween">LeanSpawnBetween</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSwap">LeanSwap</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanThresholdDelta">LeanThresholdDelta</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanThresholdPosition">LeanThresholdPosition</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanLoadScene">LeanLoadScene</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPongBall">LeanPongBall</a></p>
<br><br>
</div>
<div style="background-color: #0075D0; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 20px;">
</div>
</body>
</html>