From e463618ce4a44cccbbdaaec4108bfce34d88fff7 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 3 Jan 2026 18:57:56 +0100 Subject: [PATCH] move to package --- .gitignore | 2 +- Assets/Plugins/Android/aidl/.DS_Store | Bin 6148 -> 0 bytes Assets/Plugins/Android/aidl/com/.DS_Store | Bin 6148 -> 0 bytes .../Android/aidl/com/omixlab/.DS_Store | Bin 6148 -> 0 bytes .../Android/aidl/com/omixlab/mosis/.DS_Store | Bin 6148 -> 0 bytes Assets/Plugins/Android/cpp/.DS_Store | Bin 6148 -> 0 bytes Assets/Plugins/Android/mainTemplate.gradle | 2 +- Assets/Scenes/SampleScene.unity | 28 +-- Packages/com.omarator.mosissdk/CHANGELOG.md | 11 ++ .../com.omarator.mosissdk/CHANGELOG.md.meta | 7 + .../com.omarator.mosissdk/Documentation.meta | 8 + .../Documentation/MosisSDK.md | 169 ++++++++++++++++++ .../Documentation/MosisSDK.md.meta | 7 + .../Documentation/images.meta | 8 + .../Documentation/images/example.png | Bin 0 -> 52261 bytes .../Documentation/images/example.png.meta | 169 ++++++++++++++++++ Packages/com.omarator.mosissdk/Editor.meta | 8 + .../Editor/AppendCmake.cs | 2 +- .../Editor/AppendCmake.cs.meta | 0 .../Editor/EditorExample.cs | 30 ++++ .../Editor/EditorExample.cs.meta | 2 + .../Editor/Omarator.Mosissdk.Editor.asmdef | 10 ++ .../Omarator.Mosissdk.Editor.asmdef.meta | 7 + Packages/com.omarator.mosissdk/Plugins.meta | 8 + .../Plugins/Android.meta | 8 + .../Plugins/Android/MyKotlinSource.kt | 0 .../Plugins/Android/MyKotlinSource.kt.meta | 0 .../Plugins/Android/aidl.meta | 0 .../Plugins/Android/aidl/android.meta | 0 .../Android/aidl/android/hardware.meta | 0 .../aidl/android/hardware/HardwareBuffer.aidl | 0 .../android/hardware/HardwareBuffer.aidl.meta | 0 .../Plugins/Android/aidl/com.meta | 0 .../Plugins/Android/aidl/com/omixlab.meta | 0 .../Android/aidl/com/omixlab/mosis.meta | 0 .../com/omixlab/mosis/IMosisListener.aidl | 0 .../omixlab/mosis/IMosisListener.aidl.meta | 0 .../aidl/com/omixlab/mosis/IMosisService.aidl | 0 .../com/omixlab/mosis/IMosisService.aidl.meta | 0 .../Plugins/Android/cpp.meta | 0 .../Plugins/Android/cpp/CMakeLists.txt | 0 .../Plugins/Android/cpp/CMakeLists.txt.meta | 0 .../Plugins/Android/cpp/Editor.meta | 0 .../Plugins/Android/cpp/my_native_code.cpp | 0 .../Android/cpp/my_native_code.cpp.meta | 0 Packages/com.omarator.mosissdk/README.md | 1 + Packages/com.omarator.mosissdk/README.md.meta | 7 + Packages/com.omarator.mosissdk/Runtime.meta | 8 + .../Runtime}/KotlinBridge.cs | 0 .../Runtime}/KotlinBridge.cs.meta | 0 .../Runtime/Omarator.Mosissdk.asmdef | 6 + .../Runtime/Omarator.Mosissdk.asmdef.meta | 7 + .../Runtime/RuntimeExample.cs | 30 ++++ .../Runtime/RuntimeExample.cs.meta | 2 + .../Runtime}/UnityMainThreadDispatcher.cs | 0 .../UnityMainThreadDispatcher.cs.meta | 0 Packages/com.omarator.mosissdk/Samples.meta | 8 + .../Samples/Example.meta | 8 + .../Samples/Example/.sample.json | 4 + .../Samples/Example/SampleExample.cs | 28 +++ .../Samples/Example/SampleExample.cs.meta | 2 + Packages/com.omarator.mosissdk/Tests.meta | 8 + .../com.omarator.mosissdk/Tests/Editor.meta | 8 + .../Tests/Editor/EditorExampleTest.cs | 29 +++ .../Tests/Editor/EditorExampleTest.cs.meta | 2 + .../Omarator.Mosissdk.Editor.Tests.asmdef | 14 ++ ...Omarator.Mosissdk.Editor.Tests.asmdef.meta | 7 + .../com.omarator.mosissdk/Tests/Runtime.meta | 8 + .../Runtime/Omarator.Mosissdk.Tests.asmdef | 11 ++ .../Omarator.Mosissdk.Tests.asmdef.meta | 7 + .../Tests/Runtime/RuntimeExampleTest.cs | 28 +++ .../Tests/Runtime/RuntimeExampleTest.cs.meta | 2 + .../Third Party Notices.md | 16 ++ .../Third Party Notices.md.meta | 7 + Packages/com.omarator.mosissdk/package.json | 19 ++ .../com.omarator.mosissdk/package.json.meta | 7 + Packages/packages-lock.json | 8 + 77 files changed, 761 insertions(+), 17 deletions(-) delete mode 100644 Assets/Plugins/Android/aidl/.DS_Store delete mode 100644 Assets/Plugins/Android/aidl/com/.DS_Store delete mode 100644 Assets/Plugins/Android/aidl/com/omixlab/.DS_Store delete mode 100644 Assets/Plugins/Android/aidl/com/omixlab/mosis/.DS_Store delete mode 100644 Assets/Plugins/Android/cpp/.DS_Store create mode 100644 Packages/com.omarator.mosissdk/CHANGELOG.md create mode 100644 Packages/com.omarator.mosissdk/CHANGELOG.md.meta create mode 100644 Packages/com.omarator.mosissdk/Documentation.meta create mode 100644 Packages/com.omarator.mosissdk/Documentation/MosisSDK.md create mode 100644 Packages/com.omarator.mosissdk/Documentation/MosisSDK.md.meta create mode 100644 Packages/com.omarator.mosissdk/Documentation/images.meta create mode 100644 Packages/com.omarator.mosissdk/Documentation/images/example.png create mode 100644 Packages/com.omarator.mosissdk/Documentation/images/example.png.meta create mode 100644 Packages/com.omarator.mosissdk/Editor.meta rename {Assets/Plugins/Android/cpp => Packages/com.omarator.mosissdk}/Editor/AppendCmake.cs (97%) rename {Assets/Plugins/Android/cpp => Packages/com.omarator.mosissdk}/Editor/AppendCmake.cs.meta (100%) create mode 100644 Packages/com.omarator.mosissdk/Editor/EditorExample.cs create mode 100644 Packages/com.omarator.mosissdk/Editor/EditorExample.cs.meta create mode 100644 Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef create mode 100644 Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef.meta create mode 100644 Packages/com.omarator.mosissdk/Plugins.meta create mode 100644 Packages/com.omarator.mosissdk/Plugins/Android.meta rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/MyKotlinSource.kt (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/MyKotlinSource.kt.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/android.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/android/hardware.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com/omixlab.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com/omixlab/mosis.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/cpp.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/cpp/CMakeLists.txt (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/cpp/CMakeLists.txt.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/cpp/Editor.meta (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/cpp/my_native_code.cpp (100%) rename {Assets => Packages/com.omarator.mosissdk}/Plugins/Android/cpp/my_native_code.cpp.meta (100%) create mode 100644 Packages/com.omarator.mosissdk/README.md create mode 100644 Packages/com.omarator.mosissdk/README.md.meta create mode 100644 Packages/com.omarator.mosissdk/Runtime.meta rename {Assets/Plugins/Android => Packages/com.omarator.mosissdk/Runtime}/KotlinBridge.cs (100%) rename {Assets/Plugins/Android => Packages/com.omarator.mosissdk/Runtime}/KotlinBridge.cs.meta (100%) create mode 100644 Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef create mode 100644 Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef.meta create mode 100644 Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs create mode 100644 Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs.meta rename {Assets/Plugins/Android => Packages/com.omarator.mosissdk/Runtime}/UnityMainThreadDispatcher.cs (100%) rename {Assets/Plugins/Android => Packages/com.omarator.mosissdk/Runtime}/UnityMainThreadDispatcher.cs.meta (100%) create mode 100644 Packages/com.omarator.mosissdk/Samples.meta create mode 100644 Packages/com.omarator.mosissdk/Samples/Example.meta create mode 100644 Packages/com.omarator.mosissdk/Samples/Example/.sample.json create mode 100644 Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs create mode 100644 Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs.meta create mode 100644 Packages/com.omarator.mosissdk/Tests.meta create mode 100644 Packages/com.omarator.mosissdk/Tests/Editor.meta create mode 100644 Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs create mode 100644 Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs.meta create mode 100644 Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef create mode 100644 Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef.meta create mode 100644 Packages/com.omarator.mosissdk/Tests/Runtime.meta create mode 100644 Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef create mode 100644 Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef.meta create mode 100644 Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs create mode 100644 Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs.meta create mode 100644 Packages/com.omarator.mosissdk/Third Party Notices.md create mode 100644 Packages/com.omarator.mosissdk/Third Party Notices.md.meta create mode 100644 Packages/com.omarator.mosissdk/package.json create mode 100644 Packages/com.omarator.mosissdk/package.json.meta diff --git a/.gitignore b/.gitignore index 4844c04..469df8a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ Temp UserSettings .vscode .utmp - +.DS_Store diff --git a/Assets/Plugins/Android/aidl/.DS_Store b/Assets/Plugins/Android/aidl/.DS_Store deleted file mode 100644 index 0776b88b7dd6f55c34cd03166168ed7281910fd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z-O8Nhm@N3OxqA7VQre#7m6z;MIs8RBF-`4W?OXT5~9cob`o#5?@DW zb~i$)UOWhv8JPVxvojm!+pv>ijB#%kwHdP+VyZ z|3T#bG?>mZFPL28(}fU8Sk8m+G9Kjvd;3JB(;!Yq6B!UkBXGI7iqlBso|vUkCS!fI zU|FU$up9Gvw|CHVy507o>C6v1t)|m!cNPoF+}YhfIv+eH<5avT;yHYiQnoaf@Cp;1 z&9gsA6OrD7rSvYn2#En=fEZX`2K0?**4H;h%8VEw27bu^-VY8aqN}k`D6b9}WD5XT z1G5yE%b$Nh2MvI(#zG-jK)4D8RH0nA7+m)bT!q8BtNjawDx7ioX4pr+nd=UP>(+xi z(w%WvA&tZUF|f=4_I@BX*8kI=`+w;~12I4htS1A!*7y4!a6!a?; meucn9mSXV5QrrNQ0(J){fUd?uAy`1@M?lg*12OQY4159!Xi~-i diff --git a/Assets/Plugins/Android/aidl/com/.DS_Store b/Assets/Plugins/Android/aidl/com/.DS_Store deleted file mode 100644 index 8625c3490eb50acf86c9d32c3f7e692698f53a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5T0$TX(&Pu3Oz1(E!rO{h?iLF!K)EHsMN$34W?P?j}=NGXMG``#MjZ8 z-L0tAn~0SenE9r&GfDSL*vSBZXpTBnfFc0oQ3*3HnlFUbN#`VEBUwbDuMtB4;X$k} z!+0*61AmbLdUg&d=s^Vc@b3Ak5Lf86*hSrV(SqJwb~ql~hOy3m3UA|RFsxLbMJAhD zT6P@QDLCi;wHo`wU^p5ygZ?S~I#MbQXMPYKN8NF|xVop3VGt$VzAlJ5T}(MUiIR>Q zH`OTV40Nq;7F;*)wu`07q~6#n%X+;!Ez8Mvtx}eaYHd1o^K0vyJBRI?xRH;tU?q`NYAU-%nzdT;a;BYL?B&3@`)Cz~VDtPqutv@wdV|U7P zSxgP;qXUf|0T6Q-)`C8LG*XSU=vhn+;tGl|rHH0f*bzgRa*Rux=UGe*nsN|!_z?Ea z!cHhc-yN?nbvg*oAX{dD8TiNm&3-6F>i_%S&;L4!4Ku(D{7(i%uI0CyxHsEd=XOcG uR-#^@l2Bf1@T~+L-HI`nT5$S5Z>*NZ74zxiXIod7EOx^;w8p<@M=U4DmAf1gK4%jsXdfJuKGg0iLawG zyBn!gPl8C9fthbJJCkI-4Z9h}8284#7GpMJtPYA;vcP;JIFGs@CF3ara&?dNG?sT^ zEW?FZa{NyQaP6vWz$8mq#OBuzKZzsI?RO>W_2(kPNjfwu{TdGAD9s$_jhD)m>PoF< z)f%-M|3OatEXc;G7mTj(>Rie=EXF~25%nisd+k^zSr8@tkxGbqeF(X}jFO(5cygTd zQkCoL3CpTmU3+6X-EB2R%h{hb#q^-Xwd zxW7>0jJq1i5(C7*R|c^61F`Y^Kl!=;S3zWm0b*b|8Q_(U-|?U}bG9y2iD#_YYcSUc9uWEwP&AMs2L6-s>NHh@@<-Q;iKUkuqNI{hkKoW{bC!GX>`Z}H+#`b~|9Y|CZXe`;Y z>+|g9rZ~p{Z1K9k1!e%IbVs~<7@I$LAK69A7?I914tT)^Pk6@LsQUYabFZ<+J$iCa z`3LNH(j1S>?$NEgez)!VE$jWq-qGjBFs@`$Knh3!DIf);z;6}s-bgK>sw>Mma;YVq&ynZoC!WoYWOx^LcGJBnF-NpcC~+z;%&Hfxl4T17jE+=>Px# diff --git a/Assets/Plugins/Android/cpp/.DS_Store b/Assets/Plugins/Android/cpp/.DS_Store deleted file mode 100644 index 43968d3e7c804f69d7aa3e04146316664f2a372b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z-NTlTd^n6!f;>wP0&&J$MPReE}nSP^k?m8jRVJrshxzx$6u0B0i5Z zyPHF>;7!EN!0tCYKf9R^vOkP5?k&R}V{OKm4Goc_vO&8{s~y?=CkemQxLUlRGIndCsal3jx(yn|9H>eWw^SSF8PFLTORLSldz zAO?tmtz*C(1$JxeDyM>p0b<}M25^56&=6gNg+{e?K!?|7^fwSuK*zTPqA=(hEHr`# zgzHp5oyyGU3u0s?yF5-M-G%z`vvL{ Y=Nc?D;w)%a>40<*P=ruN4EzEEUmZ|PCjbBd diff --git a/Assets/Plugins/Android/mainTemplate.gradle b/Assets/Plugins/Android/mainTemplate.gradle index f371958..9d51d17 100644 --- a/Assets/Plugins/Android/mainTemplate.gradle +++ b/Assets/Plugins/Android/mainTemplate.gradle @@ -39,7 +39,7 @@ android { sourceSets { main { - aidl.srcDirs += ['../../MosisUnity/Assets/Plugins/Android/aidl'] + aidl.srcDirs += ['../../MosisUnity/Packages/com.omarator.mosissdk/Plugins/Android/aidl'] } } diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 10c924e..6715d4f 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -415,28 +415,16 @@ PrefabInstance: m_AddedComponents: - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: f200897b2392745ef8446be3a91dc938, type: 3} insertIndex: -1 - addedObject: {fileID: 1876041954} + addedObject: {fileID: 1876041958} - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: f200897b2392745ef8446be3a91dc938, type: 3} insertIndex: -1 - addedObject: {fileID: 1876041958} + addedObject: {fileID: 1876041959} m_SourcePrefab: {fileID: 100100000, guid: f200897b2392745ef8446be3a91dc938, type: 3} --- !u!1 &1876041953 stripped GameObject: m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: f200897b2392745ef8446be3a91dc938, type: 3} m_PrefabInstance: {fileID: 1876041952} m_PrefabAsset: {fileID: 0} ---- !u!114 &1876041954 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1876041953} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30d423b9d44d240e7a5d6bf14c711e45, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp-firstpass::KotlinBridge --- !u!114 &1876041958 MonoBehaviour: m_ObjectHideFlags: 0 @@ -451,6 +439,18 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::PhoneRotator swingRange: 30 speed: 2 +--- !u!114 &1876041959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1876041953} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30d423b9d44d240e7a5d6bf14c711e45, type: 3} + m_Name: + m_EditorClassIdentifier: Omarator.Mosissdk::KotlinBridge --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Packages/com.omarator.mosissdk/CHANGELOG.md b/Packages/com.omarator.mosissdk/CHANGELOG.md new file mode 100644 index 0000000..a495058 --- /dev/null +++ b/Packages/com.omarator.mosissdk/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog +All notable changes to this package will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +## [0.1.0] - 2026-01-03 + +### This is the first release of *\*. + +*Short description of this release* diff --git a/Packages/com.omarator.mosissdk/CHANGELOG.md.meta b/Packages/com.omarator.mosissdk/CHANGELOG.md.meta new file mode 100644 index 0000000..654ed08 --- /dev/null +++ b/Packages/com.omarator.mosissdk/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 044d7c092cb6545f9865bbea183b5f23 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Documentation.meta b/Packages/com.omarator.mosissdk/Documentation.meta new file mode 100644 index 0000000..81fa793 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Documentation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1eeef09f6ae7945569d85300042624ec +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Documentation/MosisSDK.md b/Packages/com.omarator.mosissdk/Documentation/MosisSDK.md new file mode 100644 index 0000000..6f65ddd --- /dev/null +++ b/Packages/com.omarator.mosissdk/Documentation/MosisSDK.md @@ -0,0 +1,169 @@ +>>> +**_Package Documentation Template_** + +Use this template to create preliminary, high-level documentation meant to introduce users to the feature and the sample files included in this package. When writing your documentation, do the following: + +1. Follow instructions in blockquotes. + +2. Replace angle brackets with the appropriate text. For example, replace "<package name>" with the official name of the package. + +3. Delete sections that do not apply to your package. For example, a package containing only sample files does not have a "Using <package_name>" section, so this section can be removed. + +4. After documentation is completed, make sure you delete all instructions and examples in blockquotes including this preamble and its title: + + ``` + >>> + Delete all of the text between pairs of blockquote markdown. + >>> + ``` +>>> + +# About <package name> + +>>> +Name the heading of the first topic after the **displayName** of the package as it appears in the package manifest. + +This first topic includes a brief, high-level explanation of the package and, if applicable, provides links to Unity Manual topics. + +There are two types of packages: + + - Packages that include features that augment the Unity Editor or Runtime. + - Packages that include sample files. + +Choose one of the following introductory paragraphs that best fits the package: +>>> + +Use the <package name> package to <list of the main uses for the package>. For example, use <package name> to create/generate/extend/capture <mention major use case, or a good example of what the package can be used for>. The <package name> package also includes <other relevant features or uses>. + +> *or* + +The <package name> package includes examples of <name of asset type, model, prefabs, and/or other GameObjects in the package>. For more information, see <xref to topic in the Unity Manual>. + +>>> +**_Examples:_** + +Here are some examples for reference only. Do not include these in the final documentation file: + +*Use the Unity Recorder package to capture and save in-game data. For example, use Unity Recorder to record an mp4 file during a game session. The Unity Recorder package also includes an interface for setting-up and triggering recording sessions.* + +*The Timeline Examples package includes examples of Timeline assets, Timeline Instances, animation, GameObjects, and scripts that illustrate how to use Unity's Timeline. For more information, see [ Unity's Timeline](https://docs.unity3d.com/Manual/TimelineSection.html) in the [Unity Manual](https://docs.unity3d.com). For licensing and usage, see Package Licensing.* +>>> + +# Installing <package name> +>>> +Begin this section with a cross-reference to the official Unity Manual topic on how to install packages. If the package requires special installation instructions, include these steps in this section. +>>> + +To install this package, follow the instructions in the [Package Manager documentation](https://docs.unity3d.com/Packages/com.unity.package-manager-ui@latest/index.html). + +>>> +For some packages, there may be additional steps to complete the setup. You can add those here. +>>> + +In addition, you need to install the following resources: + + - <name of resource>: To install, open *Window > <name of menu item>*. The resource appears <at this location>. + - <name of sample>: To install, open *Window > <name of menu item>*. The new sample folder appears <at this location>. + + + +# Using <package name> +>>> +The contents of this section depends on the type of package. + +For packages that augment the Unity Editor with additional features, this section should include workflow and/or reference documentation: + +* At a minimum, this section should include reference documentation that describes the windows, editors, and properties that the package adds to Unity. This reference documentation should include screen grabs (see how to add screens below), a list of settings, an explanation of what each setting does, and the default values of each setting. +* Ideally, this section should also include a workflow: a list of steps that the user can easily follow that demonstrates how to use the feature. This list of steps should include screen grabs (see how to add screens below) to better describe how to use the feature. + +For packages that include sample files, this section may include detailed information on how the user can use these sample files in their projects and scenes. However, workflow diagrams or illustrations could be included if deemed appropriate. + +## How to add images + +*(This section is for reference. Do not include in the final documentation file)* + +If the [Using <package name>](#UsingPackageName) section includes screen grabs or diagrams, a link to the image must be added to this MD file, before or after the paragraph with the instruction or description that references the image. In addition, a caption should be added to the image link that includes the name of the screen or diagram. All images must be PNG files with underscores for spaces. No animated GIFs. + +An example is included below: + +![A cinematic in the Timeline Editor window.](images/example.png) + +Notice that the example screen shot is included in the images folder. All screen grabs and/or diagrams must be added and referenced from the images folder. + +For more on the Unity documentation standards for creating and adding screen grabs, see this confluence page: https://confluence.hq.unity3d.com/pages/viewpage.action?pageId=13500715 +>>> + + + +# Technical details +## Requirements +>>> +This subtopic includes a bullet list with the compatible versions of Unity. This subtopic may also include additional requirements or recommendations for 3rd party software or hardware. An example includes a dependency on other packages. If you need to include references to non-Unity products, make sure you refer to these products correctly and that all references include the proper trademarks (tm or r) +>>> + +This version of <package name> is compatible with the following versions of the Unity Editor: + +* 2018.1 and later (recommended) + +To use this package, you must have the following 3rd party products: + +* <product name and version with trademark or registered trademark.> +* <product name and version with trademark or registered trademark.> +* <product name and version with trademark or registered trademark.> + +## Known limitations +>>> +This section lists the known limitations with this version of the package. If there are no known limitations, or if the limitations are trivial, exclude this section. An example is provided. +>>> + +<package name> version <package version> includes the following known limitations: + +* <brief one-line description of first limitation.> +* <brief one-line description of second limitation.> +* <and so on> + +>>> +*Example (For reference. Do not include in the final documentation file):* + +The Unity Recorder version 1.0 has the following limitations:* + +* The Unity Recorder does not support sound. +* The Recorder window and Recorder properties are not available in standalone players. +* MP4 encoding is only available on Windows. +>>> + +## Package contents +>>> +This section includes the location of important files you want the user to know about. For example, if this is a sample package containing textures, models, and materials separated by sample group, you may want to provide the folder location of each group. +>>> + +The following table indicates the <describe the breakdown you used here>: + +|Location|Description| +|---|---| +|``|Contains <describe what the folder contains>.| +|``|Contains <describe what the file represents or implements>.| + +>>> +*Example (For reference. Do not include in the final documentation file):* + +The following table indicates the root folder of each type of sample in this package. Each sample's root folder contains its own Materials, Models, or Textures folders: + +|Folder Location|Description| +|---|---| +|`WoodenCrate_Orange`|Root folder containing the assets for the orange crates.| +|`WoodenCrate_Mahogany`|Root folder containing the assets for the mahogany crates.| +|`WoodenCrate_Shared`|Root folder containing any material assets shared by all crates.| +>>> + +## Document revision history +>>> +This section includes the revision history of the document. The revision history tracks when a document is created, edited, and updated. If you create or update a document, you must add a new row describing the revision. The Documentation Team also uses this table to track when a document is edited and its editing level. An example is provided: + +|Date|Reason| +|---|---| +|Sept 12, 2017|Unedited. Published to package.| +|Sept 10, 2017|Document updated for package version 1.1.
New features:
  • audio support for capturing MP4s.
  • Instructions on saving Recorder prefabs| +|Sept 5, 2017|Limited edit by Documentation Team. Published to package.| +|Aug 25, 2017|Document created. Matches package version 1.0.| +>>> \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Documentation/MosisSDK.md.meta b/Packages/com.omarator.mosissdk/Documentation/MosisSDK.md.meta new file mode 100644 index 0000000..b25e424 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Documentation/MosisSDK.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8a7abe04ea9404698a5e63ad0c665df0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Documentation/images.meta b/Packages/com.omarator.mosissdk/Documentation/images.meta new file mode 100644 index 0000000..489da9d --- /dev/null +++ b/Packages/com.omarator.mosissdk/Documentation/images.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb56324baf9714165a4b145418bf4ccd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Documentation/images/example.png b/Packages/com.omarator.mosissdk/Documentation/images/example.png new file mode 100644 index 0000000000000000000000000000000000000000..216328df25a30364d24c1638b3e961fd5254d72b GIT binary patch literal 52261 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 NEiC@BKv2Wu{{VFWkKzCT literal 0 HcmV?d00001 diff --git a/Packages/com.omarator.mosissdk/Documentation/images/example.png.meta b/Packages/com.omarator.mosissdk/Documentation/images/example.png.meta new file mode 100644 index 0000000..61b3bbf --- /dev/null +++ b/Packages/com.omarator.mosissdk/Documentation/images/example.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 5a49a892672c944f9aa7b97525891ab8 +TextureImporter: + internalIDToNameTable: + - first: + 213: -8196121713257968172 + second: example_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: example_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 748 + height: 249 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 4dd84690ab6814e80800000000000000 + internalID: -8196121713257968172 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + example_0: -8196121713257968172 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Editor.meta b/Packages/com.omarator.mosissdk/Editor.meta new file mode 100644 index 0000000..464b925 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8fda4daa34f14b749be2fa439fcf720 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/cpp/Editor/AppendCmake.cs b/Packages/com.omarator.mosissdk/Editor/AppendCmake.cs similarity index 97% rename from Assets/Plugins/Android/cpp/Editor/AppendCmake.cs rename to Packages/com.omarator.mosissdk/Editor/AppendCmake.cs index 14ce679..a15adc7 100644 --- a/Assets/Plugins/Android/cpp/Editor/AppendCmake.cs +++ b/Packages/com.omarator.mosissdk/Editor/AppendCmake.cs @@ -20,7 +20,7 @@ public class AndroidPostProcess : IPostGenerateGradleAndroidProject // 2. Locate your custom C++ folder in Assets // Application.dataPath gives the absolute path to "Assets" - string myCppFolder = Path.GetFullPath(Path.Combine(Application.dataPath, "Plugins/Android/cpp")); + string myCppFolder = Path.GetFullPath(Path.Combine(Application.dataPath, "../Packages/com.omarator.mosissdk/Plugins/Android/cpp")); // 3. Calculate the relative path from the build's CMake location to your source // We need the directory where the target CMake file lives to calculate relative from it diff --git a/Assets/Plugins/Android/cpp/Editor/AppendCmake.cs.meta b/Packages/com.omarator.mosissdk/Editor/AppendCmake.cs.meta similarity index 100% rename from Assets/Plugins/Android/cpp/Editor/AppendCmake.cs.meta rename to Packages/com.omarator.mosissdk/Editor/AppendCmake.cs.meta diff --git a/Packages/com.omarator.mosissdk/Editor/EditorExample.cs b/Packages/com.omarator.mosissdk/Editor/EditorExample.cs new file mode 100644 index 0000000..2aa815c --- /dev/null +++ b/Packages/com.omarator.mosissdk/Editor/EditorExample.cs @@ -0,0 +1,30 @@ +// ----------------------------------------------------------------------------- +// +// Use this editor example C# file to develop editor (non-runtime) code. +// +// ----------------------------------------------------------------------------- + +namespace Omarator.Mosissdk.Editor +{ + /// + /// Provide a general description of the public class. + /// + /// + /// Packages require XmlDoc documentation for ALL Package APIs. + /// https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/xml-documentation-comments + /// + public class MyPublicEditorExampleClass + { + /// + /// Provide a description of what this private method does. + /// + /// Description of parameter 1 + /// Description of parameter 2 + /// Description of parameter 3 + /// Description of what the function returns + public int CountThingsAndDoStuff(int parameter1, int parameter2, bool parameter3) + { + return parameter3 ? (parameter1 + parameter2) : (parameter1 - parameter2); + } + } +} \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Editor/EditorExample.cs.meta b/Packages/com.omarator.mosissdk/Editor/EditorExample.cs.meta new file mode 100644 index 0000000..f9aad69 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Editor/EditorExample.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 98e9eff0dd13f4379b8069286df2eb7f \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef b/Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef new file mode 100644 index 0000000..6a4901e --- /dev/null +++ b/Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef @@ -0,0 +1,10 @@ +{ + "name": "Omarator.Mosissdk.Editor", + "references": [ + "Omarator.Mosissdk" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [] +} diff --git a/Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef.meta b/Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef.meta new file mode 100644 index 0000000..7e50626 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Editor/Omarator.Mosissdk.Editor.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0137830c41d4a4cfea332d24c6f9074f +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Plugins.meta b/Packages/com.omarator.mosissdk/Plugins.meta new file mode 100644 index 0000000..e72c9cb --- /dev/null +++ b/Packages/com.omarator.mosissdk/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e283b895662f045d89d8d8be39dbf68b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Plugins/Android.meta b/Packages/com.omarator.mosissdk/Plugins/Android.meta new file mode 100644 index 0000000..a8fe4dd --- /dev/null +++ b/Packages/com.omarator.mosissdk/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1cbd7617bffb546ec80e5c75c643ddc0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/MyKotlinSource.kt b/Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt similarity index 100% rename from Assets/Plugins/Android/MyKotlinSource.kt rename to Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt diff --git a/Assets/Plugins/Android/MyKotlinSource.kt.meta b/Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt.meta similarity index 100% rename from Assets/Plugins/Android/MyKotlinSource.kt.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/MyKotlinSource.kt.meta diff --git a/Assets/Plugins/Android/aidl.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl.meta similarity index 100% rename from Assets/Plugins/Android/aidl.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl.meta diff --git a/Assets/Plugins/Android/aidl/android.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/android.meta similarity index 100% rename from Assets/Plugins/Android/aidl/android.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/android.meta diff --git a/Assets/Plugins/Android/aidl/android/hardware.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/android/hardware.meta similarity index 100% rename from Assets/Plugins/Android/aidl/android/hardware.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/android/hardware.meta diff --git a/Assets/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl similarity index 100% rename from Assets/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl diff --git a/Assets/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl.meta similarity index 100% rename from Assets/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/android/hardware/HardwareBuffer.aidl.meta diff --git a/Assets/Plugins/Android/aidl/com.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com.meta similarity index 100% rename from Assets/Plugins/Android/aidl/com.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com.meta diff --git a/Assets/Plugins/Android/aidl/com/omixlab.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab.meta similarity index 100% rename from Assets/Plugins/Android/aidl/com/omixlab.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab.meta diff --git a/Assets/Plugins/Android/aidl/com/omixlab/mosis.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis.meta similarity index 100% rename from Assets/Plugins/Android/aidl/com/omixlab/mosis.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis.meta diff --git a/Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl similarity index 100% rename from Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl diff --git a/Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl.meta similarity index 100% rename from Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisListener.aidl.meta diff --git a/Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl similarity index 100% rename from Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl diff --git a/Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl.meta b/Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl.meta similarity index 100% rename from Assets/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/aidl/com/omixlab/mosis/IMosisService.aidl.meta diff --git a/Assets/Plugins/Android/cpp.meta b/Packages/com.omarator.mosissdk/Plugins/Android/cpp.meta similarity index 100% rename from Assets/Plugins/Android/cpp.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/cpp.meta diff --git a/Assets/Plugins/Android/cpp/CMakeLists.txt b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt similarity index 100% rename from Assets/Plugins/Android/cpp/CMakeLists.txt rename to Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt diff --git a/Assets/Plugins/Android/cpp/CMakeLists.txt.meta b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt.meta similarity index 100% rename from Assets/Plugins/Android/cpp/CMakeLists.txt.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/cpp/CMakeLists.txt.meta diff --git a/Assets/Plugins/Android/cpp/Editor.meta b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/Editor.meta similarity index 100% rename from Assets/Plugins/Android/cpp/Editor.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/cpp/Editor.meta diff --git a/Assets/Plugins/Android/cpp/my_native_code.cpp b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp similarity index 100% rename from Assets/Plugins/Android/cpp/my_native_code.cpp rename to Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp diff --git a/Assets/Plugins/Android/cpp/my_native_code.cpp.meta b/Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp.meta similarity index 100% rename from Assets/Plugins/Android/cpp/my_native_code.cpp.meta rename to Packages/com.omarator.mosissdk/Plugins/Android/cpp/my_native_code.cpp.meta diff --git a/Packages/com.omarator.mosissdk/README.md b/Packages/com.omarator.mosissdk/README.md new file mode 100644 index 0000000..19d1082 --- /dev/null +++ b/Packages/com.omarator.mosissdk/README.md @@ -0,0 +1 @@ +Use this file to describe your package's features. \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/README.md.meta b/Packages/com.omarator.mosissdk/README.md.meta new file mode 100644 index 0000000..a9b470e --- /dev/null +++ b/Packages/com.omarator.mosissdk/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e7b9d07480e074bf093eabefcf188dd0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Runtime.meta b/Packages/com.omarator.mosissdk/Runtime.meta new file mode 100644 index 0000000..1ec6574 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e8546bbab50f4b5294ff2aa36c6d5e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/KotlinBridge.cs b/Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs similarity index 100% rename from Assets/Plugins/Android/KotlinBridge.cs rename to Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs diff --git a/Assets/Plugins/Android/KotlinBridge.cs.meta b/Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs.meta similarity index 100% rename from Assets/Plugins/Android/KotlinBridge.cs.meta rename to Packages/com.omarator.mosissdk/Runtime/KotlinBridge.cs.meta diff --git a/Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef b/Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef new file mode 100644 index 0000000..ee3d493 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef @@ -0,0 +1,6 @@ +{ + "name": "Omarator.Mosissdk", + "references": [], + "includePlatforms": [], + "excludePlatforms": [] +} diff --git a/Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef.meta b/Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef.meta new file mode 100644 index 0000000..7f37067 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Runtime/Omarator.Mosissdk.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0a8ada65d54024e918e57ccad4157d28 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs b/Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs new file mode 100644 index 0000000..8e1cbb3 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs @@ -0,0 +1,30 @@ +// ----------------------------------------------------------------------------- +// +// Use this runtime example C# file to develop runtime code. +// +// ----------------------------------------------------------------------------- + +namespace Omarator.Mosissdk +{ + /// + /// Provide a general description of the public class. + /// + /// + /// Packages require XmlDoc documentation for ALL Package APIs. + /// https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/xml-documentation-comments + /// + public class MyPublicRuntimeExampleClass + { + /// + /// Provide a description of what this private method does. + /// + /// Description of parameter 1 + /// Description of parameter 2 + /// Description of parameter 3 + /// Description of what the function returns + public int CountThingsAndDoStuff(int parameter1, int parameter2, bool parameter3) + { + return parameter3 ? (parameter1 + parameter2) : (parameter1 - parameter2); + } + } +} \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs.meta b/Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs.meta new file mode 100644 index 0000000..2d463f4 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Runtime/RuntimeExample.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 362d6f07ea083437fa4a53500d86b64a \ No newline at end of file diff --git a/Assets/Plugins/Android/UnityMainThreadDispatcher.cs b/Packages/com.omarator.mosissdk/Runtime/UnityMainThreadDispatcher.cs similarity index 100% rename from Assets/Plugins/Android/UnityMainThreadDispatcher.cs rename to Packages/com.omarator.mosissdk/Runtime/UnityMainThreadDispatcher.cs diff --git a/Assets/Plugins/Android/UnityMainThreadDispatcher.cs.meta b/Packages/com.omarator.mosissdk/Runtime/UnityMainThreadDispatcher.cs.meta similarity index 100% rename from Assets/Plugins/Android/UnityMainThreadDispatcher.cs.meta rename to Packages/com.omarator.mosissdk/Runtime/UnityMainThreadDispatcher.cs.meta diff --git a/Packages/com.omarator.mosissdk/Samples.meta b/Packages/com.omarator.mosissdk/Samples.meta new file mode 100644 index 0000000..49fda46 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 183281196c8dc41ebb6291d04d2ba66a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Samples/Example.meta b/Packages/com.omarator.mosissdk/Samples/Example.meta new file mode 100644 index 0000000..be9a015 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Samples/Example.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95b9a7e8d5bf84920b646786f8e7f482 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Samples/Example/.sample.json b/Packages/com.omarator.mosissdk/Samples/Example/.sample.json new file mode 100644 index 0000000..ed36f58 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Samples/Example/.sample.json @@ -0,0 +1,4 @@ +{ + "displayName":"Example Sample", + "description": "Replace this string with your own description of the sample. Delete the Samples folder if not needed." +} diff --git a/Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs b/Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs new file mode 100644 index 0000000..ef69a54 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs @@ -0,0 +1,28 @@ +// ----------------------------------------------------------------------------- +// +// Use this sample example C# file to develop samples to guide usage of APIs +// in your package. +// +// ----------------------------------------------------------------------------- + +namespace Omarator.Mosissdk +{ + /// + /// Provide a general description of the public class. + /// + /// + /// Packages require XmlDoc documentation for ALL Package APIs. + /// https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/xml-documentation-comments + /// + public class MyPublicSampleExampleClass + { + /// + /// Provide a description of what this public method does. + /// + public void CountThingsAndDoStuffAndOutputIt() + { + var result = new MyPublicRuntimeExampleClass().CountThingsAndDoStuff(1, 2, false); + Debug.Log("Call CountThingsAndDoStuffAndOutputIt returns " + result); + } + } +} \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs.meta b/Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs.meta new file mode 100644 index 0000000..bf1d49b --- /dev/null +++ b/Packages/com.omarator.mosissdk/Samples/Example/SampleExample.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 98542e95cab6e4e41ba7599be4e9b6a3 \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Tests.meta b/Packages/com.omarator.mosissdk/Tests.meta new file mode 100644 index 0000000..e853eee --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8582ecb2e3c5f481e9d04a73ddd63fc3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Tests/Editor.meta b/Packages/com.omarator.mosissdk/Tests/Editor.meta new file mode 100644 index 0000000..6b3ea19 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 112fd34582f7c4f3f850f07a6e62c6d1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs b/Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs new file mode 100644 index 0000000..e6b34b5 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs @@ -0,0 +1,29 @@ +using UnityEngine; +using UnityEditor; +using UnityEngine.TestTools; +using NUnit.Framework; +using System.Collections; + +namespace Omarator.Mosissdk.Editor.Tests +{ + + class EditorExampleTest + { + + [Test] + public void EditorSampleTestSimplePasses() + { + // Use the Assert class to test conditions. + } + + // A UnityTest behaves like a coroutine in PlayMode + // and allows you to yield null to skip a frame in EditMode + [UnityTest] + public IEnumerator EditorSampleTestWithEnumeratorPasses() + { + // Use the Assert class to test conditions. + // yield to skip a frame + yield return null; + } + } +} \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs.meta b/Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs.meta new file mode 100644 index 0000000..41460ce --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Editor/EditorExampleTest.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 546a0dc4da32647fb800e2ff4ddf41ef \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef b/Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef new file mode 100644 index 0000000..8c6e83d --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef @@ -0,0 +1,14 @@ +{ + "name": "Omarator.Mosissdk.Editor.Tests", + "references": [ + "Omarator.Mosissdk.Editor", + "Omarator.Mosissdk" + ], + "optionalUnityReferences": [ + "TestAssemblies" + ], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [] +} diff --git a/Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef.meta b/Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef.meta new file mode 100644 index 0000000..e0b5566 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Editor/Omarator.Mosissdk.Editor.Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1dc9eb0d4d74d4274a118c53ccef6f1e +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Tests/Runtime.meta b/Packages/com.omarator.mosissdk/Tests/Runtime.meta new file mode 100644 index 0000000..f66e861 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b8a881b27c2c47e1b41fcd439506016 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef b/Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef new file mode 100644 index 0000000..95592cb --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef @@ -0,0 +1,11 @@ +{ + "name": "Omarator.Mosissdk.Tests", + "references": [ + "Omarator.Mosissdk" + ], + "optionalUnityReferences": [ + "TestAssemblies" + ], + "includePlatforms": [], + "excludePlatforms": [] +} diff --git a/Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef.meta b/Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef.meta new file mode 100644 index 0000000..9f2fdc7 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Runtime/Omarator.Mosissdk.Tests.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7012233e3de3a49c58bb7a70bb8f04d8 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs b/Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs new file mode 100644 index 0000000..2f58057 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs @@ -0,0 +1,28 @@ +using UnityEngine; +using UnityEngine.TestTools; +using NUnit.Framework; +using System.Collections; + +namespace Omarator.Mosissdk.Tests +{ + + class RuntimeExampleTest + { + + [Test] + public void PlayModeSampleTestSimplePasses() + { + // Use the Assert class to test conditions. + } + + // A UnityTest behaves like a coroutine in PlayMode + // and allows you to yield null to skip a frame in EditMode + [UnityTest] + public IEnumerator PlayModeSampleTestWithEnumeratorPasses() + { + // Use the Assert class to test conditions. + // yield to skip a frame + yield return null; + } + } +} \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs.meta b/Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs.meta new file mode 100644 index 0000000..d0d0d08 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Tests/Runtime/RuntimeExampleTest.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d980d829f5e174dcaaa149cb4e879c37 \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/Third Party Notices.md b/Packages/com.omarator.mosissdk/Third Party Notices.md new file mode 100644 index 0000000..92ea199 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Third Party Notices.md @@ -0,0 +1,16 @@ +This package contains third-party software components governed by the license(s) indicated below: +--------- + +Component Name: [provide component name] + +License Type: [Provide license type, i.e. "MIT", "Apache 2.0"] + +[Provide License Details] + +--------- +Component Name: [provide component name] + +License Type: [Provide license type, i.e. "MIT", "Apache 2.0"] + +[Provide License Details] + diff --git a/Packages/com.omarator.mosissdk/Third Party Notices.md.meta b/Packages/com.omarator.mosissdk/Third Party Notices.md.meta new file mode 100644 index 0000000..fa0c603 --- /dev/null +++ b/Packages/com.omarator.mosissdk/Third Party Notices.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5ef06c57547cf415da395ff3f642af04 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.omarator.mosissdk/package.json b/Packages/com.omarator.mosissdk/package.json new file mode 100644 index 0000000..9dbc645 --- /dev/null +++ b/Packages/com.omarator.mosissdk/package.json @@ -0,0 +1,19 @@ +{ + "name": "com.omixlab.mosis_sdk", + "displayName": "MosisSDK", + "version": "0.1.0", + "unity": "6000.3", + "unityRelease": "2f1", + "description": "Replace this with your own description of the package. \n\nFor best results, use this text to summarize: \n\u25aa What the package does \n\u25aa How it can benefit the user \n\nNote: Special formatting characters are supported, including line breaks ('\\n') and bullets ('\\u25AA').", + "dependencies": { + "com.unity.test-framework": "1.6.0" + }, + "author": { + "name": "Omar Mohamed Ali", + "url": "http://www.example.com", + "email": "example@email.com" + }, + "changelogUrl": "https://example.com/changelog.html", + "documentationUrl": "https://example.com/", + "licensesUrl": "https://example.com/licensing.html" +} \ No newline at end of file diff --git a/Packages/com.omarator.mosissdk/package.json.meta b/Packages/com.omarator.mosissdk/package.json.meta new file mode 100644 index 0000000..210e751 --- /dev/null +++ b/Packages/com.omarator.mosissdk/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 46853107f54994b2991315d760cfb842 +PackageManifestImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index a6d7359..51e2b85 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,13 @@ { "dependencies": { + "com.omixlab.mosis_sdk": { + "version": "file:com.omarator.mosissdk", + "depth": 0, + "source": "embedded", + "dependencies": { + "com.unity.test-framework": "1.6.0" + } + }, "com.unity.2d.animation": { "version": "13.0.2", "depth": 0,