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

743 lines
166 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 Common - Documentation - 1.0.1</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="GetLeanGUI"></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="GetLeanTransition"></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="GetPaintIn3D"></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="GetLeanPool"></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="GetSpaceGraphicsToolkit"></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="GetLeanTouch"></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="GetLeanLocalization"></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="GetLeanGUIShapes"></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="GetDestructible2D"></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="GetPlanetPack"></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="GetLeanTouchPlus"></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="GetVolumetricAudio"></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.1"></a><h2>1.0.1</h2><p>Updated <b>LeanEditor</b> to support inspectors based on <b>SerializedProperty</b>.</p><br><br></div><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="LeanEditor"></a><h2>LeanEditor</h2><p>This is the base class for all inspectors.</p><br><br></div><div style="overflow:hidden;"><a name="LeanHelper"></a><h2>LeanHelper</h2><p>This class contains useful methods used in almost all <b>LeanTouch</b> code.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">static GameObject</b>
<br>
<span style="">CreateAsset</span>
<br>
<b>string name</b>
</h2>
<p>This method creates an empty GameObject prefab at the current asset folder</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">static T</b>
<br>
<span style="">CreateElement&lt;T&gt;</span>
<br>
<b>Transform parent</b>
</h2>
<p>This method allows you to create a UI element with the specified component and specified parent, with behavior consistent with Unity's built-in UI element creation.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">static float</b>
<br>
<span style="">GetDampenFactor</span>
<br>
<b>float damping, float elapsed</b>
</h2>
<p>This method gives you the time-independent 't' value for lerp when used for dampening. This returns 1 in edit mode, or if dampening is less than 0.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">static T</b>
<br>
<span style="">Destroy&lt;T&gt;</span>
<br>
<b>T o</b>
</h2>
<p>This method allows you to destroy the target object in game and in edit mode, and it returns null.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">static T</b>
<br>
<span style="">GetObjectFromSerializedProperty&lt;T&gt;</span>
<br>
<b>object target, SerializedProperty property</b>
</h2>
<p>This method gives you the actual object behind a SerializedProperty given to you by a property drawer.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanInput"></a><h2>LeanInput</h2><p>This class wraps <b>UnityEngine.Input</b> and <b>UnityEngine.InputSystem</b> so they can both be used from the same interface.</p><br><br></div><div style="overflow:hidden;"><a name="LeanDestroy"></a><h2>LeanDestroy</h2><p>This component allows you to destroy a GameObject.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">ExecuteType</b>
<br>
<span style="">Execute</span>
</h2>
<p>This allows you to control when the <b>Target</b> GameObject will be destroyed.</p><p>OnFirstFrame = As soon as Update runs (this component must be enabled).</p><p>AfterDelay = After the specified amount of <b>Seconds</b> has elapsed.</p><p>AfterDelayUnscaled = The same as AfterDelay, but using unscaledDeltaTime.</p><p>Manually = You must manually call the <b>DestroyNow</b> method.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">GameObject</b>
<br>
<span style="">Target</span>
</h2>
<p>The GameObject that will be destroyed.</p><p>None/null = This GameObject.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Seconds</span>
</h2>
<p>The amount of seconds remaining until the GameObject is destroyed.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">DestroyNow</span>
<br>
<b></b>
</h2>
<p>You can manually call this method to destroy the specified GameObject immediately.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanFormatString"></a><h2>LeanFormatString</h2><p>This component allows you to convert values like ints and floats into formatted text that can be shown in the UI. To use this component, simply call one of the <b>SetString</b> methods, and it will output the formatted string to the <b>OnString</b> event, which can be connected to UI text, etc.</b></p><div style="padding-left:75px;"><br>
<h2>
<b style="">string</b>
<br>
<span style="">Format</span>
</h2>
<p>The final text will use this string formatting, where {0} is the first value, {1} is the second, etc. Formatting uses standard <b>string.Format</b> style.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">StringEvent</b>
<br>
<span style="">OnString</span>
</h2>
<p>Based on the <b>Send</b> setting, this event will be invoked.</p><p>String = The .</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>string a</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>string a, string b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>int a</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>int a, int b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>float a</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>float a, float b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>Vector2 a</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>Vector2 a, Vector2 b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>Vector3 a</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>Vector3 a, Vector3 b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>Vector4 a</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>Vector4 a, Vector4 b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>float a, int b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">SetString</span>
<br>
<b>int a, float b</b>
</h2>
<p>This method will convert the input arguments into a formatted string, and output it to the <b>OnString</b> event.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPath"></a><h2>LeanPath</h2><p>This component stores a list of points that form a path.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">List&lt;Vector3&gt;</b>
<br>
<span style="">Points</span>
</h2>
<p>The points along the path.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">Loop</span>
</h2>
<p>Do these points loop back to the start?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Space</b>
<br>
<span style="">Space</span>
</h2>
<p>The coordinate system for the points.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">Smoothing</span>
</h2>
<p>The amount of lines between each path point when read from LeanScreenDepth.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LineRenderer</b>
<br>
<span style="">Visual</span>
</h2>
<p>This allows you to draw a visual of the path using a <b>LineRenderer</b>.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanPlane"></a><h2>LeanPlane</h2><p>This component stores information about a 3D plane. By default this plane lays on the XY axis, or faces the Z axis.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">ClampX</span>
</h2>
<p>Should the plane be clamped on the x axis?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">ClampY</span>
</h2>
<p>Should the plane be clamped on the y axis?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">SnapX</span>
</h2>
<p>The distance between each position snap on the x axis.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">SnapY</span>
</h2>
<p>The distance between each position snap on the x axis.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanRoll"></a><h2>LeanRoll</h2><p>This component rotates the current GameObject based on the current Angle value.</p><div class="tip"><strong>NOTE</strong>&emsp; This component overrides and takes over the rotation of this GameObject, so you can no longer externally influence it.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">Angle</span>
</h2>
<p>The current angle 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 <b>Angle</b> 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 <b>Angle</b> value.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">float</b>
<br>
<span style="">ClampMax</span>
</h2>
<p>The maximum <b>Angle</b> value.</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="">IncrementAngle</span>
<br>
<b>float delta</b>
</h2>
<p>The <b>Angle</b> value will be incremented by the specified angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">DecrementAngle</span>
<br>
<b>float delta</b>
</h2>
<p>The <b>Angle</b> value will be decremented by the specified angle in degrees.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">RotateToDelta</span>
<br>
<b>Vector2 delta</b>
</h2>
<p>This method will update the Angle value based on the specified vector.</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 angle to its target value.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelect"></a><h2>LeanSelect</h2><p>This is the base class for all object selectors.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">DeselectWithNothing</span>
</h2>
<p>If you attempt to select a point that has no objects underneath, should all currently selected objects be deselected?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LimitType</b>
<br>
<span style="">Limit</span>
</h2>
<p>If you have selected the maximum number of objects, what should happen?</p><p>Unlimited = Always allow selection.</p><p>StopAtMax = Allow selection up to the <b>MaxSelectables</b> count, then do nothing.</p><p>DeselectFirst = Always allow selection, but deselect the first object when the <b>MaxSelectables</b> count is reached.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">MaxSelectables</span>
</h2>
<p>The maximum number of selectables that can be selected at the same time.</p><p>0 = Unlimited.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">ReselectType</b>
<br>
<span style="">Reselect</span>
</h2>
<p>If you select an already selected selectable, what should happen?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">List&lt;LeanSelectable&gt;</b>
<br>
<span style="">Selectables</span>
</h2>
<p>This stores all objects selected by this component.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectableEvent</b>
<br>
<span style="">OnSelected</span>
</h2>
<p>This is invoked when an object is selected.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectableEvent</b>
<br>
<span style="">OnDeselected</span>
</h2>
<p>This is invoked when an object is deselected.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnNothing</span>
</h2>
<p>This is invoked when you try to select, but nothing is found.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Select</span>
<br>
<b>LeanSelectable selectable</b>
</h2>
<p>This will select the specified object and add it to this component's <b>Selectables</b> list, if it isn't already there.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Deselect</span>
<br>
<b>LeanSelectable selectable</b>
</h2>
<p>This remove the specified object from this component's <b>Selectables</b> list if present, and deselect it.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">DeselectAll</span>
<br>
<b></b>
</h2>
<p>This will deselect all objects that were selected by this component.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Cull</span>
<br>
<b>int maxCount</b>
</h2>
<p>This will deselect objects in chronological order until the selected object count reaches the specified amount.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectable"></a><h2>LeanSelectable</h2><p>This component allows you make the current GameObject selectable.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnSelected</span>
</h2>
<p>This is invoked every time this object is selected.</p><div class="tip"><strong>NOTE</strong>&emsp; This may occur multiple times.</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">UnityEvent</b>
<br>
<span style="">OnDeselected</span>
</h2>
<p>This is invoked every time this object is deselected.</p><div class="tip"><strong>NOTE</strong>&emsp; This may occur multiple times.</div>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">int</b>
<br>
<span style="">SelectedCount</span>
</h2>
<p>This will tell you how many <b>LeanSelect</b> components in the scene currently have this object selected.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">IsSelected</span>
</h2>
<p>This will tell you if this object is self selected, or selected by any <b>LeanSelect</b> components in the scene.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">static void</b>
<br>
<span style="">DeselectAll</span>
<br>
<b></b>
</h2>
<p>This deselects all objects in the scene.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableBehaviour"></a><h2>LeanSelectableBehaviour</h2><p>This is the base class for all components that need to implement some kind of special logic when selected. You can do this manually without this class, but this makes it much easier.</p><div class="tip"><strong>NOTE</strong>&emsp; This component will register and unregister the associated LeanSelectable in OnEnable and OnDisable.</div><div style="padding-left:75px;"><br>
<h2>
<b style="">LeanSelectable</b>
<br>
<span style="">Selectable</span>
</h2>
<p>This tells you which LeanSelectable is currently associated with this component.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Register</span>
<br>
<b></b>
</h2>
<p>This method allows you to manually register the LeanSelectable this component is associated with. This is useful if you're manually spawning and attaching children from code.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Register</span>
<br>
<b>LeanSelectable newSelectable</b>
</h2>
<p>This method allows you to manually register the LeanSelectable this component is associated with.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Unregister</span>
<br>
<b></b>
</h2>
<p>This method allows you to manually register the LeanSelectable this component is associated with. This is useful if you're changing the associated LeanSelectable.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableGraphicColor"></a><h2>LeanSelectableGraphicColor</h2><p>This component allows you to change the color of the Graphic (e.g. Image) attached to the current GameObject when selected.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">DefaultColor</span>
</h2>
<p>The default color given to the SpriteRenderer.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">SelectedColor</span>
</h2>
<p>The color given to the SpriteRenderer when selected.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableRendererColor"></a><h2>LeanSelectableRendererColor</h2><p>This component allows you to change the color of the Renderer (e.g. MeshRenderer) attached to the current GameObject when selected.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">DefaultColor</span>
</h2>
<p>The default color given to the SpriteRenderer.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">SelectedColor</span>
</h2>
<p>The color given to the SpriteRenderer when selected.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSelectableSpriteRendererColor"></a><h2>LeanSelectableSpriteRendererColor</h2><p>This component allows you to change the color of the SpriteRenderer attached to the current GameObject when selected.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">DefaultColor</span>
</h2>
<p>The default color given to the SpriteRenderer.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Color</b>
<br>
<span style="">SelectedColor</span>
</h2>
<p>The color given to the SpriteRenderer when selected.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanSpawn"></a><h2>LeanSpawn</h2><p>This component allows you to spawn a prefab at the specified world point.</p><div class="tip"><strong>NOTE</strong>&emsp; For this component to work you must manually call the <b>Spawn</b> method 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="">SourceType</b>
<br>
<span style="">DefaultPosition</span>
</h2>
<p>If you call <b>Spawn()</b>, where should the position come from?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">SourceType</b>
<br>
<span style="">DefaultRotation</span>
</h2>
<p>If you call <b>Spawn()</b>, where should the rotation come from?</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Spawn</span>
<br>
<b></b>
</h2>
<p>This will spawn <b>Prefab</b> at the current <b>Transform.position</b>.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">void</b>
<br>
<span style="">Spawn</span>
<br>
<b>Vector3 position</b>
</h2>
<p>This will spawn <b>Prefab</b> at the specified position in world space.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanDemo"></a><h2>LeanDemo</h2><p>This component is used by all the demo scenes to perform common tasks. Including modifying the current scene to make it look consistent between different rendering pipelines.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">bool</b>
<br>
<span style="">UpgradeInputModule</span>
</h2>
<p>If you enable this setting and your project is running with the new InputSystem then the <b>EventSystem's InputModule</b> component will be upgraded.</p>
</div><br><div style="padding-left:75px;"><br>
<h2>
<b style="">Transform</b>
<br>
<span style="">SkyboxRoot</span>
</h2>
<p>If you set this then the specified skybox will be placed on top of the main camera.</p>
</div><br><br><br></div><div style="overflow:hidden;"><a name="LeanLinkTo"></a><h2>LeanLinkTo</h2><p>This component turns the current UI element into a button that will perform a common action you specify.</p><div style="padding-left:75px;"><br>
<h2>
<b style="">LinkType</b>
<br>
<span style="">Link</span>
</h2>
<p>The action that will be performed when clicked.</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 Common?</a></p>
<br><br>
<h2 style="padding-bottom: 5px;">Assets</h2>
<p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanGUI">Lean GUI</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanTransition">Lean Transition</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetPaintIn3D">Paint in 3D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanPool">Lean Pool</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetSpaceGraphicsToolkit">Space Graphics Toolkit</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanTouch">Lean Touch</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanLocalization">Lean Localization</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanGUIShapes">Lean GUI Shapes</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetDestructible2D">Destructible 2D</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetPlanetPack">Planet Pack - Space Graphics Toolkit</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetLeanTouchPlus">Lean Touch+</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#GetVolumetricAudio">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.1">1.0.1</a></p><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="#LeanEditor">LeanEditor</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanHelper">LeanHelper</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanInput">LeanInput</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDestroy">LeanDestroy</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanFormatString">LeanFormatString</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPath">LeanPath</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanPlane">LeanPlane</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanRoll">LeanRoll</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSelect">LeanSelect</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSelectable">LeanSelectable</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSelectableBehaviour">LeanSelectableBehaviour</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSelectableGraphicColor">LeanSelectableGraphicColor</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSelectableRendererColor">LeanSelectableRendererColor</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSelectableSpriteRendererColor">LeanSelectableSpriteRendererColor</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanSpawn">LeanSpawn</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanDemo">LeanDemo</a></p><p style="margin: 2px; padding-left: 10px; text-indent: -10px;"><a href="#LeanLinkTo">LeanLinkTo</a></p>
<br><br>
</div>
<div style="background-color: #0075D0; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 20px;">
</div>
</body>
</html>