├── UnityPackageManager └── manifest.json ├── ProjectSettings ├── ProjectVersion.txt ├── ClusterInputManager.asset ├── NetworkManager.asset ├── TimeManager.asset ├── UnityAdsSettings.asset ├── AudioManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── DynamicsManager.asset ├── UnityConnectSettings.asset ├── TagManager.asset ├── Physics2DSettings.asset ├── GraphicsSettings.asset ├── NavMeshAreas.asset ├── NavMeshLayers.asset ├── QualitySettings.asset ├── InputManager.asset └── ProjectSettings.asset ├── Assets ├── Mosframe │ ├── Examples │ │ ├── Example-01.unity.meta │ │ ├── Example-02.unity.meta │ │ ├── Resources │ │ │ ├── icon_01.png │ │ │ ├── icon_02.png │ │ │ ├── icon_03.png │ │ │ ├── icon_04.png │ │ │ ├── icon_05.png │ │ │ ├── icon_06.png │ │ │ ├── icon_07.png │ │ │ ├── icon_08.png │ │ │ ├── icon_09.png │ │ │ ├── icon_10.png │ │ │ ├── icon_11.png │ │ │ ├── icon_12.png │ │ │ ├── icon_13.png │ │ │ ├── icon_14.png │ │ │ ├── icon_15.png │ │ │ ├── icon_16.png │ │ │ ├── icon_17.png │ │ │ ├── icon_18.png │ │ │ ├── icon_19.png │ │ │ ├── icon_20.png │ │ │ ├── icon_01.png.meta │ │ │ ├── icon_02.png.meta │ │ │ ├── icon_03.png.meta │ │ │ ├── icon_04.png.meta │ │ │ ├── icon_05.png.meta │ │ │ ├── icon_06.png.meta │ │ │ ├── icon_07.png.meta │ │ │ ├── icon_08.png.meta │ │ │ ├── icon_09.png.meta │ │ │ ├── icon_10.png.meta │ │ │ ├── icon_11.png.meta │ │ │ ├── icon_12.png.meta │ │ │ ├── icon_13.png.meta │ │ │ ├── icon_14.png.meta │ │ │ ├── icon_15.png.meta │ │ │ ├── icon_16.png.meta │ │ │ ├── icon_17.png.meta │ │ │ ├── icon_18.png.meta │ │ │ ├── icon_19.png.meta │ │ │ └── icon_20.png.meta │ │ ├── Resources.meta │ │ ├── Example-03.unity.meta │ │ ├── Item.cs.meta │ │ ├── Item2.cs.meta │ │ ├── RealTimeInsertItemExample.cs.meta │ │ ├── RealTimeInsertItemExample2.cs.meta │ │ ├── Item.cs │ │ ├── Item2.cs │ │ ├── RealTimeInsertItemExample.cs │ │ └── RealTimeInsertItemExample2.cs │ ├── Examples.meta │ ├── Readme.txt.meta │ ├── Common.meta │ ├── Editor.meta │ ├── Extensions.meta │ ├── ScrollView.meta │ ├── ScrollView │ │ ├── DynamicScrollView.cs.meta │ │ ├── DynamicHScrollView.cs.meta │ │ ├── DynamicVScrollView.cs.meta │ │ ├── DynamicScrollViewItem.cs.meta │ │ ├── DynamicScrollViewItemExample.cs.meta │ │ ├── DynamicScrollViewItem.cs │ │ ├── DynamicScrollViewItemExample.cs │ │ ├── DynamicVScrollView.cs │ │ ├── DynamicHScrollView.cs │ │ └── DynamicScrollView.cs │ ├── Common │ │ ├── HtmlColor.cs.meta │ │ ├── RichText.cs.meta │ │ ├── ScrollbarHandleSize.cs.meta │ │ ├── HtmlColorExtensions.cs.meta │ │ ├── HtmlColor.cs │ │ ├── HtmlColorExtensions.cs │ │ ├── ScrollbarHandleSize.cs │ │ └── RichText.cs │ ├── Extensions │ │ ├── GameObjectEx.cs.meta │ │ ├── RectTransformEx.cs.meta │ │ ├── GameObjectEx.cs │ │ └── RectTransformEx.cs │ ├── Editor │ │ ├── DynamicScrollViewEditor.cs.meta │ │ └── DynamicScrollViewEditor.cs │ └── Readme.txt └── Mosframe.meta ├── README.md ├── .gitignore └── LICENSE /UnityPackageManager/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.3.8f2 2 | m_StandardAssetsVersion: 0 3 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Example-01.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 824b10af922d8455e88c2587d460c08f 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Example-02.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99872d8d12bdfb14989d6475587e3202 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19b35664c319e4750a4739d170d6f582 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity Dynamic ScrollView 2 | Unity Dynamic ScrollView 3 | 4 | AssetStore : https://www.assetstore.unity3d.com/#!/content/101107 5 | 6 | 7 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_01.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_02.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_03.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_04.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_05.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_06.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_07.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_08.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_09.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_10.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_11.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_12.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_13.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_14.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_15.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_16.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_17.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_18.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_19.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mosframe/Unity-DynamicScrollView/HEAD/Assets/Mosframe/Examples/Resources/icon_20.png -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0503c3a1773864d52bb42f40906dc71f 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /Assets/Mosframe/Readme.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b82c66d5c9db90489bbf92d146c4b36 3 | timeCreated: 1507980306 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Example-03.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 757184b047652084eb255d818a10349d 3 | timeCreated: 1548991739 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Mosframe.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46dabc75dfa66344db82f2e6c67b904e 3 | folderAsset: yes 4 | timeCreated: 1505960841 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ed5b118a84c9524b82bd6f578337702 3 | folderAsset: yes 4 | timeCreated: 1506410940 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Mosframe/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9785f3420d397f43b87cbcf4c4e8114 3 | folderAsset: yes 4 | timeCreated: 1548978615 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Mosframe/Extensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10ba05dcdeae22d499a3a25de5b8e2fb 3 | folderAsset: yes 4 | timeCreated: 1505969850 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23f24e2f65b7b48478aa8be01500efc6 3 | folderAsset: yes 4 | timeCreated: 1506212022 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Item.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c4e7f2281b324cf8a299ca3463d6426 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /ProjectSettings/UnityAdsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!292 &1 4 | UnityAdsSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_InitializeOnStartup: 1 8 | m_TestMode: 0 9 | m_EnabledPlatforms: 4294967295 10 | m_IosGameId: 11 | m_AndroidGameId: 12 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicScrollView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55ee90ec6edf44b2ca37b39bfdaa30ab 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | m_DisableAudio: 0 13 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Mosframe/Examples/Example-01.unity 10 | guid: 824b10af922d8455e88c2587d460c08f 11 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/HtmlColor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bc41398f5e7b9a45beaf22a1219d80e 3 | timeCreated: 1506241846 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/RichText.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e0fd8b7e95e00a4d8dbf3f254993e70 3 | timeCreated: 1506241810 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Item2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3cca307046d77f4ab5a0cd5872ba09d 3 | timeCreated: 1511312574 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/ScrollbarHandleSize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a696741c0c2ef434f809a04e5fe08291 3 | timeCreated: 1506411015 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Extensions/GameObjectEx.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e8ce833b438bb5448150aa8c8bfebb4 3 | timeCreated: 1506215823 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Extensions/RectTransformEx.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 564c083b4509d3849b81504543720043 3 | timeCreated: 1506410941 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/HtmlColorExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e5708e297d567e408a9c15ac27197bd 3 | timeCreated: 1548977908 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Editor/DynamicScrollViewEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8a296edd1f041c4aa4eb539ce0a0fba 3 | timeCreated: 1548978606 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicHScrollView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86bfed4dcb5acc64db55d25d5ebd570a 3 | timeCreated: 1506153596 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicVScrollView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a7adea30b31ee949bd2f7e0be4f0a4a 3 | timeCreated: 1506153596 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/RealTimeInsertItemExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c32935001cd421d4abc861fac1fdd141 3 | timeCreated: 1511311095 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/RealTimeInsertItemExample2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee75df87a1623cd4f92cdc9cc4d77eb2 3 | timeCreated: 1548991815 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicScrollViewItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d4bfb4582d34604aa4c64fb2f47c24f 3 | timeCreated: 1506212440 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicScrollViewItemExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1761064394b0cca43b5808bfff4108ba 3 | timeCreated: 1506159243 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicScrollViewItem.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * IDynamicScrollViewItem.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | /// 11 | /// DynamicScrollView Item interface 12 | /// 13 | public interface IDynamicScrollViewItem { 14 | void onUpdateItem( int index ); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 1 12 | m_SpritePackerMode: 2 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | *.unitypackage 35 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepVelocity: .150000006 10 | m_SleepAngularVelocity: .140000001 11 | m_MaxAngularVelocity: 7 12 | m_MinPenetrationForPenalty: .00999999978 13 | m_SolverIterationCount: 6 14 | m_RaycastsHitTriggers: 1 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicScrollViewItemExample.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * DynamicScrollViewItemExample.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | using UnityEngine.EventSystems; 12 | using UnityEngine.UI; 13 | 14 | public class DynamicScrollViewItemExample : UIBehaviour, IDynamicScrollViewItem 15 | { 16 | private readonly Color[] colors = new Color[] { 17 | Color.cyan, 18 | Color.green, 19 | }; 20 | 21 | public Text title; 22 | public Image background; 23 | 24 | public void onUpdateItem( int index ) { 25 | 26 | this.title.text = string.Format("Name{0:d3}", (index + 1) ); 27 | this.background.color = this.colors[Mathf.Abs(index) % this.colors.Length]; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Assets/Mosframe/Extensions/GameObjectEx.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * GameObjectEx.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe 9 | { 10 | using UnityEngine; 11 | 12 | /// 13 | /// GameObject Extention 14 | /// 15 | public static class GameObjectEx 16 | { 17 | /// 18 | /// set layer 19 | /// 20 | public static void setLayer( this GameObject self, int layer, bool includeChildren = true ) 21 | { 22 | self.layer = layer; 23 | if( includeChildren ) 24 | { 25 | var children = self.transform.GetComponentsInChildren(true); 26 | for( var c=0; c( (Mathf.Abs(index) % 20 + 1).ToString("icon_00") ); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | tags: 6 | - 7 | Builtin Layer 0: Default 8 | Builtin Layer 1: TransparentFX 9 | Builtin Layer 2: Ignore Raycast 10 | Builtin Layer 3: 11 | Builtin Layer 4: Water 12 | Builtin Layer 5: UI 13 | Builtin Layer 6: 14 | Builtin Layer 7: 15 | User Layer 8: 16 | User Layer 9: 17 | User Layer 10: 18 | User Layer 11: 19 | User Layer 12: 20 | User Layer 13: 21 | User Layer 14: 22 | User Layer 15: 23 | User Layer 16: 24 | User Layer 17: 25 | User Layer 18: 26 | User Layer 19: 27 | User Layer 20: 28 | User Layer 21: 29 | User Layer 22: 30 | User Layer 23: 31 | User Layer 24: 32 | User Layer 25: 33 | User Layer 26: 34 | User Layer 27: 35 | User Layer 28: 36 | User Layer 29: 37 | User Layer 30: 38 | User Layer 31: 39 | m_SortingLayers: 40 | - name: Default 41 | userID: 0 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_MinPenetrationForPenalty: .00999999978 16 | m_BaumgarteScale: .200000003 17 | m_BaumgarteTimeOfImpactScale: .75 18 | m_TimeToSleep: .5 19 | m_LinearSleepTolerance: .00999999978 20 | m_AngularSleepTolerance: 2 21 | m_RaycastsHitTriggers: 1 22 | m_RaycastsStartInColliders: 1 23 | m_ChangeStopsCallbacks: 1 24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 JHL 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Assets/Mosframe/Editor/DynamicScrollViewEditor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * DynamicScrollViewEditor.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | namespace Mosframe { 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using UnityEngine; 12 | using UnityEditor; 13 | 14 | /// 15 | /// Editor 16 | /// 17 | public class DynamicScrollViewEditor { 18 | 19 | 20 | [MenuItem( "GameObject/UI/Dynamic H Scroll View" )] 21 | public static void CreateHorizontal () { 22 | 23 | var go = new GameObject( "Horizontal Scroll View", typeof(RectTransform) ); 24 | go.transform.SetParent( Selection.activeTransform, false ); 25 | go.AddComponent().init(); 26 | } 27 | 28 | [MenuItem( "GameObject/UI/Dynamic V Scroll View" )] 29 | public static void CreateVertical () { 30 | 31 | var go = new GameObject( "Vertical Scroll View", typeof(RectTransform) ); 32 | go.transform.SetParent( Selection.activeTransform, false ); 33 | go.AddComponent().init(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicVScrollView.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * DynamicVScrollView.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | 12 | /// 13 | /// Dynamic Vertical Scroll View 14 | /// 15 | [AddComponentMenu("UI/Dynamic V Scroll View")] 16 | public class DynamicVScrollView : DynamicScrollView { 17 | 18 | protected override float contentAnchoredPosition { get { return -this.contentRect.anchoredPosition.y; } set { this.contentRect.anchoredPosition = new Vector2( this.contentRect.anchoredPosition.x, -value ); } } 19 | protected override float contentSize { get { return this.contentRect.rect.height; } } 20 | protected override float viewportSize { get { return this.viewportRect.rect.height;} } 21 | protected override float itemSize { get { return this.itemPrototype.rect.height;} } 22 | 23 | public override void init () { 24 | 25 | this.direction = Direction.Vertical; 26 | base.init(); 27 | } 28 | protected override void Awake() { 29 | 30 | base.Awake(); 31 | this.direction = Direction.Vertical; 32 | } 33 | protected override void Start () { 34 | 35 | base.Start(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicHScrollView.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * DynamicHScrollView.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | 12 | /// 13 | /// Dynamic Horizontal Scroll View 14 | /// 15 | [AddComponentMenu("UI/Dynamic H Scroll View")] 16 | public class DynamicHScrollView : DynamicScrollView { 17 | 18 | protected override float contentAnchoredPosition { get { return this.contentRect.anchoredPosition.x; } set { this.contentRect.anchoredPosition = new Vector2( value, this.contentRect.anchoredPosition.y ); } } 19 | protected override float contentSize { get { return this.contentRect.rect.width; } } 20 | protected override float viewportSize { get { return this.viewportRect.rect.width; } } 21 | protected override float itemSize { get { return this.itemPrototype.rect.width;} } 22 | 23 | public override void init () { 24 | 25 | this.direction = Direction.Horizontal; 26 | base.init(); 27 | } 28 | protected override void Awake() { 29 | 30 | base.Awake(); 31 | this.direction = Direction.Horizontal; 32 | } 33 | protected override void Start () { 34 | 35 | base.Start(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_LegacyDeferred: 14 | m_Mode: 1 15 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 16 | m_AlwaysIncludedShaders: 17 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 18 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 19 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 20 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 21 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 22 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 23 | m_PreloadedShaders: [] 24 | m_ShaderSettings: 25 | useScreenSpaceShadows: 1 26 | m_BuildTargetShaderSettings: [] 27 | m_LightmapStripping: 0 28 | m_FogStripping: 0 29 | m_LightmapKeepPlain: 1 30 | m_LightmapKeepDirCombined: 1 31 | m_LightmapKeepDirSeparate: 1 32 | m_LightmapKeepDynamicPlain: 1 33 | m_LightmapKeepDynamicDirCombined: 1 34 | m_LightmapKeepDynamicDirSeparate: 1 35 | m_FogKeepLinear: 1 36 | m_FogKeepExp: 1 37 | m_FogKeepExp2: 1 38 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_01.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 055bcaa8757f83f4292964d65ba121c1 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_02.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 852e8ad0aeb7e2048bd8b780862f1b32 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_03.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51f5cb4f5ab7e25479fe11182908755b 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_04.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60ca63aa8d566c04fbd4749b81914a59 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_05.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 661fce84aaacf1c439bfd3f7f59f510c 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_06.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc09d2ddb5592f14e876f6e4ab774647 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_07.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 788da2fe58b20964983a01a36cdf2ca2 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_08.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b7daf6c43431904796be351b54c35a0 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_09.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d2148464968215428b3046e8a627939 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_10.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b08b28649f0c68145bd5666d70a86749 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_11.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a88abcd7da044a4cbca617ab163d951 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_12.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0047f3be50c2e964cbea6cf34af60831 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_13.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d3d0c309e09a9f438a2a619a80d83ce 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_14.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27119c37788878046964ce53d1a226cb 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_15.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ca3cc86c2cd8bc4391fadad78aafd01 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_16.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c3c66c7bce1cc147b5b8662121fc146 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_17.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa369e366c767de4b97550763c6df1f0 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_18.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b1eb80639bb92f439a39a65e393ab4c 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_19.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e23d075decfc5d46b61c83959cbb882 3 | timeCreated: 1506130937 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Resources/icon_20.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e93f5fef21e365f4e938b2b89cd30cb4 3 | timeCreated: 1506130938 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 0 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 7 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | spriteMode: 1 41 | spriteExtrude: 1 42 | spriteMeshType: 1 43 | alignment: 0 44 | spritePivot: {x: 0.5, y: 0.5} 45 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 46 | spritePixelsToUnits: 100 47 | alphaIsTransparency: 1 48 | textureType: 8 49 | buildTargetSettings: [] 50 | spriteSheet: 51 | serializedVersion: 2 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: icons 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/HtmlColor.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * HtmlColor.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | 12 | /// 13 | /// HTML Color Tags 14 | /// Reference : https://docs.unity3d.com/Manual/StyledText.html 15 | /// 16 | public class HtmlColor { 17 | 18 | public const string Aqua = "#00ffffff"; 19 | public const string Black = "#000000ff"; 20 | public const string Blue = "#0000ffff"; 21 | public const string Brown = "#a52a2aff"; 22 | public const string Cyan = "#00ffffff"; 23 | public const string DarkBlue = "#0000a0ff"; 24 | public const string Green = "#008000ff"; 25 | public const string LightGrey = "#A0A0A0ff"; 26 | public const string Grey = "#808080ff"; 27 | public const string DarkGrey = "#404040ff"; 28 | public const string LightBlue = "#add8e6ff"; 29 | public const string Lime = "#00ff00ff"; 30 | public const string Magenta = "#ff00ffff"; 31 | public const string Maroon = "#800000ff"; 32 | public const string Navy = "#000080ff"; 33 | public const string Olive = "#808000ff"; 34 | public const string Orange = "#ffa500ff"; 35 | public const string Purple = "#800080ff"; 36 | public const string Red = "#ff0000ff"; 37 | public const string Silver = "#c0c0c0ff"; 38 | public const string Teal = "#008080ff"; 39 | public const string White = "#ffffffff"; 40 | public const string Yellow = "#ffff00ff"; 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/HtmlColorExtensions.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * HtmlColorExtensions.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | 12 | /// 13 | /// Extensions 14 | /// 15 | public static class HtmlColorExtensions { 16 | 17 | 18 | /// Color32 to HtmlColor 19 | public static string toHtmlColor( this Color32 self ) { 20 | 21 | return string.Format("#{0:x02}{1:x02}{2:x02}{3:x02}", self.r, self.g, self.b, self.a ); 22 | } 23 | /// Color to HtmlColor 24 | public static string toHtmlColor( this Color self ) { 25 | 26 | var color32 = (Color32)self; 27 | return string.Format("#{0:x02}{1:x02}{2:x02}{3:x02}", color32.r, color32.g, color32.b, color32.a ); 28 | } 29 | 30 | /// int(RGB) to HtmlColor 31 | public static string toHtmlColor( this int self ) { 32 | 33 | return string.Format("#{0:x02}{1:x02}{2:x02}ff", (self & 0x00FF0000) >> 16, (self & 0x0000FF00) >> 8, (self & 0x000000FF) >> 0); 34 | } 35 | 36 | /// uint(ARGB) to HtmlColor 37 | public static string toHtmlColor( this uint self ) { 38 | 39 | return string.Format("#{0:x02}{1:x02}{2:x02}{3:x02}", (self & 0x00FF0000) >> 16, (self & 0x0000FF00) >> 8, (self & 0x000000FF) >> 0, (self & 0xFF000000) >> 24); 40 | } 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/ScrollbarHandleSize.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * ScrollbarHandleSize.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | using UnityEngine.EventSystems; 12 | using UnityEngine.UI; 13 | 14 | /// 15 | /// Scrollbar Handle Size Controller 16 | /// 17 | [DisallowMultipleComponent] 18 | [RequireComponent(typeof(ScrollRect))] 19 | public class ScrollbarHandleSize : UIBehaviour 20 | { 21 | public float maxSize = 1.0f; 22 | public float minSize = 0.1f; 23 | 24 | private ScrollRect scrollRect; 25 | 26 | // Awake 27 | 28 | protected override void Awake() { 29 | base.Awake(); 30 | this.scrollRect = this.GetComponent(); 31 | } 32 | 33 | // OnEnable 34 | 35 | protected override void OnEnable() { 36 | this.scrollRect.onValueChanged.AddListener( this.onValueChanged ); 37 | } 38 | 39 | // OnDisable 40 | 41 | protected override void OnDisable() { 42 | this.scrollRect.onValueChanged.RemoveListener( this.onValueChanged ); 43 | } 44 | 45 | // onValueChanged event 46 | 47 | public void onValueChanged( Vector2 value ) { 48 | 49 | var hScrollbar = this.scrollRect.horizontalScrollbar; 50 | if( hScrollbar!=null ) { 51 | if( hScrollbar.size > this.maxSize ) { 52 | hScrollbar.size = this.maxSize; 53 | } 54 | else 55 | if( hScrollbar.size < this.minSize ) { 56 | hScrollbar.size = this.minSize; 57 | } 58 | } 59 | 60 | var vScrollbar = this.scrollRect.verticalScrollbar; 61 | if( vScrollbar!=null ) { 62 | if( vScrollbar.size > this.maxSize ) { 63 | vScrollbar.size = this.maxSize; 64 | } 65 | else 66 | if( vScrollbar.size < this.minSize ) { 67 | vScrollbar.size = this.minSize; 68 | } 69 | } 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/Item2.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * Item2.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using UnityEngine; 11 | using UnityEngine.EventSystems; 12 | using UnityEngine.UI; 13 | 14 | public class Item2 : UIBehaviour, IDynamicScrollViewItem 15 | { 16 | private readonly Color[] colors = new Color[] { 17 | Color.cyan, 18 | Color.green, 19 | }; 20 | 21 | public Image icon; 22 | public Text title; 23 | public Button button; 24 | public Image background; 25 | 26 | private int dataIndex = -1; 27 | 28 | protected override void OnEnable () { 29 | 30 | base.OnEnable(); 31 | this.button.onClick.AddListener( this.onClick ); 32 | } 33 | 34 | protected override void OnDisable () { 35 | 36 | base.OnDisable(); 37 | this.button.onClick.RemoveListener( this.onClick ); 38 | } 39 | 40 | public void onUpdateItem( int index ) { 41 | 42 | if( RealTimeInsertItemExample.I.data.Count > index ) { 43 | 44 | this.dataIndex = index; 45 | this.updateItem(); 46 | } 47 | } 48 | 49 | public void onClick () { 50 | 51 | if( this.dataIndex == -1 ) return; 52 | var data = RealTimeInsertItemExample.I.data[ this.dataIndex ]; 53 | data.on = !data.on; 54 | 55 | this.updateItem(); 56 | } 57 | 58 | 59 | private void updateItem () { 60 | 61 | if( this.dataIndex == -1 ) return; 62 | 63 | var data = RealTimeInsertItemExample.I.data[ this.dataIndex ]; 64 | 65 | this.background.color = this.colors[Mathf.Abs(this.dataIndex) % this.colors.Length]; 66 | this.icon.sprite = Resources.Load( (Mathf.Abs(this.dataIndex) % 20 + 1).ToString("icon_00") ); 67 | 68 | if( data.on ) { 69 | this.title.text = data.name + "(" + data.value +")"; 70 | } else { 71 | this.title.text = data.name + "(" + this.dataIndex.ToString("000") +")"; 72 | } 73 | 74 | var buttonText = this.button.GetComponentInChildren(); 75 | if( buttonText != null ) { 76 | buttonText.text = data.on ? "ON" : "OFF"; 77 | } 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/RealTimeInsertItemExample.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * RealTimeInsertItemExample.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using System; 11 | using System.Collections; 12 | using System.Collections.Generic; 13 | 14 | using UnityEngine; 15 | using UnityEngine.UI; 16 | using UnityEngine.SceneManagement; 17 | 18 | /// 19 | /// RealTimeInsertItemExample 20 | /// 21 | public class RealTimeInsertItemExample : MonoBehaviour { 22 | 23 | public static RealTimeInsertItemExample I; 24 | 25 | public class CustomData { 26 | 27 | public string name; 28 | public string value; 29 | public bool on; 30 | } 31 | 32 | public List data = new List(); 33 | 34 | public DynamicScrollView scrollView; 35 | //public int dataIndex = 1; 36 | //public string dataName = "Insert01"; 37 | //public int dataValue = 100; 38 | 39 | 40 | public InputField indexInput; 41 | public InputField titleInput; 42 | public InputField valueInput; 43 | public Button insertButton; 44 | 45 | 46 | private void Awake () { 47 | I = this; 48 | } 49 | 50 | 51 | private void Start() { 52 | 53 | // sample insert 54 | 55 | this.insertItem( 0, new CustomData{ name="data00", value="value0", on=true } ); 56 | this.insertItem( 0, new CustomData{ name="data01", value="value1", on=true } ); 57 | 58 | // register click event to InsertButton 59 | 60 | this.insertButton.onClick.AddListener( this.onClick_InsertButton ); 61 | } 62 | 63 | public void insertItem( int index, CustomData data ) { 64 | 65 | // set custom data 66 | 67 | I.data.Insert( index, data ); 68 | 69 | this.scrollView.totalItemCount = I.data.Count; 70 | } 71 | 72 | public void onClick_InsertButton () { 73 | 74 | this.insertItem( int.Parse(this.indexInput.text), new CustomData{ name=this.titleInput.text, value=this.valueInput.text, on=true } ); 75 | } 76 | 77 | } 78 | 79 | //#if UNITY_EDITOR 80 | // 81 | //[UnityEditor.CustomEditor(typeof(RealTimeInsertItemExample))] 82 | //public class RealTimeAddItemExampleEditor : UnityEditor.Editor { 83 | // 84 | // public override void OnInspectorGUI() { 85 | // base.OnInspectorGUI(); 86 | // 87 | // if( Application.isPlaying ) { 88 | // 89 | // if( GUILayout.Button("Insert") ) { 90 | // 91 | // var example = (RealTimeInsertItemExample)this.target; 92 | // example.insertItem(example.dataIndex, new RealTimeInsertItemExample.CustomData{ name=example.dataName, value=example.dataValue } ); 93 | // } 94 | // } 95 | // } 96 | //} 97 | // 98 | //#endif 99 | } -------------------------------------------------------------------------------- /Assets/Mosframe/Examples/RealTimeInsertItemExample2.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * RealTimeInsertItemExample.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using System; 11 | using System.Collections; 12 | using System.Collections.Generic; 13 | 14 | using UnityEngine; 15 | using UnityEngine.UI; 16 | using UnityEngine.SceneManagement; 17 | 18 | /// 19 | /// RealTimeInsertItemExample 20 | /// 21 | public class RealTimeInsertItemExample2 : MonoBehaviour { 22 | 23 | public static RealTimeInsertItemExample2 I; 24 | 25 | public class CustomData { 26 | 27 | public string name; 28 | public string value; 29 | public bool on; 30 | } 31 | 32 | public List data = new List(); 33 | 34 | public DynamicScrollView scrollView; 35 | //public int dataIndex = 1; 36 | //public string dataName = "Insert01"; 37 | //public int dataValue = 100; 38 | 39 | 40 | public InputField indexInput; 41 | public InputField titleInput; 42 | public InputField valueInput; 43 | public Button insertButton; 44 | public InputField scrollInput; 45 | public Button scrollButton; 46 | 47 | 48 | private void Awake () { 49 | I = this; 50 | } 51 | 52 | 53 | private void Start() { 54 | 55 | // sample insert 56 | 57 | this.insertItem( 0, new CustomData{ name="data00", value="value0", on=true } ); 58 | this.insertItem( 0, new CustomData{ name="data01", value="value1", on=true } ); 59 | 60 | // register click event to InsertButton 61 | 62 | this.insertButton.onClick.AddListener( this.onClick_InsertButton ); 63 | this.scrollButton.onClick.AddListener( this.onClick_ScrollButton ); 64 | } 65 | 66 | public void insertItem( int index, CustomData data ) { 67 | 68 | // set custom data 69 | 70 | I.data.Insert( index, data ); 71 | 72 | this.scrollView.totalItemCount = I.data.Count; 73 | } 74 | 75 | public void onClick_InsertButton () { 76 | 77 | this.insertItem( int.Parse(this.indexInput.text), new CustomData{ name=this.titleInput.text, value=this.valueInput.text, on=true } ); 78 | } 79 | public void onClick_ScrollButton () { 80 | 81 | this.scrollView.scrollByItemIndex( Convert.ToInt32(this.scrollInput.text) ); 82 | } 83 | 84 | } 85 | 86 | //#if UNITY_EDITOR 87 | // 88 | //[UnityEditor.CustomEditor(typeof(RealTimeInsertItemExample))] 89 | //public class RealTimeAddItemExampleEditor : UnityEditor.Editor { 90 | // 91 | // public override void OnInspectorGUI() { 92 | // base.OnInspectorGUI(); 93 | // 94 | // if( Application.isPlaying ) { 95 | // 96 | // if( GUILayout.Button("Insert") ) { 97 | // 98 | // var example = (RealTimeInsertItemExample)this.target; 99 | // example.insertItem(example.dataIndex, new RealTimeInsertItemExample.CustomData{ name=example.dataName, value=example.dataValue } ); 100 | // } 101 | // } 102 | // } 103 | //} 104 | // 105 | //#endif 106 | } -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 3 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Fastest 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | blendWeights: 1 18 | textureQuality: 1 19 | anisotropicTextures: 0 20 | antiAliasing: 0 21 | softParticles: 0 22 | softVegetation: 0 23 | vSyncCount: 0 24 | lodBias: .300000012 25 | maximumLODLevel: 0 26 | particleRaycastBudget: 4 27 | excludedTargetPlatforms: [] 28 | - serializedVersion: 2 29 | name: Fast 30 | pixelLightCount: 0 31 | shadows: 0 32 | shadowResolution: 0 33 | shadowProjection: 1 34 | shadowCascades: 1 35 | shadowDistance: 20 36 | blendWeights: 2 37 | textureQuality: 0 38 | anisotropicTextures: 0 39 | antiAliasing: 0 40 | softParticles: 0 41 | softVegetation: 0 42 | vSyncCount: 0 43 | lodBias: .400000006 44 | maximumLODLevel: 0 45 | particleRaycastBudget: 16 46 | excludedTargetPlatforms: [] 47 | - serializedVersion: 2 48 | name: Simple 49 | pixelLightCount: 1 50 | shadows: 1 51 | shadowResolution: 0 52 | shadowProjection: 1 53 | shadowCascades: 1 54 | shadowDistance: 20 55 | blendWeights: 2 56 | textureQuality: 0 57 | anisotropicTextures: 1 58 | antiAliasing: 0 59 | softParticles: 0 60 | softVegetation: 0 61 | vSyncCount: 0 62 | lodBias: .699999988 63 | maximumLODLevel: 0 64 | particleRaycastBudget: 64 65 | excludedTargetPlatforms: [] 66 | - serializedVersion: 2 67 | name: Good 68 | pixelLightCount: 2 69 | shadows: 2 70 | shadowResolution: 1 71 | shadowProjection: 1 72 | shadowCascades: 2 73 | shadowDistance: 40 74 | blendWeights: 2 75 | textureQuality: 0 76 | anisotropicTextures: 1 77 | antiAliasing: 0 78 | softParticles: 0 79 | softVegetation: 1 80 | vSyncCount: 1 81 | lodBias: 1 82 | maximumLODLevel: 0 83 | particleRaycastBudget: 256 84 | excludedTargetPlatforms: [] 85 | - serializedVersion: 2 86 | name: Beautiful 87 | pixelLightCount: 3 88 | shadows: 2 89 | shadowResolution: 2 90 | shadowProjection: 1 91 | shadowCascades: 2 92 | shadowDistance: 70 93 | blendWeights: 4 94 | textureQuality: 0 95 | anisotropicTextures: 2 96 | antiAliasing: 2 97 | softParticles: 1 98 | softVegetation: 1 99 | vSyncCount: 1 100 | lodBias: 1.5 101 | maximumLODLevel: 0 102 | particleRaycastBudget: 1024 103 | excludedTargetPlatforms: [] 104 | - serializedVersion: 2 105 | name: Fantastic 106 | pixelLightCount: 4 107 | shadows: 2 108 | shadowResolution: 2 109 | shadowProjection: 1 110 | shadowCascades: 4 111 | shadowDistance: 150 112 | blendWeights: 4 113 | textureQuality: 0 114 | anisotropicTextures: 2 115 | antiAliasing: 2 116 | softParticles: 1 117 | softVegetation: 1 118 | vSyncCount: 1 119 | lodBias: 2 120 | maximumLODLevel: 0 121 | particleRaycastBudget: 4096 122 | excludedTargetPlatforms: [] 123 | m_PerPlatformDefaultQuality: 124 | Android: 2 125 | BlackBerry: 2 126 | FlashPlayer: 3 127 | GLES Emulation: 3 128 | PS3: 3 129 | PS4: 3 130 | PSM: 3 131 | PSP2: 3 132 | Samsung TV: 2 133 | Standalone: 3 134 | Tizen: 2 135 | WP8: 3 136 | Web: 3 137 | Windows Store Apps: 3 138 | XBOX360: 3 139 | XboxOne: 3 140 | iPhone: 2 141 | -------------------------------------------------------------------------------- /Assets/Mosframe/Common/RichText.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * RichText.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using System.Text; 11 | 12 | /// 13 | /// RichText 14 | /// 15 | 16 | public class RichText { 17 | 18 | public class Token { 19 | 20 | public const string Bold = "b" ; 21 | public const string Italic = "i" ; 22 | public const string Size = "size" ; 23 | public const string Color = "color" ; 24 | } 25 | 26 | public static string Bold ( object obj ) { return Tag( obj, Token.Bold ); } 27 | public static string Italic ( object obj ) { return Tag( obj, Token.Italic ); } 28 | public static string Size ( object obj, int size ) { return Tag( obj, Token.Size , size ); } 29 | public static string Color ( object obj, string color ) { return Tag( obj, Token.Color, color ); } 30 | 31 | // fixed colors 32 | 33 | public static string Aqua ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Aqua ); } 34 | public static string Black ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Black ); } 35 | public static string Blue ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Blue ); } 36 | public static string Brown ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Brown ); } 37 | public static string Cyan ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Cyan ); } 38 | public static string DarkBlue ( object obj ) { return Tag( obj, Token.Color, HtmlColor.DarkBlue ); } 39 | public static string Green ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Green ); } 40 | public static string Grey ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Grey ); } 41 | public static string LightBlue ( object obj ) { return Tag( obj, Token.Color, HtmlColor.LightBlue ); } 42 | public static string Lime ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Lime ); } 43 | public static string Magenta ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Magenta ); } 44 | public static string Maroon ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Maroon ); } 45 | public static string Navy ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Navy ); } 46 | public static string Olive ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Olive ); } 47 | public static string Orange ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Orange ); } 48 | public static string Purple ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Purple ); } 49 | public static string Red ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Red ); } 50 | public static string Silver ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Silver ); } 51 | public static string Teal ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Teal ); } 52 | public static string White ( object obj ) { return Tag( obj, Token.Color, HtmlColor.White ); } 53 | public static string Yellow ( object obj ) { return Tag( obj, Token.Color, HtmlColor.Yellow ); } 54 | 55 | 56 | private static string Tag ( object obj, string token, object attribute=null ) { 57 | 58 | var sb = new StringBuilder(); 59 | if( obj != null ) { 60 | var text = obj.ToString(); 61 | var texts = text.Split('\n'); 62 | if( attribute == null ) { 63 | sb.Append("<").Append(token).Append(">").Append( texts[0] ).Append(""); 64 | for( var i=1; i").Append( texts[i] ).Append(""); 66 | } 67 | } else { 68 | sb.Append("<").Append(token).Append("=").Append(attribute).Append(">").Append( texts[0] ).Append(""); 69 | for( var i=1; i").Append( texts[i] ).Append(""); 71 | } 72 | } 73 | } 74 | return sb.ToString(); 75 | } 76 | 77 | 78 | public class OpenTags { 79 | 80 | public static string Bold = string.Format("<{0}>", Token.Bold ); 81 | public static string Italic = string.Format("<{0}>", Token.Italic); 82 | public static string Size = string.Format("<{0}=", Token.Size ); 83 | public static string Color = string.Format("<{0}=", Token.Color ); 84 | } 85 | 86 | public class CloseTags { 87 | 88 | public static string Bold = string.Format("", Token.Bold ); 89 | public static string Italic = string.Format("", Token.Italic); 90 | public static string Size = string.Format("", Token.Size ); 91 | public static string Color = string.Format("", Token.Color ); 92 | } 93 | } 94 | } 95 | 96 | -------------------------------------------------------------------------------- /Assets/Mosframe/Extensions/RectTransformEx.cs: -------------------------------------------------------------------------------- 1 | /** 2 | * RectTransformEx.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe 9 | { 10 | using UnityEngine; 11 | 12 | /// 13 | /// RectTransform Extention 14 | /// 15 | public static class RectTransformEx 16 | { 17 | /// 18 | /// 최대 사이즈로 설정 19 | /// 20 | public static RectTransform setFullSize( this RectTransform self ) { 21 | 22 | self.sizeDelta = new Vector2(0.0f,0.0f); 23 | self.anchorMin = new Vector2(0.0f,0.0f); 24 | self.anchorMax = new Vector2(1.0f,1.0f); 25 | self.pivot = new Vector2(0.5f,0.5f); 26 | return self; 27 | } 28 | 29 | /// 30 | /// 사이즈 얻기 31 | /// 32 | public static Vector2 getSize( this RectTransform self ) { 33 | return self.rect.size; 34 | } 35 | 36 | /// 37 | /// 사이즈 설정 38 | /// 39 | public static void setSize( this RectTransform self, Vector2 newSize ) { 40 | 41 | var pivot = self.pivot; 42 | var dist = newSize - self.rect.size; 43 | self.offsetMin = self.offsetMin - new Vector2( dist.x * pivot.x, dist.y * pivot.y ); 44 | self.offsetMax = self.offsetMax + new Vector2( dist.x * (1f - pivot.x), dist.y * (1f - pivot.y) ); 45 | } 46 | 47 | /// 48 | /// 좌측기준으로 크기설정 49 | /// 50 | public static RectTransform setSizeFromLeft( this RectTransform self, float rate ) { 51 | 52 | self.setFullSize(); 53 | 54 | var width = self.rect.width; 55 | 56 | self.anchorMin = new Vector2(0.0f,0.0f); 57 | self.anchorMax = new Vector2(0.0f,1.0f); 58 | self.pivot = new Vector2(0.0f,1.0f); 59 | self.sizeDelta = new Vector2(width*rate,0.0f); 60 | 61 | return self; 62 | } 63 | 64 | /// 65 | /// 우측기준으로 크기설정 66 | /// 67 | public static RectTransform setSizeFromRight( this RectTransform self, float rate ) { 68 | 69 | self.setFullSize(); 70 | 71 | var width = self.rect.width; 72 | 73 | self.anchorMin = new Vector2(1.0f,0.0f); 74 | self.anchorMax = new Vector2(1.0f,1.0f); 75 | self.pivot = new Vector2(1.0f,1.0f); 76 | self.sizeDelta = new Vector2(width*rate,0.0f); 77 | 78 | return self; 79 | } 80 | 81 | /// 82 | /// 상단기준으로 크기설정 83 | /// 84 | public static RectTransform setSizeFromTop( this RectTransform self, float rate ) { 85 | 86 | self.setFullSize(); 87 | 88 | var height = self.rect.height; 89 | 90 | self.anchorMin = new Vector2(0.0f,1.0f); 91 | self.anchorMax = new Vector2(1.0f,1.0f); 92 | self.pivot = new Vector2(0.0f,1.0f); 93 | self.sizeDelta = new Vector2(0.0f,height*rate); 94 | 95 | return self; 96 | } 97 | 98 | /// 99 | /// 하단 기준으로 크기설정 100 | /// 101 | public static RectTransform setSizeFromBottom( this RectTransform self, float rate ) { 102 | 103 | self.setFullSize(); 104 | 105 | var height = self.rect.height; 106 | 107 | self.anchorMin = new Vector2(0.0f,0.0f); 108 | self.anchorMax = new Vector2(1.0f,0.0f); 109 | self.pivot = new Vector2(0.0f,0.0f); 110 | self.sizeDelta = new Vector2(0.0f,height*rate); 111 | 112 | return self; 113 | } 114 | 115 | /// 116 | /// 오프셋 설정 117 | /// 118 | public static void setOffset( this RectTransform self, float left, float top, float right, float bottom ) { 119 | 120 | self.offsetMin = new Vector2( left, top ); 121 | self.offsetMax = new Vector2( right, bottom ); 122 | } 123 | 124 | /// 125 | /// 스크린 좌표가 Rect안에 포함되는지 확인 126 | /// 127 | public static bool inScreenRect( this RectTransform self, Vector2 screenPos ) { 128 | 129 | var canvas = self.GetComponentInParent(); 130 | switch( canvas.renderMode ) 131 | { 132 | case RenderMode.ScreenSpaceCamera: 133 | { 134 | var camera = canvas.worldCamera; 135 | if( camera != null ) 136 | { 137 | return RectTransformUtility.RectangleContainsScreenPoint( self, screenPos, camera ); 138 | } 139 | } 140 | break; 141 | case RenderMode.ScreenSpaceOverlay: 142 | return RectTransformUtility.RectangleContainsScreenPoint( self, screenPos ); 143 | case RenderMode.WorldSpace: 144 | return RectTransformUtility.RectangleContainsScreenPoint( self, screenPos ); 145 | } 146 | return false; 147 | } 148 | 149 | /// 150 | /// 다른 RectTransform이 RectTransform안에 포함되는지 확인 151 | /// 152 | public static bool inScreenRect( this RectTransform self, RectTransform rectTransform ) { 153 | 154 | var rect1 = getScreenRect( self ); 155 | var rect2 = getScreenRect( rectTransform ); 156 | return rect1.Overlaps( rect2 ); 157 | } 158 | 159 | /// 160 | /// 스크린좌표 Rect를 얻는다. 161 | /// 162 | public static Rect getScreenRect( this RectTransform self ) { 163 | 164 | var rect = new Rect(); 165 | var canvas = self.GetComponentInParent(); 166 | var camera = canvas.worldCamera; 167 | if( camera != null ) 168 | { 169 | var corners = new Vector3[4]; 170 | self.GetWorldCorners( corners ); 171 | rect.min = camera.WorldToScreenPoint( corners[0] ); 172 | rect.max = camera.WorldToScreenPoint( corners[2] ); 173 | } 174 | return rect; 175 | } 176 | } 177 | } -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: .00100000005 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: .00100000005 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: .00100000005 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: .00100000005 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left cmd 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: .00100000005 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: .00100000005 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: .100000001 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: .100000001 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: .100000001 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: .189999998 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: .189999998 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: .00100000005 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: .00100000005 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: .00100000005 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: .00100000005 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: .00100000005 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: .00100000005 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: .00100000005 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 8 7 | AndroidProfiler: 0 8 | defaultScreenOrientation: 4 9 | targetDevice: 2 10 | useOnDemandResources: 0 11 | accelerometerFrequency: 0 12 | companyName: Mosframe 13 | productName: Unity-DynamicScrollView 14 | defaultCursor: {fileID: 0} 15 | cursorHotspot: {x: 0, y: 0} 16 | m_ShowUnitySplashScreen: 1 17 | m_VirtualRealitySplashScreen: {fileID: 0} 18 | defaultScreenWidth: 1024 19 | defaultScreenHeight: 768 20 | defaultScreenWidthWeb: 960 21 | defaultScreenHeightWeb: 600 22 | m_RenderingPath: 1 23 | m_MobileRenderingPath: 1 24 | m_ActiveColorSpace: 0 25 | m_MTRendering: 1 26 | m_MobileMTRendering: 0 27 | m_Stereoscopic3D: 0 28 | iosShowActivityIndicatorOnLoading: -1 29 | androidShowActivityIndicatorOnLoading: -1 30 | iosAppInBackgroundBehavior: 0 31 | displayResolutionDialog: 1 32 | iosAllowHTTPDownload: 1 33 | allowedAutorotateToPortrait: 1 34 | allowedAutorotateToPortraitUpsideDown: 1 35 | allowedAutorotateToLandscapeRight: 0 36 | allowedAutorotateToLandscapeLeft: 0 37 | useOSAutorotation: 1 38 | use32BitDisplayBuffer: 1 39 | disableDepthAndStencilBuffers: 0 40 | defaultIsFullScreen: 1 41 | defaultIsNativeResolution: 1 42 | runInBackground: 1 43 | captureSingleScreen: 0 44 | Override IPod Music: 0 45 | muteOtherAudioSources: 0 46 | Prepare IOS For Recording: 0 47 | submitAnalytics: 1 48 | usePlayerLog: 1 49 | bakeCollisionMeshes: 0 50 | forceSingleInstance: 0 51 | resizableWindow: 0 52 | useMacAppStoreValidation: 0 53 | gpuSkinning: 0 54 | xboxPIXTextureCapture: 0 55 | xboxEnableAvatar: 0 56 | xboxEnableKinect: 0 57 | xboxEnableKinectAutoTracking: 0 58 | xboxEnableFitness: 0 59 | visibleInBackground: 0 60 | allowFullscreenSwitch: 1 61 | macFullscreenMode: 2 62 | d3d9FullscreenMode: 1 63 | d3d11FullscreenMode: 1 64 | xboxSpeechDB: 0 65 | xboxEnableHeadOrientation: 0 66 | xboxEnableGuest: 0 67 | xboxEnablePIXSampling: 0 68 | xboxEnableEnableRenderThreadRunsJobs: 0 69 | n3dsDisableStereoscopicView: 0 70 | n3dsEnableSharedListOpt: 1 71 | n3dsEnableVSync: 0 72 | uiUse16BitDepthBuffer: 0 73 | ignoreAlphaClear: 0 74 | xboxOneResolution: 0 75 | xboxOneMonoLoggingLevel: 0 76 | xboxOneLoggingLevel: 1 77 | ps3SplashScreen: {fileID: 0} 78 | videoMemoryForVertexBuffers: 0 79 | psp2PowerMode: 0 80 | psp2AcquireBGM: 1 81 | wiiUTVResolution: 0 82 | wiiUGamePadMSAA: 1 83 | wiiUSupportsNunchuk: 0 84 | wiiUSupportsClassicController: 0 85 | wiiUSupportsBalanceBoard: 0 86 | wiiUSupportsMotionPlus: 0 87 | wiiUSupportsProController: 0 88 | wiiUAllowScreenCapture: 1 89 | wiiUControllerCount: 0 90 | m_SupportedAspectRatios: 91 | 4:3: 1 92 | 5:4: 1 93 | 16:10: 1 94 | 16:9: 1 95 | Others: 1 96 | bundleIdentifier: com.Company.ProductName 97 | bundleVersion: 1.2 98 | preloadedAssets: [] 99 | metroEnableIndependentInputSource: 0 100 | metroEnableLowLatencyPresentationAPI: 0 101 | xboxOneDisableKinectGpuReservation: 0 102 | virtualRealitySupported: 0 103 | productGUID: 9885f522e30254fb3af155d282864524 104 | AndroidBundleVersionCode: 1 105 | AndroidMinSdkVersion: 16 106 | AndroidPreferredInstallLocation: 1 107 | aotOptions: 108 | apiCompatibilityLevel: 2 109 | stripEngineCode: 1 110 | iPhoneStrippingLevel: 0 111 | iPhoneScriptCallOptimization: 0 112 | iPhoneBuildNumber: 0 113 | ForceInternetPermission: 0 114 | ForceSDCardPermission: 0 115 | CreateWallpaper: 0 116 | APKExpansionFiles: 0 117 | preloadShaders: 0 118 | StripUnusedMeshComponents: 0 119 | VertexChannelCompressionMask: 120 | serializedVersion: 2 121 | m_Bits: 238 122 | iPhoneSdkVersion: 988 123 | iPhoneTargetOSVersion: 22 124 | tvOSSdkVersion: 0 125 | tvOSTargetOSVersion: 900 126 | uIPrerenderedIcon: 0 127 | uIRequiresPersistentWiFi: 0 128 | uIRequiresFullScreen: 1 129 | uIStatusBarHidden: 1 130 | uIExitOnSuspend: 0 131 | uIStatusBarStyle: 0 132 | iPhoneSplashScreen: {fileID: 0} 133 | iPhoneHighResSplashScreen: {fileID: 0} 134 | iPhoneTallHighResSplashScreen: {fileID: 0} 135 | iPhone47inSplashScreen: {fileID: 0} 136 | iPhone55inPortraitSplashScreen: {fileID: 0} 137 | iPhone55inLandscapeSplashScreen: {fileID: 0} 138 | iPadPortraitSplashScreen: {fileID: 0} 139 | iPadHighResPortraitSplashScreen: {fileID: 0} 140 | iPadLandscapeSplashScreen: {fileID: 0} 141 | iPadHighResLandscapeSplashScreen: {fileID: 0} 142 | appleTVSplashScreen: {fileID: 0} 143 | tvOSSmallIconLayers: [] 144 | tvOSLargeIconLayers: [] 145 | tvOSTopShelfImageLayers: [] 146 | iOSLaunchScreenType: 0 147 | iOSLaunchScreenPortrait: {fileID: 0} 148 | iOSLaunchScreenLandscape: {fileID: 0} 149 | iOSLaunchScreenBackgroundColor: 150 | serializedVersion: 2 151 | rgba: 0 152 | iOSLaunchScreenFillPct: 1 153 | iOSLaunchScreenSize: 100 154 | iOSLaunchScreenCustomXibPath: 155 | iOSLaunchScreeniPadType: 0 156 | iOSLaunchScreeniPadImage: {fileID: 0} 157 | iOSLaunchScreeniPadBackgroundColor: 158 | serializedVersion: 2 159 | rgba: 0 160 | iOSLaunchScreeniPadFillPct: 100 161 | iOSLaunchScreeniPadSize: 100 162 | iOSLaunchScreeniPadCustomXibPath: 163 | iOSDeviceRequirements: [] 164 | appleDeveloperTeamID: 165 | iOSManualSigningProvisioningProfileID: 166 | tvOSManualSigningProvisioningProfileID: 167 | appleEnableAutomaticSigning: 0 168 | AndroidTargetDevice: 0 169 | AndroidSplashScreenScale: 0 170 | androidSplashScreen: {fileID: 0} 171 | AndroidKeystoreName: 172 | AndroidKeyaliasName: 173 | AndroidTVCompatibility: 1 174 | AndroidIsGame: 1 175 | androidEnableBanner: 1 176 | m_AndroidBanners: 177 | - width: 320 178 | height: 180 179 | banner: {fileID: 0} 180 | androidGamepadSupportLevel: 0 181 | resolutionDialogBanner: {fileID: 0} 182 | m_BuildTargetIcons: 183 | - m_BuildTarget: 184 | m_Icons: 185 | - serializedVersion: 2 186 | m_Icon: {fileID: 0} 187 | m_Width: 128 188 | m_Height: 128 189 | m_BuildTargetBatching: 190 | - m_BuildTarget: iPhone 191 | m_StaticBatching: 0 192 | m_DynamicBatching: 0 193 | m_BuildTargetGraphicsAPIs: 194 | - m_BuildTarget: AndroidPlayer 195 | m_APIs: 08000000 196 | m_Automatic: 0 197 | webPlayerTemplate: APPLICATION:Default 198 | m_TemplateCustomTags: {} 199 | wiiUTitleID: 0005000011000000 200 | wiiUGroupID: 00010000 201 | wiiUCommonSaveSize: 4096 202 | wiiUAccountSaveSize: 2048 203 | wiiUOlvAccessKey: 0 204 | wiiUTinCode: 0 205 | wiiUJoinGameId: 0 206 | wiiUJoinGameModeMask: 0000000000000000 207 | wiiUCommonBossSize: 0 208 | wiiUAccountBossSize: 0 209 | wiiUAddOnUniqueIDs: [] 210 | wiiUMainThreadStackSize: 3072 211 | wiiULoaderThreadStackSize: 1024 212 | wiiUSystemHeapSize: 128 213 | wiiUTVStartupScreen: {fileID: 0} 214 | wiiUGamePadStartupScreen: {fileID: 0} 215 | wiiUDrcBufferDisabled: 0 216 | wiiUProfilerLibPath: 217 | actionOnDotNetUnhandledException: 1 218 | enableInternalProfiler: 0 219 | logObjCUncaughtExceptions: 1 220 | enableCrashReportAPI: 0 221 | cameraUsageDescription: 222 | locationUsageDescription: 223 | microphoneUsageDescription: 224 | XboxTitleId: 225 | XboxImageXexPath: 226 | XboxSpaPath: 227 | XboxGenerateSpa: 0 228 | XboxDeployKinectResources: 0 229 | XboxSplashScreen: {fileID: 0} 230 | xboxEnableSpeech: 0 231 | xboxAdditionalTitleMemorySize: 0 232 | xboxDeployKinectHeadOrientation: 0 233 | xboxDeployKinectHeadPosition: 0 234 | ps3TitleConfigPath: 235 | ps3DLCConfigPath: 236 | ps3ThumbnailPath: 237 | ps3BackgroundPath: 238 | ps3SoundPath: 239 | ps3NPAgeRating: 12 240 | ps3TrophyCommId: 241 | ps3NpCommunicationPassphrase: 242 | ps3TrophyPackagePath: 243 | ps3BootCheckMaxSaveGameSizeKB: 128 244 | ps3TrophyCommSig: 245 | ps3SaveGameSlots: 1 246 | ps3TrialMode: 0 247 | ps3VideoMemoryForAudio: 0 248 | ps3EnableVerboseMemoryStats: 0 249 | ps3UseSPUForUmbra: 0 250 | ps3EnableMoveSupport: 1 251 | ps3DisableDolbyEncoding: 0 252 | ps4NPAgeRating: 12 253 | ps4NPTitleSecret: 254 | ps4NPTrophyPackPath: 255 | ps4ParentalLevel: 1 256 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 257 | ps4Category: 0 258 | ps4MasterVersion: 01.00 259 | ps4AppVersion: 01.00 260 | ps4AppType: 0 261 | ps4ParamSfxPath: 262 | ps4VideoOutPixelFormat: 0 263 | ps4VideoOutInitialWidth: 1920 264 | ps4VideoOutReprojectionRate: 120 265 | ps4PronunciationXMLPath: 266 | ps4PronunciationSIGPath: 267 | ps4BackgroundImagePath: 268 | ps4StartupImagePath: 269 | ps4SaveDataImagePath: 270 | ps4SdkOverride: 271 | ps4BGMPath: 272 | ps4ShareFilePath: 273 | ps4ShareOverlayImagePath: 274 | ps4PrivacyGuardImagePath: 275 | ps4NPtitleDatPath: 276 | ps4RemotePlayKeyAssignment: -1 277 | ps4RemotePlayKeyMappingDir: 278 | ps4PlayTogetherPlayerCount: 0 279 | ps4EnterButtonAssignment: 1 280 | ps4ApplicationParam1: 0 281 | ps4ApplicationParam2: 0 282 | ps4ApplicationParam3: 0 283 | ps4ApplicationParam4: 0 284 | ps4DownloadDataSize: 0 285 | ps4GarlicHeapSize: 2048 286 | ps4Passcode: uxrjc6sFfN9YODFQ2954sQwUibDS2ioH 287 | ps4UseDebugIl2cppLibs: 0 288 | ps4pnSessions: 1 289 | ps4pnPresence: 1 290 | ps4pnFriends: 1 291 | ps4pnGameCustomData: 1 292 | playerPrefsSupport: 0 293 | restrictedAudioUsageRights: 0 294 | ps4UseResolutionFallback: 0 295 | ps4ReprojectionSupport: 0 296 | ps4UseAudio3dBackend: 0 297 | ps4SocialScreenEnabled: 0 298 | ps4ScriptOptimizationLevel: 3 299 | ps4Audio3dVirtualSpeakerCount: 14 300 | ps4attribCpuUsage: 0 301 | ps4PatchPkgPath: 302 | ps4PatchLatestPkgPath: 303 | ps4PatchChangeinfoPath: 304 | ps4PatchDayOne: 0 305 | ps4attribUserManagement: 0 306 | ps4attribMoveSupport: 0 307 | ps4attrib3DSupport: 0 308 | ps4attribShareSupport: 0 309 | ps4attribExclusiveVR: 0 310 | ps4disableAutoHideSplash: 0 311 | ps4IncludedModules: [] 312 | monoEnv: 313 | psp2Splashimage: {fileID: 0} 314 | psp2NPTrophyPackPath: 315 | psp2NPSupportGBMorGJP: 0 316 | psp2NPAgeRating: 12 317 | psp2NPTitleDatPath: 318 | psp2NPCommsID: 319 | psp2NPCommunicationsID: 320 | psp2NPCommsPassphrase: 321 | psp2NPCommsSig: 322 | psp2ParamSfxPath: 323 | psp2ManualPath: 324 | psp2LiveAreaGatePath: 325 | psp2LiveAreaBackroundPath: 326 | psp2LiveAreaPath: 327 | psp2LiveAreaTrialPath: 328 | psp2PatchChangeInfoPath: 329 | psp2PatchOriginalPackage: 330 | psp2PackagePassword: 5xr84P2R391UXaLHbavJvFZGfO47XWS2 331 | psp2KeystoneFile: 332 | psp2MemoryExpansionMode: 0 333 | psp2DRMType: 0 334 | psp2StorageType: 0 335 | psp2MediaCapacity: 0 336 | psp2DLCConfigPath: 337 | psp2ThumbnailPath: 338 | psp2BackgroundPath: 339 | psp2SoundPath: 340 | psp2TrophyCommId: 341 | psp2TrophyPackagePath: 342 | psp2PackagedResourcesPath: 343 | psp2SaveDataQuota: 10240 344 | psp2ParentalLevel: 1 345 | psp2ShortTitle: Not Set 346 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF 347 | psp2Category: 0 348 | psp2MasterVersion: 01.00 349 | psp2AppVersion: 01.00 350 | psp2TVBootMode: 0 351 | psp2EnterButtonAssignment: 2 352 | psp2TVDisableEmu: 0 353 | psp2AllowTwitterDialog: 1 354 | psp2Upgradable: 0 355 | psp2HealthWarning: 0 356 | psp2UseLibLocation: 0 357 | psp2InfoBarOnStartup: 0 358 | psp2InfoBarColor: 0 359 | psp2UseDebugIl2cppLibs: 0 360 | psmSplashimage: {fileID: 0} 361 | spritePackerPolicy: 362 | scriptingDefineSymbols: {} 363 | metroPackageName: UITest 364 | metroPackageVersion: 365 | metroCertificatePath: 366 | metroCertificatePassword: 367 | metroCertificateSubject: 368 | metroCertificateIssuer: 369 | metroCertificateNotAfter: 0000000000000000 370 | metroApplicationDescription: UITest 371 | wsaImages: {} 372 | metroTileShortName: 373 | metroCommandLineArgsFile: 374 | metroTileShowName: 0 375 | metroMediumTileShowName: 0 376 | metroLargeTileShowName: 0 377 | metroWideTileShowName: 0 378 | metroDefaultTileSize: 1 379 | metroTileForegroundText: 1 380 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 381 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 382 | metroSplashScreenUseBackgroundColor: 0 383 | platformCapabilities: {} 384 | metroFTAName: 385 | metroFTAFileTypes: [] 386 | metroProtocolName: 387 | metroCompilationOverrides: 1 388 | blackberryDeviceAddress: 389 | blackberryDevicePassword: 390 | blackberryTokenPath: 391 | blackberryTokenExires: 392 | blackberryTokenAuthor: 393 | blackberryTokenAuthorId: 394 | blackberryCskPassword: 395 | blackberrySaveLogPath: 396 | blackberrySharedPermissions: 0 397 | blackberryCameraPermissions: 0 398 | blackberryGPSPermissions: 0 399 | blackberryDeviceIDPermissions: 0 400 | blackberryMicrophonePermissions: 0 401 | blackberryGamepadSupport: 0 402 | blackberryBuildId: 0 403 | blackberryLandscapeSplashScreen: {fileID: 0} 404 | blackberryPortraitSplashScreen: {fileID: 0} 405 | blackberrySquareSplashScreen: {fileID: 0} 406 | tizenProductDescription: 407 | tizenProductURL: 408 | tizenSigningProfileName: 409 | tizenGPSPermissions: 0 410 | tizenMicrophonePermissions: 0 411 | n3dsUseExtSaveData: 0 412 | n3dsCompressStaticMem: 1 413 | n3dsExtSaveDataNumber: 0x12345 414 | n3dsStackSize: 131072 415 | n3dsTargetPlatform: 2 416 | n3dsRegion: 7 417 | n3dsMediaSize: 0 418 | n3dsLogoStyle: 3 419 | n3dsTitle: GameName 420 | n3dsProductCode: 421 | n3dsApplicationId: 0xFF3FF 422 | stvDeviceAddress: 423 | stvProductDescription: 424 | stvProductAuthor: 425 | stvProductAuthorEmail: 426 | stvProductLink: 427 | stvProductCategory: 0 428 | XboxOneProductId: 429 | XboxOneUpdateKey: 430 | XboxOneSandboxId: 431 | XboxOneContentId: 432 | XboxOneTitleId: 433 | XboxOneSCId: 434 | XboxOneGameOsOverridePath: 435 | XboxOnePackagingOverridePath: 436 | XboxOneAppManifestOverridePath: 437 | XboxOnePackageEncryption: 0 438 | XboxOnePackageUpdateGranularity: 2 439 | XboxOneDescription: 440 | XboxOneIsContentPackage: 0 441 | XboxOneEnableGPUVariability: 0 442 | XboxOneSockets: {} 443 | XboxOneSplashScreen: {fileID: 0} 444 | XboxOneAllowedProductIds: [] 445 | XboxOnePersistentLocalStorageSize: 0 446 | intPropertyNames: 447 | - WebGL::ScriptingBackend 448 | - WebGL::audioCompressionFormat 449 | - WebGL::exceptionSupport 450 | - WebGL::memorySize 451 | WebGL::ScriptingBackend: 1 452 | WebGL::audioCompressionFormat: 4 453 | WebGL::exceptionSupport: 1 454 | WebGL::memorySize: 256 455 | boolPropertyNames: 456 | - WebGL::analyzeBuildSize 457 | - WebGL::dataCaching 458 | - WebGL::useEmbeddedResources 459 | WebGL::analyzeBuildSize: 0 460 | WebGL::dataCaching: 0 461 | WebGL::useEmbeddedResources: 0 462 | stringPropertyNames: 463 | - WebGL::emscriptenArgs 464 | - WebGL::template 465 | - additionalIl2CppArgs::additionalIl2CppArgs 466 | WebGL::emscriptenArgs: 467 | WebGL::template: APPLICATION:Default 468 | additionalIl2CppArgs::additionalIl2CppArgs: 469 | cloudProjectId: 470 | projectName: 471 | organizationId: 472 | cloudEnabled: 0 473 | -------------------------------------------------------------------------------- /Assets/Mosframe/ScrollView/DynamicScrollView.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * DynamicScrollView.cs 3 | * 4 | * @author mosframe / https://github.com/mosframe 5 | * 6 | */ 7 | 8 | namespace Mosframe { 9 | 10 | using System.Collections.Generic; 11 | using UnityEngine; 12 | using UnityEngine.UI; 13 | using UnityEngine.EventSystems; 14 | using System.Collections; 15 | 16 | /// 17 | /// Dynamic Scroll View 18 | /// 19 | [RequireComponent(typeof(ScrollRect))] 20 | public abstract class DynamicScrollView : UIBehaviour { 21 | 22 | public int totalItemCount = 99; 23 | public RectTransform itemPrototype = null; 24 | 25 | public void scrollToLastPos () { 26 | 27 | this.contentAnchoredPosition = this.viewportSize - this.contentSize; 28 | this.refresh(); 29 | } 30 | public void scrollByItemIndex ( int itemIndex ) { 31 | 32 | var totalLen = this.contentSize; 33 | var itemLen = totalLen / this.totalItemCount; 34 | var pos = itemLen * itemIndex; 35 | this.contentAnchoredPosition = -pos; 36 | } 37 | public void refresh () { 38 | 39 | var index = 0; 40 | if( this.contentAnchoredPosition != 0 ) { 41 | index = (int)(-this.contentAnchoredPosition / this.itemSize); 42 | } 43 | 44 | foreach( var itemRect in this.containers ) { 45 | 46 | // set item position 47 | var pos = this.itemSize * index; 48 | itemRect.anchoredPosition = (this.direction == Direction.Vertical) ? new Vector2(0, -pos) : new Vector2(pos, 0); 49 | 50 | this.updateItem( index, itemRect.gameObject ); 51 | 52 | ++index; 53 | } 54 | 55 | this.nextInsertItemNo = index - this.containers.Count; 56 | this.prevAnchoredPosition = (int)(this.contentAnchoredPosition / this.itemSize) * this.itemSize; 57 | } 58 | 59 | 60 | protected override void Awake () { 61 | 62 | if( this.itemPrototype == null ) { 63 | Debug.LogError( RichText.Red(new{this.name,this.itemPrototype}) ); 64 | return; 65 | } 66 | 67 | base.Awake(); 68 | 69 | this.scrollRect = this.GetComponent(); 70 | this.viewportRect = this.scrollRect.viewport; 71 | this.contentRect = this.scrollRect.content; 72 | } 73 | protected override void Start () { 74 | 75 | this.prevTotalItemCount = this.totalItemCount; 76 | 77 | this.StartCoroutine( this.onSeedData() ); 78 | } 79 | 80 | protected virtual IEnumerator onSeedData() { 81 | 82 | yield return null; 83 | 84 | // hide prototype 85 | 86 | this.itemPrototype.gameObject.SetActive(false); 87 | 88 | // instantiate items 89 | 90 | var itemCount = (int)(this.viewportSize / this.itemSize) + 3; 91 | 92 | for( var i = 0; i < itemCount; ++i ) { 93 | 94 | var itemRect = Instantiate( this.itemPrototype ); 95 | itemRect.SetParent( this.contentRect, false ); 96 | itemRect.name = i.ToString(); 97 | itemRect.anchoredPosition = this.direction == Direction.Vertical ? new Vector2(0, -this.itemSize * i) : new Vector2( this.itemSize * i, 0); 98 | this.containers.AddLast( itemRect ); 99 | 100 | itemRect.gameObject.SetActive( true ); 101 | 102 | this.updateItem( i, itemRect.gameObject ); 103 | } 104 | 105 | 106 | // resize content 107 | 108 | this.resizeContent(); 109 | } 110 | 111 | 112 | private void Update () { 113 | 114 | if( this.totalItemCount != this.prevTotalItemCount ) { 115 | 116 | this.prevTotalItemCount = this.totalItemCount; 117 | 118 | // check scroll bottom 119 | 120 | var isBottom = false; 121 | if( this.viewportSize-this.contentAnchoredPosition >= this.contentSize-this.itemSize*0.5f ) { 122 | isBottom = true; 123 | } 124 | 125 | this.resizeContent(); 126 | 127 | // move scroll to bottom 128 | 129 | if( isBottom ) { 130 | this.contentAnchoredPosition = this.viewportSize - this.contentSize; 131 | } 132 | 133 | this.refresh(); 134 | } 135 | 136 | 137 | // [ Scroll up ] 138 | 139 | while( this.contentAnchoredPosition - this.prevAnchoredPosition < -this.itemSize * 2 ) { 140 | 141 | this.prevAnchoredPosition -= this.itemSize; 142 | 143 | // move a first item to last 144 | 145 | var first = this.containers.First; 146 | if( first == null ) break; 147 | var item = first.Value; 148 | this.containers.RemoveFirst(); 149 | this.containers.AddLast(item); 150 | 151 | // set item position 152 | 153 | var pos = this.itemSize * ( this.containers.Count + this.nextInsertItemNo ); 154 | item.anchoredPosition = (this.direction == Direction.Vertical) ? new Vector2(0, -pos) : new Vector2(pos, 0); 155 | 156 | // update item 157 | 158 | this.updateItem( this.containers.Count+this.nextInsertItemNo, item.gameObject ); 159 | 160 | this.nextInsertItemNo++; 161 | } 162 | 163 | // [ Scroll down ] 164 | 165 | while ( this.contentAnchoredPosition - this.prevAnchoredPosition > 0 ) { 166 | 167 | this.prevAnchoredPosition += this.itemSize; 168 | 169 | // move a last item to first 170 | 171 | var last = this.containers.Last; 172 | if( last == null ) break; 173 | var item = last.Value; 174 | this.containers.RemoveLast(); 175 | this.containers.AddFirst(item); 176 | 177 | this.nextInsertItemNo--; 178 | 179 | // set item position 180 | 181 | var pos = this.itemSize * this.nextInsertItemNo; 182 | item.anchoredPosition = (this.direction == Direction.Vertical) ? new Vector2(0,-pos): new Vector2(pos,0); 183 | 184 | // update item 185 | 186 | this.updateItem( this.nextInsertItemNo, item.gameObject ); 187 | } 188 | } 189 | 190 | private void resizeContent () { 191 | 192 | var size = this.contentRect.getSize(); 193 | if( this.direction == Direction.Vertical ) size.y = this.itemSize * this.totalItemCount; 194 | else size.x = this.itemSize * this.totalItemCount; 195 | this.contentRect.setSize( size ); 196 | } 197 | private void updateItem ( int index, GameObject itemObj ) { 198 | 199 | if( index < 0 || index >= this.totalItemCount ) { 200 | 201 | itemObj.SetActive(false); 202 | } 203 | else { 204 | 205 | itemObj.SetActive(true); 206 | 207 | var item = itemObj.GetComponent(); 208 | if( item != null ) item.onUpdateItem( index ); 209 | } 210 | } 211 | 212 | 213 | 214 | [ContextMenu("Initialize")] 215 | public virtual void init () { 216 | 217 | // [ cliear ] 218 | 219 | this.clear(); 220 | 221 | // [ RectTransform ] 222 | 223 | var rectTransform = this.GetComponent(); 224 | rectTransform.setFullSize(); 225 | 226 | // [ ScrollRect ] 227 | 228 | var scrollRect = this.GetComponent(); 229 | scrollRect.horizontal = this.direction == Direction.Horizontal; 230 | scrollRect.vertical = this.direction == Direction.Vertical; 231 | scrollRect.scrollSensitivity = 15f; 232 | 233 | // [ ScrollRect / Viewport ] 234 | 235 | var viewportRect = new GameObject( "Viewport", typeof(RectTransform), typeof(Mask), typeof(Image) ).GetComponent(); 236 | viewportRect.SetParent( scrollRect.transform, false ); 237 | viewportRect.setFullSize(); 238 | viewportRect.offsetMin = new Vector2( 10f, 10f ); 239 | viewportRect.offsetMax = new Vector2(-10f,-10f ); 240 | var viewportImage = viewportRect.GetComponent(); 241 | //viewportImage.sprite = UnityEditor.AssetDatabase.GetBuiltinExtraResource("UI/Skin/UIMask.psd"); 242 | viewportImage.type = Image.Type.Sliced; 243 | var viewportMask = viewportRect.GetComponent(); 244 | viewportMask.showMaskGraphic = false; 245 | scrollRect.viewport = viewportRect; 246 | 247 | // [ ScrollRect / Viewport / Content ] 248 | 249 | var contentRect = new GameObject( "Content", typeof(RectTransform) ).GetComponent(); 250 | contentRect.SetParent( viewportRect, false ); 251 | if( this.direction == Direction.Horizontal ) contentRect.setSizeFromLeft( 1.0f ); else contentRect.setSizeFromTop( 1.0f ); 252 | var contentRectSize = contentRect.getSize(); 253 | contentRect.setSize( contentRectSize-contentRectSize*0.06f ); 254 | scrollRect.content = contentRect; 255 | 256 | // [ ScrollRect / Viewport / Content / PrototypeItem ] 257 | 258 | this.resetPrototypeItem( contentRect ); 259 | 260 | 261 | // [ ScrollRect / Scrollbar ] 262 | 263 | var scrollbarName = this.direction == Direction.Horizontal ? "Scrollbar Horizontal" : "Scrollbar Vertical"; 264 | var scrollbarRect = new GameObject( scrollbarName, typeof(Scrollbar), typeof(Image) ).GetComponent(); 265 | scrollbarRect.SetParent( viewportRect, false ); 266 | if( this.direction == Direction.Horizontal ) scrollbarRect.setSizeFromBottom( 0.05f ); else scrollbarRect.setSizeFromRight( 0.05f ); 267 | scrollbarRect.SetParent( scrollRect.transform, true ); 268 | 269 | var scrollbar = scrollbarRect.GetComponent(); 270 | scrollbar.direction = ( this.direction == Direction.Horizontal ) ? Scrollbar.Direction.LeftToRight : Scrollbar.Direction.BottomToTop; 271 | if( this.direction == Direction.Horizontal ) scrollRect.horizontalScrollbar = scrollbar; else scrollRect.verticalScrollbar = scrollbar; 272 | 273 | // [ ScrollRect / Scrollbar / Image ] 274 | 275 | var scrollbarImage = scrollbarRect.GetComponent(); 276 | #if UNITY_EDITOR 277 | scrollbarImage.sprite = UnityEditor.AssetDatabase.GetBuiltinExtraResource("UI/Skin/Background.psd"); 278 | #endif 279 | scrollbarImage.color = new Color(0.1f,0.1f,0.1f,0.5f); 280 | scrollbarImage.type = Image.Type.Sliced; 281 | 282 | // [ ScrollRect / Scrollbar / slidingArea ] 283 | 284 | var slidingAreaRect = new GameObject( "Sliding Area", typeof(RectTransform) ).GetComponent(); 285 | slidingAreaRect.SetParent( scrollbarRect, false ); 286 | slidingAreaRect.setFullSize(); 287 | 288 | // [ ScrollRect / Scrollbar / slidingArea / Handle ] 289 | 290 | var scrollbarHandleRect = new GameObject( "Handle", typeof(Image) ).GetComponent(); 291 | scrollbarHandleRect.SetParent( slidingAreaRect, false ); 292 | scrollbarHandleRect.setFullSize(); 293 | var scrollbarHandleImage = scrollbarHandleRect.GetComponent(); 294 | #if UNITY_EDITOR 295 | scrollbarHandleImage.sprite = UnityEditor.AssetDatabase.GetBuiltinExtraResource("UI/Skin/UISprite.psd"); 296 | #endif 297 | scrollbarHandleImage.color = new Color(0.5f,0.5f,1.0f,0.5f); 298 | scrollbarHandleImage.type = Image.Type.Sliced; 299 | scrollbar.handleRect = scrollbarHandleRect; 300 | 301 | // [ ScrollRect / ScrollbarHandleSize ] 302 | 303 | var scrollbarHandleSize = scrollRect.GetComponent(); 304 | if( scrollbarHandleSize == null ) { 305 | scrollbarHandleSize = scrollRect.gameObject.AddComponent(); 306 | scrollbarHandleSize.maxSize = 1.0f; 307 | scrollbarHandleSize.minSize = 0.1f; 308 | } 309 | 310 | // [ Layer ] 311 | 312 | this.gameObject.setLayer( this.transform.parent.gameObject.layer, true ); 313 | } 314 | protected virtual void resetPrototypeItem( RectTransform contentRect ) { 315 | 316 | // [ ScrollRect / Viewport / Content / PrototypeItem ] 317 | 318 | var prototypeItemRect = new GameObject( "Prototype Item", typeof(RectTransform), typeof(Image), typeof(DynamicScrollViewItemExample) ).GetComponent(); 319 | prototypeItemRect.SetParent( contentRect, false ); 320 | if( this.direction == Direction.Horizontal ) prototypeItemRect.setSizeFromLeft(0.23f); else prototypeItemRect.setSizeFromTop(0.23f); 321 | var prototypeItem = prototypeItemRect.GetComponent(); 322 | var prototypeItemBg = prototypeItemRect.GetComponent(); 323 | #if UNITY_EDITOR 324 | prototypeItemBg.sprite = UnityEditor.AssetDatabase.GetBuiltinExtraResource("UI/Skin/UISprite.psd"); 325 | #endif 326 | prototypeItemBg.type = Image.Type.Sliced; 327 | prototypeItem.background = prototypeItemBg; 328 | this.itemPrototype = prototypeItemRect; 329 | 330 | // [ ScrollRect / Viewport / Content / PrototypeItem / Title ] 331 | 332 | var prototypeTitleRect = new GameObject( "Title", typeof(RectTransform), typeof(Text) ).GetComponent(); 333 | prototypeTitleRect.SetParent( prototypeItemRect, false ); 334 | prototypeTitleRect.setFullSize(); 335 | var prototypeTitleSize = prototypeTitleRect.getSize(); 336 | prototypeTitleRect.setSize( prototypeTitleSize-prototypeTitleSize*0.1f ); 337 | var title = prototypeTitleRect.GetComponent(); 338 | title.fontSize = 16; 339 | title.alignment = TextAnchor.MiddleCenter; 340 | title.horizontalOverflow = HorizontalWrapMode.Wrap; 341 | title.verticalOverflow = VerticalWrapMode.Truncate; 342 | title.color = Color.black; 343 | title.text = "Name000"; 344 | title.resizeTextForBestFit = true; 345 | title.resizeTextMinSize = 9; 346 | title.resizeTextMaxSize = 40; 347 | prototypeItem.title = title; 348 | } 349 | protected virtual void clear() { 350 | 351 | while( this.transform.childCount>0 ) { 352 | DestroyImmediate( this.transform.GetChild( 0 ).gameObject ); 353 | } 354 | } 355 | 356 | 357 | protected abstract float contentAnchoredPosition { get; set; } 358 | protected abstract float contentSize { get; } 359 | protected abstract float viewportSize { get; } 360 | protected abstract float itemSize { get; } 361 | 362 | 363 | protected Direction direction = Direction.Vertical; 364 | protected LinkedList containers = new LinkedList(); 365 | protected float prevAnchoredPosition = 0; 366 | protected int nextInsertItemNo = 0; // item index from left-top of viewport at next insert 367 | protected int prevTotalItemCount = 99; 368 | protected ScrollRect scrollRect = null; 369 | protected RectTransform viewportRect = null; 370 | protected RectTransform contentRect = null; 371 | 372 | 373 | 374 | 375 | /// Scroll Direction 376 | public enum Direction { 377 | Vertical, 378 | Horizontal, 379 | } 380 | } 381 | } 382 | --------------------------------------------------------------------------------