├── LICENSE ├── README.md ├── React ├── .babelrc ├── .buckconfig ├── .flowconfig ├── .gitattributes ├── .gitignore ├── .watchmanconfig ├── UnityReactExport │ ├── build.gradle │ └── proguard-unity.txt ├── android │ ├── .gitignore │ ├── app │ │ ├── .gitignore │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── marijnzwemmer │ │ │ │ └── unityreact │ │ │ │ ├── ContainerLayout.java │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ ├── layout │ │ │ └── fragment_unity_react.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle ├── app.json ├── index.js ├── package-lock.json └── package.json └── Unity ├── .gitignore ├── Assets ├── Main.unity ├── Main.unity.meta ├── Plugins.meta ├── Plugins │ ├── Android.meta │ └── Android │ │ ├── AndroidManifest.xml │ │ ├── AndroidManifest.xml.meta │ │ ├── mainTemplate.gradle │ │ └── mainTemplate.gradle.meta ├── Scripts.meta └── Scripts │ ├── Editor.meta │ ├── Editor │ ├── Build.cs │ └── Build.cs.meta │ ├── Rotate.cs │ └── Rotate.cs.meta ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.asset ├── UnityPackageManager └── manifest.json ├── build.sh └── user.keystore /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Marijn Zwemmer 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # unity-react 2 | An example setup to run React on top of Unity for Android. 3 | 4 | 5 | 6 | ## How to use 7 | 1. Have an Android (virtual) device connected 8 | 2. Open the Unity project with Unity (2017.x or higher will do) 9 | 3. Run Build/Run Android, the first time this can take up to a couple minutes 10 | 4. Open app on device 11 | 12 | ## What it does 13 | When running the build, the Unity project will be exported as a Gradle project. The src and libs will be copied over to another Gradle project folder, React/UnityReactExport. Then, React Native is build with UnityReactExport as a dependency project. 14 | 15 | When opening the app, a custom layout is created with both the React and Unity layouts as childs. It supports hot reloading of the JS content. 16 | 17 | ## Why? 18 | Mostly for fun. But if you find yourself in a situation in which this makes sense, I hope this example helps. 19 | 20 | ## Any issues or questions? 21 | Please let me know through marijn@marijnzwemmer.com 22 | -------------------------------------------------------------------------------- /React/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"] 3 | } 4 | -------------------------------------------------------------------------------- /React/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /React/.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | ; We fork some components by platform 3 | .*/*[.]android.js 4 | 5 | ; Ignore "BUCK" generated dirs 6 | /\.buckd/ 7 | 8 | ; Ignore unexpected extra "@providesModule" 9 | .*/node_modules/.*/node_modules/fbjs/.* 10 | 11 | ; Ignore duplicate module providers 12 | ; For RN Apps installed via npm, "Libraries" folder is inside 13 | ; "node_modules/react-native" but in the source repo it is in the root 14 | .*/Libraries/react-native/React.js 15 | .*/Libraries/react-native/ReactNative.js 16 | 17 | [include] 18 | 19 | [libs] 20 | node_modules/react-native/Libraries/react-native/react-native-interface.js 21 | node_modules/react-native/flow 22 | flow/ 23 | 24 | [options] 25 | emoji=true 26 | 27 | module.system=haste 28 | 29 | munge_underscores=true 30 | 31 | module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' 32 | 33 | suppress_type=$FlowIssue 34 | suppress_type=$FlowFixMe 35 | suppress_type=$FixMe 36 | 37 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-7]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) 38 | suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-7]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ 39 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy 40 | suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError 41 | 42 | unsafe.enable_getters_and_setters=true 43 | 44 | [version] 45 | ^0.47.0 46 | -------------------------------------------------------------------------------- /React/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /React/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | project.xcworkspace 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | 33 | # node.js 34 | # 35 | node_modules/ 36 | npm-debug.log 37 | yarn-error.log 38 | 39 | # BUCK 40 | buck-out/ 41 | \.buckd/ 42 | *.keystore 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md 50 | 51 | fastlane/report.xml 52 | fastlane/Preview.html 53 | fastlane/screenshots 54 | -------------------------------------------------------------------------------- /React/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /React/UnityReactExport/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | jcenter() 4 | } 5 | 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:2.1.0' 8 | } 9 | } 10 | 11 | allprojects { 12 | repositories { 13 | flatDir { 14 | dirs 'libs' 15 | } 16 | } 17 | } 18 | 19 | apply plugin: 'com.android.library' 20 | 21 | dependencies { 22 | compile fileTree(dir: 'libs', include: ['*.jar']) 23 | } 24 | 25 | android { 26 | compileSdkVersion 24 27 | buildToolsVersion '25.0.2' 28 | 29 | defaultConfig { 30 | ndk { 31 | abiFilters "armeabi-v7a", "x86" 32 | } 33 | packagingOptions { 34 | exclude '/lib/arm64-v8a/libimagepipeline.so' 35 | exclude '/lib/x86_64/libimagepipeline.so' 36 | } 37 | targetSdkVersion 24 38 | } 39 | 40 | lintOptions { 41 | abortOnError false 42 | } 43 | signingConfigs { release { 44 | storeFile file('/Users/marijnzwemmer/Projects/UnityReact/Unity/user.keystore') 45 | storePassword 'marijnpass' 46 | keyAlias 'unityreact' 47 | keyPassword 'marijnpass' 48 | } } 49 | 50 | buildTypes { 51 | debug { 52 | minifyEnabled false 53 | useProguard false 54 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt' 55 | jniDebuggable true 56 | } 57 | release { 58 | minifyEnabled true 59 | useProguard true 60 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt' 61 | signingConfig signingConfigs.release 62 | } 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /React/UnityReactExport/proguard-unity.txt: -------------------------------------------------------------------------------- 1 | -keep class bitter.jnibridge.* { *; } 2 | -keep class com.unity3d.player.* { *; } 3 | -keep class org.fmod.* { *; } 4 | -------------------------------------------------------------------------------- /React/android/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /React/android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /React/android/app/BUCK: -------------------------------------------------------------------------------- 1 | # To learn about Buck see [Docs](https://buckbuild.com/). 2 | # To run your application with Buck: 3 | # - install Buck 4 | # - `npm start` - to start the packager 5 | # - `cd android` 6 | # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` 7 | # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck 8 | # - `buck install -r android/app` - compile, install and run application 9 | # 10 | 11 | lib_deps = [] 12 | 13 | for jarfile in glob(['libs/*.jar']): 14 | name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')] 15 | lib_deps.append(':' + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | 21 | for aarfile in glob(['libs/*.aar']): 22 | name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')] 23 | lib_deps.append(':' + name) 24 | android_prebuilt_aar( 25 | name = name, 26 | aar = aarfile, 27 | ) 28 | 29 | android_library( 30 | name = "all-libs", 31 | exported_deps = lib_deps, 32 | ) 33 | 34 | android_library( 35 | name = "app-code", 36 | srcs = glob([ 37 | "src/main/java/**/*.java", 38 | ]), 39 | deps = [ 40 | ":all-libs", 41 | ":build_config", 42 | ":res", 43 | ], 44 | ) 45 | 46 | android_build_config( 47 | name = "build_config", 48 | package = "com.unityreact", 49 | ) 50 | 51 | android_resource( 52 | name = "res", 53 | package = "com.unityreact", 54 | res = "src/main/res", 55 | ) 56 | 57 | android_binary( 58 | name = "app", 59 | keystore = "//android/keystores:debug", 60 | manifest = "src/main/AndroidManifest.xml", 61 | package_type = "debug", 62 | deps = [ 63 | ":app-code", 64 | ], 65 | ) 66 | -------------------------------------------------------------------------------- /React/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 23 5 | buildToolsVersion "25.0.2" 6 | defaultConfig { 7 | multiDexEnabled true 8 | minSdkVersion 17 9 | targetSdkVersion 23 10 | versionCode 1 11 | versionName "1.0" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | ndk { 14 | abiFilters "armeabi-v7a", "x86" 15 | } 16 | 17 | packagingOptions { 18 | exclude '/lib/mips64/**' 19 | exclude '/lib/arm64-v8a/**' 20 | exclude '/lib/x86_64/**' 21 | } 22 | } 23 | dexOptions { 24 | // preDexLibraries false 25 | javaMaxHeapSize "4g" 26 | } 27 | buildTypes { 28 | release { 29 | minifyEnabled false 30 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 31 | } 32 | } 33 | } 34 | 35 | dependencies { 36 | provided fileTree(dir: 'libs', include: ['*.jar']).matching { include "classes.jar" }// provided, otherwise clases with Unity's own classes 37 | 38 | compile'com.android.support:appcompat-v7:23.2.1' 39 | compile 'com.android.support:support-v4:23.2.1' 40 | compile 'com.android.support:recyclerview-v7:23.2.1' 41 | 42 | compile("com.facebook.react:react-native:0.46.1@aar"){ 43 | transitive = true 44 | } 45 | compile project(":UnityReactExport") 46 | } 47 | 48 | def unityPath = '/Users/marijnzwemmer/Projects/UnityReact/Unity/Assets/Plugins/Android'; 49 | def exportedName = 'UnityReact.aar'; 50 | 51 | 52 | task exportAar(type: Copy) { 53 | from 'build/outputs/aar/app-release.aar' 54 | into unityPath 55 | rename('app-release.aar', exportedName) 56 | } 57 | 58 | 59 | task deleteOldAar(type: Delete) { 60 | delete unityPath + '.' + exportedName 61 | } 62 | 63 | exportAar.dependsOn(deleteOldAar); 64 | 65 | 66 | task copyLibs(type: Copy) { 67 | from configurations.compile 68 | into 'libs' 69 | } 70 | 71 | 72 | -------------------------------------------------------------------------------- /React/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Disabling obfuscation is useful if you collect stack traces from production crashes 20 | # (unless you are using a system that supports de-obfuscate the stack traces). 21 | -dontobfuscate 22 | 23 | # React Native 24 | 25 | # Keep our interfaces so they can be used by other ProGuard rules. 26 | # See http://sourceforge.net/p/proguard/bugs/466/ 27 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip 28 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters 29 | -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip 30 | 31 | # Do not strip any method/class that is annotated with @DoNotStrip 32 | -keep @com.facebook.proguard.annotations.DoNotStrip class * 33 | -keep @com.facebook.common.internal.DoNotStrip class * 34 | -keepclassmembers class * { 35 | @com.facebook.proguard.annotations.DoNotStrip *; 36 | @com.facebook.common.internal.DoNotStrip *; 37 | } 38 | 39 | -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { 40 | void set*(***); 41 | *** get*(); 42 | } 43 | 44 | -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } 45 | -keep class * extends com.facebook.react.bridge.NativeModule { *; } 46 | -keepclassmembers,includedescriptorclasses class * { native ; } 47 | -keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } 48 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } 49 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } 50 | 51 | -dontwarn com.facebook.react.** 52 | 53 | # TextLayoutBuilder uses a non-public Android constructor within StaticLayout. 54 | # See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details. 55 | -dontwarn android.text.StaticLayout 56 | 57 | # okhttp 58 | 59 | -keepattributes Signature 60 | -keepattributes *Annotation* 61 | -keep class okhttp3.** { *; } 62 | -keep interface okhttp3.** { *; } 63 | -dontwarn okhttp3.** 64 | 65 | # okio 66 | 67 | -keep class sun.misc.Unsafe { *; } 68 | -dontwarn java.nio.file.* 69 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 70 | -dontwarn okio.** 71 | -------------------------------------------------------------------------------- /React/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /React/android/app/src/main/java/com/marijnzwemmer/unityreact/ContainerLayout.java: -------------------------------------------------------------------------------- 1 | package com.marijnzwemmer.unityreact; 2 | 3 | import android.content.Context; 4 | import android.graphics.Color; 5 | import android.graphics.drawable.ColorDrawable; 6 | import android.util.Log; 7 | import android.view.MotionEvent; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | import android.widget.RelativeLayout; 11 | 12 | import com.facebook.react.ReactRootView; 13 | import com.unity3d.player.UnityPlayer; 14 | 15 | /** 16 | * Created by marijnzwemmer on 11/11/17. 17 | */ 18 | 19 | public class ContainerLayout extends RelativeLayout { 20 | final static int transparant = Color.parseColor("#00000000"); 21 | 22 | UnityPlayer unityPlayer; 23 | ReactRootView reactRootView; 24 | Context context; 25 | 26 | public ContainerLayout(Context context, final UnityPlayer unityPlayer, final ReactRootView reactRootView) { 27 | super(context); 28 | this.unityPlayer = unityPlayer; 29 | this.reactRootView = reactRootView; 30 | this.context = context; 31 | 32 | final RelativeLayout subLayout1 = createLayout(); 33 | final RelativeLayout subLayout2 = createLayout(); 34 | 35 | subLayout1.setBackground(new ColorDrawable(transparant)); 36 | subLayout2.setBackground(new ColorDrawable(transparant)); 37 | 38 | subLayout1.addView(unityPlayer); 39 | subLayout2.addView(reactRootView); 40 | 41 | addView(subLayout1); 42 | addView(subLayout2); 43 | } 44 | 45 | @Override 46 | public boolean onInterceptTouchEvent(MotionEvent ev) { 47 | // Assuming that React is on top Unity, first let React handle touches as usual, then manually Unity 48 | onTouchEvent(ev); 49 | unityPlayer.onTouchEvent(ev); 50 | return false; 51 | } 52 | 53 | private RelativeLayout createLayout() { 54 | RelativeLayout layout = new RelativeLayout(context); 55 | layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 56 | layout.setLayoutDirection(View.LAYOUT_DIRECTION_LTR); 57 | return layout; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /React/android/app/src/main/java/com/marijnzwemmer/unityreact/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.marijnzwemmer.unityreact; 2 | 3 | import android.content.Intent; 4 | import android.net.Uri; 5 | import android.os.Build; 6 | import android.os.Bundle; 7 | import android.provider.Settings; 8 | import android.view.KeyEvent; 9 | import android.view.View; 10 | import android.view.ViewGroup; 11 | import android.widget.RelativeLayout; 12 | 13 | import com.facebook.react.*; 14 | import com.facebook.react.BuildConfig; 15 | import com.facebook.react.common.LifecycleState; 16 | import com.facebook.react.shell.MainReactPackage; 17 | import com.unity3d.player.UnityPlayer; 18 | import com.unity3d.player.UnityPlayerActivity; 19 | 20 | /** 21 | * Created by marijnzwemmer on 29/10/17. 22 | */ 23 | 24 | public class MainActivity extends UnityPlayerActivity { 25 | 26 | private ReactRootView mReactRootView; 27 | private ReactInstanceManager mReactInstanceManager; 28 | 29 | private int OVERLAY_PERMISSION_REQ_CODE = 99; 30 | 31 | @Override 32 | protected void onCreate(Bundle savedInstanceState) { 33 | super.onCreate(savedInstanceState); 34 | 35 | mReactRootView = new ReactRootView(this); 36 | 37 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 38 | if (!Settings.canDrawOverlays(this)) { 39 | Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, 40 | Uri.parse("package:" + getPackageName())); 41 | startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE); 42 | } 43 | } 44 | 45 | mReactInstanceManager = ReactInstanceManager.builder() 46 | .setApplication(getApplication()) 47 | .setBundleAssetName("index.android.bundle") 48 | .setJSMainModuleName("index") 49 | .addPackage(new MainReactPackage()) 50 | .setUseDeveloperSupport(true) 51 | .setInitialLifecycleState(LifecycleState.RESUMED) 52 | .build(); 53 | mReactRootView.startReactApplication(mReactInstanceManager, "UnityReact", null); 54 | 55 | ((ViewGroup) mUnityPlayer.getParent()).removeView(mUnityPlayer); 56 | 57 | setContentView(createContainer(mUnityPlayer, mReactRootView)); 58 | } 59 | 60 | private RelativeLayout createContainer(UnityPlayer unityPlayer, ReactRootView reactRootView) { 61 | RelativeLayout layout = new ContainerLayout(this, unityPlayer, reactRootView); 62 | layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 63 | layout.setLayoutDirection(View.LAYOUT_DIRECTION_LTR); 64 | return layout; 65 | } 66 | 67 | @Override 68 | protected void onActivityResult(int requestCode, int resultCode, Intent data) { 69 | if (requestCode == OVERLAY_PERMISSION_REQ_CODE) { 70 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 71 | if (!Settings.canDrawOverlays(this)) { 72 | // SYSTEM_ALERT_WINDOW permission not granted... 73 | } 74 | } 75 | } 76 | } 77 | 78 | @Override 79 | protected void onPause() { 80 | super.onPause(); 81 | 82 | if (mReactInstanceManager != null) { 83 | mReactInstanceManager.onHostPause(this); 84 | } 85 | } 86 | 87 | @Override 88 | protected void onResume() { 89 | super.onResume(); 90 | 91 | if (mReactInstanceManager != null) { 92 | mReactInstanceManager.onHostResume(this, null); 93 | } 94 | } 95 | 96 | @Override 97 | protected void onDestroy() { 98 | super.onDestroy(); 99 | 100 | if (mReactInstanceManager != null) { 101 | mReactInstanceManager.onHostDestroy(); 102 | } 103 | } 104 | 105 | @Override 106 | public void onBackPressed() { 107 | if (mReactInstanceManager != null) { 108 | mReactInstanceManager.onBackPressed(); 109 | } else { 110 | super.onBackPressed(); 111 | } 112 | } 113 | 114 | @Override 115 | public boolean onKeyUp(int keyCode, KeyEvent event) { 116 | if (keyCode == KeyEvent.KEYCODE_MENU && mReactInstanceManager != null) { 117 | mReactInstanceManager.showDevOptionsDialog(); 118 | return true; 119 | } 120 | return super.onKeyUp(keyCode, event); 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /React/android/app/src/main/res/layout/fragment_unity_react.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /React/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/React/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /React/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/React/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /React/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/React/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /React/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/React/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /React/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/React/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /React/android/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /React/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UnityReact 3 | 4 | 5 | Hello blank fragment 6 | 7 | -------------------------------------------------------------------------------- /React/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /React/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | jcenter() 4 | maven { 5 | url "http://dl.bintray.com/vigidroid/maven" 6 | } 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:2.3.3' 10 | } 11 | } 12 | 13 | allprojects { 14 | 15 | repositories { 16 | maven { url "$rootDir/../node_modules/react-native/android" } // All of React Native (JS, Android binaries) is installed from npm 17 | jcenter() 18 | flatDir { 19 | dirs 'libs' 20 | } 21 | } 22 | } 23 | 24 | task clean(type: Delete) { 25 | delete rootProject.buildDir 26 | } 27 | -------------------------------------------------------------------------------- /React/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useDeprecatedNdk=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /React/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/React/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /React/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 15 17:18:22 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /React/android/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # For Cygwin, ensure paths are in UNIX format before anything is touched. 46 | if $cygwin ; then 47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 48 | fi 49 | 50 | # Attempt to set APP_HOME 51 | # Resolve links: $0 may be a link 52 | PRG="$0" 53 | # Need this for relative symlinks. 54 | while [ -h "$PRG" ] ; do 55 | ls=`ls -ld "$PRG"` 56 | link=`expr "$ls" : '.*-> \(.*\)$'` 57 | if expr "$link" : '/.*' > /dev/null; then 58 | PRG="$link" 59 | else 60 | PRG=`dirname "$PRG"`"/$link" 61 | fi 62 | done 63 | SAVED="`pwd`" 64 | cd "`dirname \"$PRG\"`/" >&- 65 | APP_HOME="`pwd -P`" 66 | cd "$SAVED" >&- 67 | 68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 69 | 70 | # Determine the Java command to use to start the JVM. 71 | if [ -n "$JAVA_HOME" ] ; then 72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 73 | # IBM's JDK on AIX uses strange locations for the executables 74 | JAVACMD="$JAVA_HOME/jre/sh/java" 75 | else 76 | JAVACMD="$JAVA_HOME/bin/java" 77 | fi 78 | if [ ! -x "$JAVACMD" ] ; then 79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 80 | 81 | Please set the JAVA_HOME variable in your environment to match the 82 | location of your Java installation." 83 | fi 84 | else 85 | JAVACMD="java" 86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 87 | 88 | Please set the JAVA_HOME variable in your environment to match the 89 | location of your Java installation." 90 | fi 91 | 92 | # Increase the maximum file descriptors if we can. 93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 94 | MAX_FD_LIMIT=`ulimit -H -n` 95 | if [ $? -eq 0 ] ; then 96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 97 | MAX_FD="$MAX_FD_LIMIT" 98 | fi 99 | ulimit -n $MAX_FD 100 | if [ $? -ne 0 ] ; then 101 | warn "Could not set maximum file descriptor limit: $MAX_FD" 102 | fi 103 | else 104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 105 | fi 106 | fi 107 | 108 | # For Darwin, add options to specify how the application appears in the dock 109 | if $darwin; then 110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 111 | fi 112 | 113 | # For Cygwin, switch paths to Windows format before running java 114 | if $cygwin ; then 115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 158 | function splitJvmOpts() { 159 | JVM_OPTS=("$@") 160 | } 161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 163 | 164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 165 | -------------------------------------------------------------------------------- /React/android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /React/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /React/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /React/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | 4 | include ":UnityReactExport" 5 | project(":UnityReactExport").projectDir = file("../UnityReactExport") -------------------------------------------------------------------------------- /React/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UnityReact", 3 | "displayName": "UnityReact" 4 | } -------------------------------------------------------------------------------- /React/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import React from 'react'; 4 | import { 5 | AppRegistry, 6 | StyleSheet, 7 | Text, 8 | View, 9 | ScrollView 10 | } from 'react-native'; 11 | 12 | class HelloWorld extends React.Component { 13 | render() { 14 | return ( 15 | 16 | 17 | 18 | React scroll 19 | React scroll 20 | React scroll 21 | 22 | 23 | 24 | ); 25 | } 26 | } 27 | var styles = StyleSheet.create({ 28 | container: { 29 | flex: 1, 30 | justifyContent: 'center', 31 | backgroundColor: 'transparent', 32 | }, 33 | hello: { 34 | fontSize: 20, 35 | textAlign: 'center', 36 | margin: 10, 37 | }, 38 | }); 39 | 40 | AppRegistry.registerComponent('UnityReact', () => HelloWorld); -------------------------------------------------------------------------------- /React/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UnityReact", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start" 7 | }, 8 | "dependencies": { 9 | "react": "16.0.0-alpha.8", 10 | "react-native": "0.46.1" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Unity/.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 | /.idea/ 11 | 12 | # Autogenerated VS/MD/Consulo solution and project files 13 | ExportedObj/ 14 | .consulo/ 15 | *.csproj 16 | *.unityproj 17 | *.sln 18 | *.suo 19 | *.tmp 20 | *.user 21 | *.userprefs 22 | *.pidb 23 | *.booproj 24 | *.svd 25 | *.pdb 26 | 27 | # Unity3D generated meta files 28 | *.pidb.meta 29 | 30 | # Unity3D Generated File On Crash Reports 31 | sysinfo.txt 32 | 33 | # Builds 34 | *.apk 35 | *.unitypackage 36 | -------------------------------------------------------------------------------- /Unity/Assets/Main.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 8 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.44659358, g: 0.49642974, b: 0.574825, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFiltering: 0 81 | m_PVRFilteringMode: 1 82 | m_PVRCulling: 1 83 | m_PVRFilteringGaussRadiusDirect: 1 84 | m_PVRFilteringGaussRadiusIndirect: 5 85 | m_PVRFilteringGaussRadiusAO: 2 86 | m_PVRFilteringAtrousColorSigma: 1 87 | m_PVRFilteringAtrousNormalSigma: 1 88 | m_PVRFilteringAtrousPositionSigma: 1 89 | m_LightingDataAsset: {fileID: 0} 90 | m_UseShadowmask: 1 91 | --- !u!196 &4 92 | NavMeshSettings: 93 | serializedVersion: 2 94 | m_ObjectHideFlags: 0 95 | m_BuildSettings: 96 | serializedVersion: 2 97 | agentTypeID: 0 98 | agentRadius: 0.5 99 | agentHeight: 2 100 | agentSlope: 45 101 | agentClimb: 0.4 102 | ledgeDropHeight: 0 103 | maxJumpAcrossDistance: 0 104 | minRegionArea: 2 105 | manualCellSize: 0 106 | cellSize: 0.16666667 107 | manualTileSize: 0 108 | tileSize: 256 109 | accuratePlacement: 0 110 | m_NavMeshData: {fileID: 0} 111 | --- !u!1 &2957597 112 | GameObject: 113 | m_ObjectHideFlags: 0 114 | m_PrefabParentObject: {fileID: 0} 115 | m_PrefabInternal: {fileID: 0} 116 | serializedVersion: 5 117 | m_Component: 118 | - component: {fileID: 2957599} 119 | - component: {fileID: 2957598} 120 | m_Layer: 0 121 | m_Name: Directional Light 122 | m_TagString: Untagged 123 | m_Icon: {fileID: 0} 124 | m_NavMeshLayer: 0 125 | m_StaticEditorFlags: 0 126 | m_IsActive: 1 127 | --- !u!108 &2957598 128 | Light: 129 | m_ObjectHideFlags: 0 130 | m_PrefabParentObject: {fileID: 0} 131 | m_PrefabInternal: {fileID: 0} 132 | m_GameObject: {fileID: 2957597} 133 | m_Enabled: 1 134 | serializedVersion: 8 135 | m_Type: 1 136 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 137 | m_Intensity: 1 138 | m_Range: 10 139 | m_SpotAngle: 30 140 | m_CookieSize: 10 141 | m_Shadows: 142 | m_Type: 2 143 | m_Resolution: -1 144 | m_CustomResolution: -1 145 | m_Strength: 1 146 | m_Bias: 0.05 147 | m_NormalBias: 0.4 148 | m_NearPlane: 0.2 149 | m_Cookie: {fileID: 0} 150 | m_DrawHalo: 0 151 | m_Flare: {fileID: 0} 152 | m_RenderMode: 0 153 | m_CullingMask: 154 | serializedVersion: 2 155 | m_Bits: 4294967295 156 | m_Lightmapping: 4 157 | m_AreaSize: {x: 1, y: 1} 158 | m_BounceIntensity: 1 159 | m_ColorTemperature: 6570 160 | m_UseColorTemperature: 0 161 | m_ShadowRadius: 0 162 | m_ShadowAngle: 0 163 | --- !u!4 &2957599 164 | Transform: 165 | m_ObjectHideFlags: 0 166 | m_PrefabParentObject: {fileID: 0} 167 | m_PrefabInternal: {fileID: 0} 168 | m_GameObject: {fileID: 2957597} 169 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 170 | m_LocalPosition: {x: 0, y: 3, z: 0} 171 | m_LocalScale: {x: 1, y: 1, z: 1} 172 | m_Children: [] 173 | m_Father: {fileID: 0} 174 | m_RootOrder: 1 175 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 176 | --- !u!1 &206112489 177 | GameObject: 178 | m_ObjectHideFlags: 0 179 | m_PrefabParentObject: {fileID: 0} 180 | m_PrefabInternal: {fileID: 0} 181 | serializedVersion: 5 182 | m_Component: 183 | - component: {fileID: 206112490} 184 | - component: {fileID: 206112491} 185 | m_Layer: 5 186 | m_Name: Content 187 | m_TagString: Untagged 188 | m_Icon: {fileID: 0} 189 | m_NavMeshLayer: 0 190 | m_StaticEditorFlags: 0 191 | m_IsActive: 1 192 | --- !u!224 &206112490 193 | RectTransform: 194 | m_ObjectHideFlags: 0 195 | m_PrefabParentObject: {fileID: 0} 196 | m_PrefabInternal: {fileID: 0} 197 | m_GameObject: {fileID: 206112489} 198 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 199 | m_LocalPosition: {x: 0, y: 0, z: 0} 200 | m_LocalScale: {x: 1, y: 1, z: 1} 201 | m_Children: 202 | - {fileID: 1734074199} 203 | - {fileID: 1611400087} 204 | - {fileID: 1143262681} 205 | - {fileID: 480181481} 206 | - {fileID: 1126097734} 207 | - {fileID: 1388591713} 208 | - {fileID: 453039382} 209 | - {fileID: 436961061} 210 | m_Father: {fileID: 1860260022} 211 | m_RootOrder: 0 212 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 213 | m_AnchorMin: {x: 0, y: 1} 214 | m_AnchorMax: {x: 1, y: 1} 215 | m_AnchoredPosition: {x: 0, y: 0} 216 | m_SizeDelta: {x: 0, y: 2238} 217 | m_Pivot: {x: 0, y: 1} 218 | --- !u!114 &206112491 219 | MonoBehaviour: 220 | m_ObjectHideFlags: 0 221 | m_PrefabParentObject: {fileID: 0} 222 | m_PrefabInternal: {fileID: 0} 223 | m_GameObject: {fileID: 206112489} 224 | m_Enabled: 1 225 | m_EditorHideFlags: 0 226 | m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} 227 | m_Name: 228 | m_EditorClassIdentifier: 229 | m_Padding: 230 | m_Left: 0 231 | m_Right: 0 232 | m_Top: 0 233 | m_Bottom: 0 234 | m_ChildAlignment: 0 235 | m_Spacing: 0 236 | m_ChildForceExpandWidth: 1 237 | m_ChildForceExpandHeight: 1 238 | m_ChildControlWidth: 0 239 | m_ChildControlHeight: 1 240 | --- !u!1 &214473980 241 | GameObject: 242 | m_ObjectHideFlags: 0 243 | m_PrefabParentObject: {fileID: 0} 244 | m_PrefabInternal: {fileID: 0} 245 | serializedVersion: 5 246 | m_Component: 247 | - component: {fileID: 214473985} 248 | - component: {fileID: 214473984} 249 | - component: {fileID: 214473983} 250 | - component: {fileID: 214473982} 251 | - component: {fileID: 214473981} 252 | m_Layer: 0 253 | m_Name: Cube 254 | m_TagString: Untagged 255 | m_Icon: {fileID: 0} 256 | m_NavMeshLayer: 0 257 | m_StaticEditorFlags: 0 258 | m_IsActive: 1 259 | --- !u!114 &214473981 260 | MonoBehaviour: 261 | m_ObjectHideFlags: 0 262 | m_PrefabParentObject: {fileID: 0} 263 | m_PrefabInternal: {fileID: 0} 264 | m_GameObject: {fileID: 214473980} 265 | m_Enabled: 1 266 | m_EditorHideFlags: 0 267 | m_Script: {fileID: 11500000, guid: e2056c77806504b02a30bfe97994123a, type: 3} 268 | m_Name: 269 | m_EditorClassIdentifier: 270 | --- !u!23 &214473982 271 | MeshRenderer: 272 | m_ObjectHideFlags: 0 273 | m_PrefabParentObject: {fileID: 0} 274 | m_PrefabInternal: {fileID: 0} 275 | m_GameObject: {fileID: 214473980} 276 | m_Enabled: 1 277 | m_CastShadows: 1 278 | m_ReceiveShadows: 1 279 | m_MotionVectors: 1 280 | m_LightProbeUsage: 1 281 | m_ReflectionProbeUsage: 1 282 | m_Materials: 283 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 284 | m_StaticBatchInfo: 285 | firstSubMesh: 0 286 | subMeshCount: 0 287 | m_StaticBatchRoot: {fileID: 0} 288 | m_ProbeAnchor: {fileID: 0} 289 | m_LightProbeVolumeOverride: {fileID: 0} 290 | m_ScaleInLightmap: 1 291 | m_PreserveUVs: 1 292 | m_IgnoreNormalsForChartDetection: 0 293 | m_ImportantGI: 0 294 | m_SelectedEditorRenderState: 3 295 | m_MinimumChartSize: 4 296 | m_AutoUVMaxDistance: 0.5 297 | m_AutoUVMaxAngle: 89 298 | m_LightmapParameters: {fileID: 0} 299 | m_SortingLayerID: 0 300 | m_SortingLayer: 0 301 | m_SortingOrder: 0 302 | --- !u!65 &214473983 303 | BoxCollider: 304 | m_ObjectHideFlags: 0 305 | m_PrefabParentObject: {fileID: 0} 306 | m_PrefabInternal: {fileID: 0} 307 | m_GameObject: {fileID: 214473980} 308 | m_Material: {fileID: 0} 309 | m_IsTrigger: 0 310 | m_Enabled: 1 311 | serializedVersion: 2 312 | m_Size: {x: 1, y: 1, z: 1} 313 | m_Center: {x: 0, y: 0, z: 0} 314 | --- !u!33 &214473984 315 | MeshFilter: 316 | m_ObjectHideFlags: 0 317 | m_PrefabParentObject: {fileID: 0} 318 | m_PrefabInternal: {fileID: 0} 319 | m_GameObject: {fileID: 214473980} 320 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 321 | --- !u!4 &214473985 322 | Transform: 323 | m_ObjectHideFlags: 0 324 | m_PrefabParentObject: {fileID: 0} 325 | m_PrefabInternal: {fileID: 0} 326 | m_GameObject: {fileID: 214473980} 327 | m_LocalRotation: {x: -0, y: 0.3955054, z: -0, w: 0.91846365} 328 | m_LocalPosition: {x: 0.853, y: 1.27, z: -3.94} 329 | m_LocalScale: {x: 1, y: 1, z: 1} 330 | m_Children: [] 331 | m_Father: {fileID: 0} 332 | m_RootOrder: 4 333 | m_LocalEulerAnglesHint: {x: 0, y: 46.595, z: 0} 334 | --- !u!1 &436961060 335 | GameObject: 336 | m_ObjectHideFlags: 0 337 | m_PrefabParentObject: {fileID: 0} 338 | m_PrefabInternal: {fileID: 0} 339 | serializedVersion: 5 340 | m_Component: 341 | - component: {fileID: 436961061} 342 | - component: {fileID: 436961064} 343 | - component: {fileID: 436961063} 344 | - component: {fileID: 436961062} 345 | m_Layer: 5 346 | m_Name: Text (7) 347 | m_TagString: Untagged 348 | m_Icon: {fileID: 0} 349 | m_NavMeshLayer: 0 350 | m_StaticEditorFlags: 0 351 | m_IsActive: 1 352 | --- !u!224 &436961061 353 | RectTransform: 354 | m_ObjectHideFlags: 0 355 | m_PrefabParentObject: {fileID: 0} 356 | m_PrefabInternal: {fileID: 0} 357 | m_GameObject: {fileID: 436961060} 358 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 359 | m_LocalPosition: {x: 0, y: 0, z: 0} 360 | m_LocalScale: {x: 0.9999989, y: 0.9999989, z: 0.9999989} 361 | m_Children: [] 362 | m_Father: {fileID: 206112490} 363 | m_RootOrder: 7 364 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 365 | m_AnchorMin: {x: 0, y: 0} 366 | m_AnchorMax: {x: 0, y: 0} 367 | m_AnchoredPosition: {x: 0, y: 0} 368 | m_SizeDelta: {x: 762.4, y: 0} 369 | m_Pivot: {x: 0.5, y: 0.5} 370 | --- !u!114 &436961062 371 | MonoBehaviour: 372 | m_ObjectHideFlags: 0 373 | m_PrefabParentObject: {fileID: 0} 374 | m_PrefabInternal: {fileID: 0} 375 | m_GameObject: {fileID: 436961060} 376 | m_Enabled: 1 377 | m_EditorHideFlags: 0 378 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 379 | m_Name: 380 | m_EditorClassIdentifier: 381 | m_IgnoreLayout: 0 382 | m_MinWidth: -1 383 | m_MinHeight: 446.22 384 | m_PreferredWidth: -1 385 | m_PreferredHeight: -1 386 | m_FlexibleWidth: -1 387 | m_FlexibleHeight: -1 388 | m_LayoutPriority: 1 389 | --- !u!114 &436961063 390 | MonoBehaviour: 391 | m_ObjectHideFlags: 0 392 | m_PrefabParentObject: {fileID: 0} 393 | m_PrefabInternal: {fileID: 0} 394 | m_GameObject: {fileID: 436961060} 395 | m_Enabled: 1 396 | m_EditorHideFlags: 0 397 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 398 | m_Name: 399 | m_EditorClassIdentifier: 400 | m_Material: {fileID: 0} 401 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 402 | m_RaycastTarget: 1 403 | m_OnCullStateChanged: 404 | m_PersistentCalls: 405 | m_Calls: [] 406 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 407 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 408 | m_FontData: 409 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 410 | m_FontSize: 194 411 | m_FontStyle: 0 412 | m_BestFit: 0 413 | m_MinSize: 10 414 | m_MaxSize: 300 415 | m_Alignment: 0 416 | m_AlignByGeometry: 0 417 | m_RichText: 1 418 | m_HorizontalOverflow: 0 419 | m_VerticalOverflow: 0 420 | m_LineSpacing: 1 421 | m_Text: Unity scroll rect 422 | --- !u!222 &436961064 423 | CanvasRenderer: 424 | m_ObjectHideFlags: 0 425 | m_PrefabParentObject: {fileID: 0} 426 | m_PrefabInternal: {fileID: 0} 427 | m_GameObject: {fileID: 436961060} 428 | --- !u!1 &453039381 429 | GameObject: 430 | m_ObjectHideFlags: 0 431 | m_PrefabParentObject: {fileID: 0} 432 | m_PrefabInternal: {fileID: 0} 433 | serializedVersion: 5 434 | m_Component: 435 | - component: {fileID: 453039382} 436 | - component: {fileID: 453039385} 437 | - component: {fileID: 453039384} 438 | - component: {fileID: 453039383} 439 | m_Layer: 5 440 | m_Name: Text (6) 441 | m_TagString: Untagged 442 | m_Icon: {fileID: 0} 443 | m_NavMeshLayer: 0 444 | m_StaticEditorFlags: 0 445 | m_IsActive: 1 446 | --- !u!224 &453039382 447 | RectTransform: 448 | m_ObjectHideFlags: 0 449 | m_PrefabParentObject: {fileID: 0} 450 | m_PrefabInternal: {fileID: 0} 451 | m_GameObject: {fileID: 453039381} 452 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 453 | m_LocalPosition: {x: 0, y: 0, z: 0} 454 | m_LocalScale: {x: 0.9999989, y: 0.9999989, z: 0.9999989} 455 | m_Children: [] 456 | m_Father: {fileID: 206112490} 457 | m_RootOrder: 6 458 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 459 | m_AnchorMin: {x: 0, y: 0} 460 | m_AnchorMax: {x: 0, y: 0} 461 | m_AnchoredPosition: {x: 0, y: 0} 462 | m_SizeDelta: {x: 762.4, y: 0} 463 | m_Pivot: {x: 0.5, y: 0.5} 464 | --- !u!114 &453039383 465 | MonoBehaviour: 466 | m_ObjectHideFlags: 0 467 | m_PrefabParentObject: {fileID: 0} 468 | m_PrefabInternal: {fileID: 0} 469 | m_GameObject: {fileID: 453039381} 470 | m_Enabled: 1 471 | m_EditorHideFlags: 0 472 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 473 | m_Name: 474 | m_EditorClassIdentifier: 475 | m_IgnoreLayout: 0 476 | m_MinWidth: -1 477 | m_MinHeight: 446.22 478 | m_PreferredWidth: -1 479 | m_PreferredHeight: -1 480 | m_FlexibleWidth: -1 481 | m_FlexibleHeight: -1 482 | m_LayoutPriority: 1 483 | --- !u!114 &453039384 484 | MonoBehaviour: 485 | m_ObjectHideFlags: 0 486 | m_PrefabParentObject: {fileID: 0} 487 | m_PrefabInternal: {fileID: 0} 488 | m_GameObject: {fileID: 453039381} 489 | m_Enabled: 1 490 | m_EditorHideFlags: 0 491 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 492 | m_Name: 493 | m_EditorClassIdentifier: 494 | m_Material: {fileID: 0} 495 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 496 | m_RaycastTarget: 1 497 | m_OnCullStateChanged: 498 | m_PersistentCalls: 499 | m_Calls: [] 500 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 501 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 502 | m_FontData: 503 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 504 | m_FontSize: 194 505 | m_FontStyle: 0 506 | m_BestFit: 0 507 | m_MinSize: 10 508 | m_MaxSize: 300 509 | m_Alignment: 0 510 | m_AlignByGeometry: 0 511 | m_RichText: 1 512 | m_HorizontalOverflow: 0 513 | m_VerticalOverflow: 0 514 | m_LineSpacing: 1 515 | m_Text: Unity scroll rect 516 | --- !u!222 &453039385 517 | CanvasRenderer: 518 | m_ObjectHideFlags: 0 519 | m_PrefabParentObject: {fileID: 0} 520 | m_PrefabInternal: {fileID: 0} 521 | m_GameObject: {fileID: 453039381} 522 | --- !u!1 &480181480 523 | GameObject: 524 | m_ObjectHideFlags: 0 525 | m_PrefabParentObject: {fileID: 0} 526 | m_PrefabInternal: {fileID: 0} 527 | serializedVersion: 5 528 | m_Component: 529 | - component: {fileID: 480181481} 530 | - component: {fileID: 480181483} 531 | - component: {fileID: 480181482} 532 | - component: {fileID: 480181484} 533 | m_Layer: 5 534 | m_Name: Text (3) 535 | m_TagString: Untagged 536 | m_Icon: {fileID: 0} 537 | m_NavMeshLayer: 0 538 | m_StaticEditorFlags: 0 539 | m_IsActive: 1 540 | --- !u!224 &480181481 541 | RectTransform: 542 | m_ObjectHideFlags: 0 543 | m_PrefabParentObject: {fileID: 0} 544 | m_PrefabInternal: {fileID: 0} 545 | m_GameObject: {fileID: 480181480} 546 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 547 | m_LocalPosition: {x: 0, y: 0, z: 0} 548 | m_LocalScale: {x: 1, y: 1, z: 1} 549 | m_Children: [] 550 | m_Father: {fileID: 206112490} 551 | m_RootOrder: 3 552 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 553 | m_AnchorMin: {x: 0, y: 0} 554 | m_AnchorMax: {x: 0, y: 0} 555 | m_AnchoredPosition: {x: 0, y: 0} 556 | m_SizeDelta: {x: 762.4, y: 0} 557 | m_Pivot: {x: 0.5, y: 0.5} 558 | --- !u!114 &480181482 559 | MonoBehaviour: 560 | m_ObjectHideFlags: 0 561 | m_PrefabParentObject: {fileID: 0} 562 | m_PrefabInternal: {fileID: 0} 563 | m_GameObject: {fileID: 480181480} 564 | m_Enabled: 1 565 | m_EditorHideFlags: 0 566 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 567 | m_Name: 568 | m_EditorClassIdentifier: 569 | m_Material: {fileID: 0} 570 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 571 | m_RaycastTarget: 1 572 | m_OnCullStateChanged: 573 | m_PersistentCalls: 574 | m_Calls: [] 575 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 576 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 577 | m_FontData: 578 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 579 | m_FontSize: 194 580 | m_FontStyle: 0 581 | m_BestFit: 0 582 | m_MinSize: 10 583 | m_MaxSize: 300 584 | m_Alignment: 0 585 | m_AlignByGeometry: 0 586 | m_RichText: 1 587 | m_HorizontalOverflow: 0 588 | m_VerticalOverflow: 0 589 | m_LineSpacing: 1 590 | m_Text: Unity scroll rect 591 | --- !u!222 &480181483 592 | CanvasRenderer: 593 | m_ObjectHideFlags: 0 594 | m_PrefabParentObject: {fileID: 0} 595 | m_PrefabInternal: {fileID: 0} 596 | m_GameObject: {fileID: 480181480} 597 | --- !u!114 &480181484 598 | MonoBehaviour: 599 | m_ObjectHideFlags: 0 600 | m_PrefabParentObject: {fileID: 0} 601 | m_PrefabInternal: {fileID: 0} 602 | m_GameObject: {fileID: 480181480} 603 | m_Enabled: 1 604 | m_EditorHideFlags: 0 605 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 606 | m_Name: 607 | m_EditorClassIdentifier: 608 | m_IgnoreLayout: 0 609 | m_MinWidth: -1 610 | m_MinHeight: 446.22 611 | m_PreferredWidth: -1 612 | m_PreferredHeight: -1 613 | m_FlexibleWidth: -1 614 | m_FlexibleHeight: -1 615 | m_LayoutPriority: 1 616 | --- !u!1 &1045312556 617 | GameObject: 618 | m_ObjectHideFlags: 0 619 | m_PrefabParentObject: {fileID: 0} 620 | m_PrefabInternal: {fileID: 0} 621 | serializedVersion: 5 622 | m_Component: 623 | - component: {fileID: 1045312560} 624 | - component: {fileID: 1045312559} 625 | - component: {fileID: 1045312558} 626 | - component: {fileID: 1045312557} 627 | m_Layer: 5 628 | m_Name: Canvas 629 | m_TagString: Untagged 630 | m_Icon: {fileID: 0} 631 | m_NavMeshLayer: 0 632 | m_StaticEditorFlags: 0 633 | m_IsActive: 1 634 | --- !u!114 &1045312557 635 | MonoBehaviour: 636 | m_ObjectHideFlags: 0 637 | m_PrefabParentObject: {fileID: 0} 638 | m_PrefabInternal: {fileID: 0} 639 | m_GameObject: {fileID: 1045312556} 640 | m_Enabled: 1 641 | m_EditorHideFlags: 0 642 | m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} 643 | m_Name: 644 | m_EditorClassIdentifier: 645 | m_IgnoreReversedGraphics: 1 646 | m_BlockingObjects: 0 647 | m_BlockingMask: 648 | serializedVersion: 2 649 | m_Bits: 4294967295 650 | --- !u!114 &1045312558 651 | MonoBehaviour: 652 | m_ObjectHideFlags: 0 653 | m_PrefabParentObject: {fileID: 0} 654 | m_PrefabInternal: {fileID: 0} 655 | m_GameObject: {fileID: 1045312556} 656 | m_Enabled: 1 657 | m_EditorHideFlags: 0 658 | m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} 659 | m_Name: 660 | m_EditorClassIdentifier: 661 | m_UiScaleMode: 1 662 | m_ReferencePixelsPerUnit: 100 663 | m_ScaleFactor: 1 664 | m_ReferenceResolution: {x: 1920, y: 1080} 665 | m_ScreenMatchMode: 0 666 | m_MatchWidthOrHeight: 1 667 | m_PhysicalUnit: 3 668 | m_FallbackScreenDPI: 96 669 | m_DefaultSpriteDPI: 96 670 | m_DynamicPixelsPerUnit: 1 671 | --- !u!223 &1045312559 672 | Canvas: 673 | m_ObjectHideFlags: 0 674 | m_PrefabParentObject: {fileID: 0} 675 | m_PrefabInternal: {fileID: 0} 676 | m_GameObject: {fileID: 1045312556} 677 | m_Enabled: 1 678 | serializedVersion: 3 679 | m_RenderMode: 0 680 | m_Camera: {fileID: 0} 681 | m_PlaneDistance: 100 682 | m_PixelPerfect: 0 683 | m_ReceivesEvents: 1 684 | m_OverrideSorting: 0 685 | m_OverridePixelPerfect: 0 686 | m_SortingBucketNormalizedSize: 0 687 | m_AdditionalShaderChannelsFlag: 0 688 | m_SortingLayerID: 0 689 | m_SortingOrder: 0 690 | m_TargetDisplay: 0 691 | --- !u!224 &1045312560 692 | RectTransform: 693 | m_ObjectHideFlags: 0 694 | m_PrefabParentObject: {fileID: 0} 695 | m_PrefabInternal: {fileID: 0} 696 | m_GameObject: {fileID: 1045312556} 697 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 698 | m_LocalPosition: {x: 0, y: 0, z: 0} 699 | m_LocalScale: {x: 0, y: 0, z: 0} 700 | m_Children: 701 | - {fileID: 1852964429} 702 | m_Father: {fileID: 0} 703 | m_RootOrder: 2 704 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 705 | m_AnchorMin: {x: 0, y: 0} 706 | m_AnchorMax: {x: 0, y: 0} 707 | m_AnchoredPosition: {x: 0, y: 0} 708 | m_SizeDelta: {x: 0, y: 0} 709 | m_Pivot: {x: 0, y: 0} 710 | --- !u!1 &1126097733 711 | GameObject: 712 | m_ObjectHideFlags: 0 713 | m_PrefabParentObject: {fileID: 0} 714 | m_PrefabInternal: {fileID: 0} 715 | serializedVersion: 5 716 | m_Component: 717 | - component: {fileID: 1126097734} 718 | - component: {fileID: 1126097737} 719 | - component: {fileID: 1126097736} 720 | - component: {fileID: 1126097735} 721 | m_Layer: 5 722 | m_Name: Text (4) 723 | m_TagString: Untagged 724 | m_Icon: {fileID: 0} 725 | m_NavMeshLayer: 0 726 | m_StaticEditorFlags: 0 727 | m_IsActive: 1 728 | --- !u!224 &1126097734 729 | RectTransform: 730 | m_ObjectHideFlags: 0 731 | m_PrefabParentObject: {fileID: 0} 732 | m_PrefabInternal: {fileID: 0} 733 | m_GameObject: {fileID: 1126097733} 734 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 735 | m_LocalPosition: {x: 0, y: 0, z: 0} 736 | m_LocalScale: {x: 0.9999989, y: 0.9999989, z: 0.9999989} 737 | m_Children: [] 738 | m_Father: {fileID: 206112490} 739 | m_RootOrder: 4 740 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 741 | m_AnchorMin: {x: 0, y: 0} 742 | m_AnchorMax: {x: 0, y: 0} 743 | m_AnchoredPosition: {x: 0, y: 0} 744 | m_SizeDelta: {x: 762.4, y: 0} 745 | m_Pivot: {x: 0.5, y: 0.5} 746 | --- !u!114 &1126097735 747 | MonoBehaviour: 748 | m_ObjectHideFlags: 0 749 | m_PrefabParentObject: {fileID: 0} 750 | m_PrefabInternal: {fileID: 0} 751 | m_GameObject: {fileID: 1126097733} 752 | m_Enabled: 1 753 | m_EditorHideFlags: 0 754 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 755 | m_Name: 756 | m_EditorClassIdentifier: 757 | m_IgnoreLayout: 0 758 | m_MinWidth: -1 759 | m_MinHeight: 446.22 760 | m_PreferredWidth: -1 761 | m_PreferredHeight: -1 762 | m_FlexibleWidth: -1 763 | m_FlexibleHeight: -1 764 | m_LayoutPriority: 1 765 | --- !u!114 &1126097736 766 | MonoBehaviour: 767 | m_ObjectHideFlags: 0 768 | m_PrefabParentObject: {fileID: 0} 769 | m_PrefabInternal: {fileID: 0} 770 | m_GameObject: {fileID: 1126097733} 771 | m_Enabled: 1 772 | m_EditorHideFlags: 0 773 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 774 | m_Name: 775 | m_EditorClassIdentifier: 776 | m_Material: {fileID: 0} 777 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 778 | m_RaycastTarget: 1 779 | m_OnCullStateChanged: 780 | m_PersistentCalls: 781 | m_Calls: [] 782 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 783 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 784 | m_FontData: 785 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 786 | m_FontSize: 194 787 | m_FontStyle: 0 788 | m_BestFit: 0 789 | m_MinSize: 10 790 | m_MaxSize: 300 791 | m_Alignment: 0 792 | m_AlignByGeometry: 0 793 | m_RichText: 1 794 | m_HorizontalOverflow: 0 795 | m_VerticalOverflow: 0 796 | m_LineSpacing: 1 797 | m_Text: Unity scroll rect 798 | --- !u!222 &1126097737 799 | CanvasRenderer: 800 | m_ObjectHideFlags: 0 801 | m_PrefabParentObject: {fileID: 0} 802 | m_PrefabInternal: {fileID: 0} 803 | m_GameObject: {fileID: 1126097733} 804 | --- !u!1 &1143262680 805 | GameObject: 806 | m_ObjectHideFlags: 0 807 | m_PrefabParentObject: {fileID: 0} 808 | m_PrefabInternal: {fileID: 0} 809 | serializedVersion: 5 810 | m_Component: 811 | - component: {fileID: 1143262681} 812 | - component: {fileID: 1143262683} 813 | - component: {fileID: 1143262682} 814 | - component: {fileID: 1143262684} 815 | m_Layer: 5 816 | m_Name: Text (2) 817 | m_TagString: Untagged 818 | m_Icon: {fileID: 0} 819 | m_NavMeshLayer: 0 820 | m_StaticEditorFlags: 0 821 | m_IsActive: 1 822 | --- !u!224 &1143262681 823 | RectTransform: 824 | m_ObjectHideFlags: 0 825 | m_PrefabParentObject: {fileID: 0} 826 | m_PrefabInternal: {fileID: 0} 827 | m_GameObject: {fileID: 1143262680} 828 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 829 | m_LocalPosition: {x: 0, y: 0, z: 0} 830 | m_LocalScale: {x: 1, y: 1, z: 1} 831 | m_Children: [] 832 | m_Father: {fileID: 206112490} 833 | m_RootOrder: 2 834 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 835 | m_AnchorMin: {x: 0, y: 0} 836 | m_AnchorMax: {x: 0, y: 0} 837 | m_AnchoredPosition: {x: 0, y: 0} 838 | m_SizeDelta: {x: 762.4, y: 0} 839 | m_Pivot: {x: 0.5, y: 0.5} 840 | --- !u!114 &1143262682 841 | MonoBehaviour: 842 | m_ObjectHideFlags: 0 843 | m_PrefabParentObject: {fileID: 0} 844 | m_PrefabInternal: {fileID: 0} 845 | m_GameObject: {fileID: 1143262680} 846 | m_Enabled: 1 847 | m_EditorHideFlags: 0 848 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 849 | m_Name: 850 | m_EditorClassIdentifier: 851 | m_Material: {fileID: 0} 852 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 853 | m_RaycastTarget: 1 854 | m_OnCullStateChanged: 855 | m_PersistentCalls: 856 | m_Calls: [] 857 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 858 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 859 | m_FontData: 860 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 861 | m_FontSize: 194 862 | m_FontStyle: 0 863 | m_BestFit: 0 864 | m_MinSize: 10 865 | m_MaxSize: 300 866 | m_Alignment: 0 867 | m_AlignByGeometry: 0 868 | m_RichText: 1 869 | m_HorizontalOverflow: 0 870 | m_VerticalOverflow: 0 871 | m_LineSpacing: 1 872 | m_Text: Unity scroll rect 873 | --- !u!222 &1143262683 874 | CanvasRenderer: 875 | m_ObjectHideFlags: 0 876 | m_PrefabParentObject: {fileID: 0} 877 | m_PrefabInternal: {fileID: 0} 878 | m_GameObject: {fileID: 1143262680} 879 | --- !u!114 &1143262684 880 | MonoBehaviour: 881 | m_ObjectHideFlags: 0 882 | m_PrefabParentObject: {fileID: 0} 883 | m_PrefabInternal: {fileID: 0} 884 | m_GameObject: {fileID: 1143262680} 885 | m_Enabled: 1 886 | m_EditorHideFlags: 0 887 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 888 | m_Name: 889 | m_EditorClassIdentifier: 890 | m_IgnoreLayout: 0 891 | m_MinWidth: -1 892 | m_MinHeight: 446.22 893 | m_PreferredWidth: -1 894 | m_PreferredHeight: -1 895 | m_FlexibleWidth: -1 896 | m_FlexibleHeight: -1 897 | m_LayoutPriority: 1 898 | --- !u!1 &1388591712 899 | GameObject: 900 | m_ObjectHideFlags: 0 901 | m_PrefabParentObject: {fileID: 0} 902 | m_PrefabInternal: {fileID: 0} 903 | serializedVersion: 5 904 | m_Component: 905 | - component: {fileID: 1388591713} 906 | - component: {fileID: 1388591716} 907 | - component: {fileID: 1388591715} 908 | - component: {fileID: 1388591714} 909 | m_Layer: 5 910 | m_Name: Text (5) 911 | m_TagString: Untagged 912 | m_Icon: {fileID: 0} 913 | m_NavMeshLayer: 0 914 | m_StaticEditorFlags: 0 915 | m_IsActive: 1 916 | --- !u!224 &1388591713 917 | RectTransform: 918 | m_ObjectHideFlags: 0 919 | m_PrefabParentObject: {fileID: 0} 920 | m_PrefabInternal: {fileID: 0} 921 | m_GameObject: {fileID: 1388591712} 922 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 923 | m_LocalPosition: {x: 0, y: 0, z: 0} 924 | m_LocalScale: {x: 0.9999989, y: 0.9999989, z: 0.9999989} 925 | m_Children: [] 926 | m_Father: {fileID: 206112490} 927 | m_RootOrder: 5 928 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 929 | m_AnchorMin: {x: 0, y: 0} 930 | m_AnchorMax: {x: 0, y: 0} 931 | m_AnchoredPosition: {x: 0, y: 0} 932 | m_SizeDelta: {x: 762.4, y: 0} 933 | m_Pivot: {x: 0.5, y: 0.5} 934 | --- !u!114 &1388591714 935 | MonoBehaviour: 936 | m_ObjectHideFlags: 0 937 | m_PrefabParentObject: {fileID: 0} 938 | m_PrefabInternal: {fileID: 0} 939 | m_GameObject: {fileID: 1388591712} 940 | m_Enabled: 1 941 | m_EditorHideFlags: 0 942 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 943 | m_Name: 944 | m_EditorClassIdentifier: 945 | m_IgnoreLayout: 0 946 | m_MinWidth: -1 947 | m_MinHeight: 446.22 948 | m_PreferredWidth: -1 949 | m_PreferredHeight: -1 950 | m_FlexibleWidth: -1 951 | m_FlexibleHeight: -1 952 | m_LayoutPriority: 1 953 | --- !u!114 &1388591715 954 | MonoBehaviour: 955 | m_ObjectHideFlags: 0 956 | m_PrefabParentObject: {fileID: 0} 957 | m_PrefabInternal: {fileID: 0} 958 | m_GameObject: {fileID: 1388591712} 959 | m_Enabled: 1 960 | m_EditorHideFlags: 0 961 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 962 | m_Name: 963 | m_EditorClassIdentifier: 964 | m_Material: {fileID: 0} 965 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 966 | m_RaycastTarget: 1 967 | m_OnCullStateChanged: 968 | m_PersistentCalls: 969 | m_Calls: [] 970 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 971 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 972 | m_FontData: 973 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 974 | m_FontSize: 194 975 | m_FontStyle: 0 976 | m_BestFit: 0 977 | m_MinSize: 10 978 | m_MaxSize: 300 979 | m_Alignment: 0 980 | m_AlignByGeometry: 0 981 | m_RichText: 1 982 | m_HorizontalOverflow: 0 983 | m_VerticalOverflow: 0 984 | m_LineSpacing: 1 985 | m_Text: Unity scroll rect 986 | --- !u!222 &1388591716 987 | CanvasRenderer: 988 | m_ObjectHideFlags: 0 989 | m_PrefabParentObject: {fileID: 0} 990 | m_PrefabInternal: {fileID: 0} 991 | m_GameObject: {fileID: 1388591712} 992 | --- !u!1 &1495522357 993 | GameObject: 994 | m_ObjectHideFlags: 0 995 | m_PrefabParentObject: {fileID: 0} 996 | m_PrefabInternal: {fileID: 0} 997 | serializedVersion: 5 998 | m_Component: 999 | - component: {fileID: 1495522361} 1000 | - component: {fileID: 1495522360} 1001 | - component: {fileID: 1495522359} 1002 | - component: {fileID: 1495522358} 1003 | m_Layer: 0 1004 | m_Name: Main Camera 1005 | m_TagString: MainCamera 1006 | m_Icon: {fileID: 0} 1007 | m_NavMeshLayer: 0 1008 | m_StaticEditorFlags: 0 1009 | m_IsActive: 1 1010 | --- !u!81 &1495522358 1011 | AudioListener: 1012 | m_ObjectHideFlags: 0 1013 | m_PrefabParentObject: {fileID: 0} 1014 | m_PrefabInternal: {fileID: 0} 1015 | m_GameObject: {fileID: 1495522357} 1016 | m_Enabled: 1 1017 | --- !u!124 &1495522359 1018 | Behaviour: 1019 | m_ObjectHideFlags: 0 1020 | m_PrefabParentObject: {fileID: 0} 1021 | m_PrefabInternal: {fileID: 0} 1022 | m_GameObject: {fileID: 1495522357} 1023 | m_Enabled: 1 1024 | --- !u!20 &1495522360 1025 | Camera: 1026 | m_ObjectHideFlags: 0 1027 | m_PrefabParentObject: {fileID: 0} 1028 | m_PrefabInternal: {fileID: 0} 1029 | m_GameObject: {fileID: 1495522357} 1030 | m_Enabled: 1 1031 | serializedVersion: 2 1032 | m_ClearFlags: 2 1033 | m_BackGroundColor: {r: 0.5294118, g: 1, b: 0.82474643, a: 0} 1034 | m_NormalizedViewPortRect: 1035 | serializedVersion: 2 1036 | x: 0 1037 | y: 0 1038 | width: 1 1039 | height: 1 1040 | near clip plane: 0.3 1041 | far clip plane: 1000 1042 | field of view: 60 1043 | orthographic: 0 1044 | orthographic size: 5 1045 | m_Depth: -1 1046 | m_CullingMask: 1047 | serializedVersion: 2 1048 | m_Bits: 4294967295 1049 | m_RenderingPath: -1 1050 | m_TargetTexture: {fileID: 0} 1051 | m_TargetDisplay: 0 1052 | m_TargetEye: 3 1053 | m_HDR: 1 1054 | m_AllowMSAA: 1 1055 | m_ForceIntoRT: 0 1056 | m_OcclusionCulling: 1 1057 | m_StereoConvergence: 10 1058 | m_StereoSeparation: 0.022 1059 | m_StereoMirrorMode: 0 1060 | --- !u!4 &1495522361 1061 | Transform: 1062 | m_ObjectHideFlags: 0 1063 | m_PrefabParentObject: {fileID: 0} 1064 | m_PrefabInternal: {fileID: 0} 1065 | m_GameObject: {fileID: 1495522357} 1066 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1067 | m_LocalPosition: {x: 0, y: 1, z: -10} 1068 | m_LocalScale: {x: 1, y: 1, z: 1} 1069 | m_Children: [] 1070 | m_Father: {fileID: 0} 1071 | m_RootOrder: 0 1072 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1073 | --- !u!1 &1611400086 1074 | GameObject: 1075 | m_ObjectHideFlags: 0 1076 | m_PrefabParentObject: {fileID: 0} 1077 | m_PrefabInternal: {fileID: 0} 1078 | serializedVersion: 5 1079 | m_Component: 1080 | - component: {fileID: 1611400087} 1081 | - component: {fileID: 1611400089} 1082 | - component: {fileID: 1611400088} 1083 | - component: {fileID: 1611400090} 1084 | m_Layer: 5 1085 | m_Name: Text (1) 1086 | m_TagString: Untagged 1087 | m_Icon: {fileID: 0} 1088 | m_NavMeshLayer: 0 1089 | m_StaticEditorFlags: 0 1090 | m_IsActive: 1 1091 | --- !u!224 &1611400087 1092 | RectTransform: 1093 | m_ObjectHideFlags: 0 1094 | m_PrefabParentObject: {fileID: 0} 1095 | m_PrefabInternal: {fileID: 0} 1096 | m_GameObject: {fileID: 1611400086} 1097 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1098 | m_LocalPosition: {x: 0, y: 0, z: 0} 1099 | m_LocalScale: {x: 1, y: 1, z: 1} 1100 | m_Children: [] 1101 | m_Father: {fileID: 206112490} 1102 | m_RootOrder: 1 1103 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1104 | m_AnchorMin: {x: 0, y: 0} 1105 | m_AnchorMax: {x: 0, y: 0} 1106 | m_AnchoredPosition: {x: 0, y: 0} 1107 | m_SizeDelta: {x: 762.4, y: 0} 1108 | m_Pivot: {x: 0.5, y: 0.5} 1109 | --- !u!114 &1611400088 1110 | MonoBehaviour: 1111 | m_ObjectHideFlags: 0 1112 | m_PrefabParentObject: {fileID: 0} 1113 | m_PrefabInternal: {fileID: 0} 1114 | m_GameObject: {fileID: 1611400086} 1115 | m_Enabled: 1 1116 | m_EditorHideFlags: 0 1117 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1118 | m_Name: 1119 | m_EditorClassIdentifier: 1120 | m_Material: {fileID: 0} 1121 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1122 | m_RaycastTarget: 1 1123 | m_OnCullStateChanged: 1124 | m_PersistentCalls: 1125 | m_Calls: [] 1126 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1127 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1128 | m_FontData: 1129 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1130 | m_FontSize: 194 1131 | m_FontStyle: 0 1132 | m_BestFit: 0 1133 | m_MinSize: 10 1134 | m_MaxSize: 300 1135 | m_Alignment: 0 1136 | m_AlignByGeometry: 0 1137 | m_RichText: 1 1138 | m_HorizontalOverflow: 0 1139 | m_VerticalOverflow: 0 1140 | m_LineSpacing: 1 1141 | m_Text: Unity scroll rect 1142 | --- !u!222 &1611400089 1143 | CanvasRenderer: 1144 | m_ObjectHideFlags: 0 1145 | m_PrefabParentObject: {fileID: 0} 1146 | m_PrefabInternal: {fileID: 0} 1147 | m_GameObject: {fileID: 1611400086} 1148 | --- !u!114 &1611400090 1149 | MonoBehaviour: 1150 | m_ObjectHideFlags: 0 1151 | m_PrefabParentObject: {fileID: 0} 1152 | m_PrefabInternal: {fileID: 0} 1153 | m_GameObject: {fileID: 1611400086} 1154 | m_Enabled: 1 1155 | m_EditorHideFlags: 0 1156 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1157 | m_Name: 1158 | m_EditorClassIdentifier: 1159 | m_IgnoreLayout: 0 1160 | m_MinWidth: -1 1161 | m_MinHeight: 446.22 1162 | m_PreferredWidth: -1 1163 | m_PreferredHeight: -1 1164 | m_FlexibleWidth: -1 1165 | m_FlexibleHeight: -1 1166 | m_LayoutPriority: 1 1167 | --- !u!1 &1632047623 1168 | GameObject: 1169 | m_ObjectHideFlags: 0 1170 | m_PrefabParentObject: {fileID: 0} 1171 | m_PrefabInternal: {fileID: 0} 1172 | serializedVersion: 5 1173 | m_Component: 1174 | - component: {fileID: 1632047626} 1175 | - component: {fileID: 1632047625} 1176 | - component: {fileID: 1632047624} 1177 | m_Layer: 0 1178 | m_Name: EventSystem 1179 | m_TagString: Untagged 1180 | m_Icon: {fileID: 0} 1181 | m_NavMeshLayer: 0 1182 | m_StaticEditorFlags: 0 1183 | m_IsActive: 1 1184 | --- !u!114 &1632047624 1185 | MonoBehaviour: 1186 | m_ObjectHideFlags: 0 1187 | m_PrefabParentObject: {fileID: 0} 1188 | m_PrefabInternal: {fileID: 0} 1189 | m_GameObject: {fileID: 1632047623} 1190 | m_Enabled: 1 1191 | m_EditorHideFlags: 0 1192 | m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1193 | m_Name: 1194 | m_EditorClassIdentifier: 1195 | m_HorizontalAxis: Horizontal 1196 | m_VerticalAxis: Vertical 1197 | m_SubmitButton: Submit 1198 | m_CancelButton: Cancel 1199 | m_InputActionsPerSecond: 10 1200 | m_RepeatDelay: 0.5 1201 | m_ForceModuleActive: 0 1202 | --- !u!114 &1632047625 1203 | MonoBehaviour: 1204 | m_ObjectHideFlags: 0 1205 | m_PrefabParentObject: {fileID: 0} 1206 | m_PrefabInternal: {fileID: 0} 1207 | m_GameObject: {fileID: 1632047623} 1208 | m_Enabled: 1 1209 | m_EditorHideFlags: 0 1210 | m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1211 | m_Name: 1212 | m_EditorClassIdentifier: 1213 | m_FirstSelected: {fileID: 0} 1214 | m_sendNavigationEvents: 1 1215 | m_DragThreshold: 5 1216 | --- !u!4 &1632047626 1217 | Transform: 1218 | m_ObjectHideFlags: 0 1219 | m_PrefabParentObject: {fileID: 0} 1220 | m_PrefabInternal: {fileID: 0} 1221 | m_GameObject: {fileID: 1632047623} 1222 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1223 | m_LocalPosition: {x: 0, y: 0, z: 0} 1224 | m_LocalScale: {x: 1.6612045, y: 1, z: 1} 1225 | m_Children: [] 1226 | m_Father: {fileID: 0} 1227 | m_RootOrder: 3 1228 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1229 | --- !u!1 &1734074198 1230 | GameObject: 1231 | m_ObjectHideFlags: 0 1232 | m_PrefabParentObject: {fileID: 0} 1233 | m_PrefabInternal: {fileID: 0} 1234 | serializedVersion: 5 1235 | m_Component: 1236 | - component: {fileID: 1734074199} 1237 | - component: {fileID: 1734074201} 1238 | - component: {fileID: 1734074200} 1239 | - component: {fileID: 1734074202} 1240 | m_Layer: 5 1241 | m_Name: Text 1242 | m_TagString: Untagged 1243 | m_Icon: {fileID: 0} 1244 | m_NavMeshLayer: 0 1245 | m_StaticEditorFlags: 0 1246 | m_IsActive: 1 1247 | --- !u!224 &1734074199 1248 | RectTransform: 1249 | m_ObjectHideFlags: 0 1250 | m_PrefabParentObject: {fileID: 0} 1251 | m_PrefabInternal: {fileID: 0} 1252 | m_GameObject: {fileID: 1734074198} 1253 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1254 | m_LocalPosition: {x: 0, y: 0, z: 0} 1255 | m_LocalScale: {x: 1, y: 1, z: 1} 1256 | m_Children: [] 1257 | m_Father: {fileID: 206112490} 1258 | m_RootOrder: 0 1259 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1260 | m_AnchorMin: {x: 0, y: 0} 1261 | m_AnchorMax: {x: 0, y: 0} 1262 | m_AnchoredPosition: {x: 0, y: 0} 1263 | m_SizeDelta: {x: 762.4, y: 0} 1264 | m_Pivot: {x: 0.5, y: 0.5} 1265 | --- !u!114 &1734074200 1266 | MonoBehaviour: 1267 | m_ObjectHideFlags: 0 1268 | m_PrefabParentObject: {fileID: 0} 1269 | m_PrefabInternal: {fileID: 0} 1270 | m_GameObject: {fileID: 1734074198} 1271 | m_Enabled: 1 1272 | m_EditorHideFlags: 0 1273 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1274 | m_Name: 1275 | m_EditorClassIdentifier: 1276 | m_Material: {fileID: 0} 1277 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1278 | m_RaycastTarget: 1 1279 | m_OnCullStateChanged: 1280 | m_PersistentCalls: 1281 | m_Calls: [] 1282 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1283 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1284 | m_FontData: 1285 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1286 | m_FontSize: 194 1287 | m_FontStyle: 0 1288 | m_BestFit: 0 1289 | m_MinSize: 10 1290 | m_MaxSize: 300 1291 | m_Alignment: 0 1292 | m_AlignByGeometry: 0 1293 | m_RichText: 1 1294 | m_HorizontalOverflow: 0 1295 | m_VerticalOverflow: 0 1296 | m_LineSpacing: 1 1297 | m_Text: Unity scroll rect 1298 | --- !u!222 &1734074201 1299 | CanvasRenderer: 1300 | m_ObjectHideFlags: 0 1301 | m_PrefabParentObject: {fileID: 0} 1302 | m_PrefabInternal: {fileID: 0} 1303 | m_GameObject: {fileID: 1734074198} 1304 | --- !u!114 &1734074202 1305 | MonoBehaviour: 1306 | m_ObjectHideFlags: 0 1307 | m_PrefabParentObject: {fileID: 0} 1308 | m_PrefabInternal: {fileID: 0} 1309 | m_GameObject: {fileID: 1734074198} 1310 | m_Enabled: 1 1311 | m_EditorHideFlags: 0 1312 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1313 | m_Name: 1314 | m_EditorClassIdentifier: 1315 | m_IgnoreLayout: 0 1316 | m_MinWidth: -1 1317 | m_MinHeight: 446.22 1318 | m_PreferredWidth: -1 1319 | m_PreferredHeight: -1 1320 | m_FlexibleWidth: -1 1321 | m_FlexibleHeight: -1 1322 | m_LayoutPriority: 1 1323 | --- !u!1 &1852964428 1324 | GameObject: 1325 | m_ObjectHideFlags: 0 1326 | m_PrefabParentObject: {fileID: 0} 1327 | m_PrefabInternal: {fileID: 0} 1328 | serializedVersion: 5 1329 | m_Component: 1330 | - component: {fileID: 1852964429} 1331 | - component: {fileID: 1852964432} 1332 | - component: {fileID: 1852964431} 1333 | - component: {fileID: 1852964430} 1334 | m_Layer: 5 1335 | m_Name: Scroll View 1336 | m_TagString: Untagged 1337 | m_Icon: {fileID: 0} 1338 | m_NavMeshLayer: 0 1339 | m_StaticEditorFlags: 0 1340 | m_IsActive: 1 1341 | --- !u!224 &1852964429 1342 | RectTransform: 1343 | m_ObjectHideFlags: 0 1344 | m_PrefabParentObject: {fileID: 0} 1345 | m_PrefabInternal: {fileID: 0} 1346 | m_GameObject: {fileID: 1852964428} 1347 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1348 | m_LocalPosition: {x: 0, y: 0, z: 0} 1349 | m_LocalScale: {x: 1, y: 1, z: 1} 1350 | m_Children: 1351 | - {fileID: 1860260022} 1352 | m_Father: {fileID: 1045312560} 1353 | m_RootOrder: 0 1354 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1355 | m_AnchorMin: {x: 0, y: 0} 1356 | m_AnchorMax: {x: 0, y: 0} 1357 | m_AnchoredPosition: {x: 270, y: 277.48} 1358 | m_SizeDelta: {x: 539.9, y: 555.05} 1359 | m_Pivot: {x: 0.5, y: 0.5} 1360 | --- !u!114 &1852964430 1361 | MonoBehaviour: 1362 | m_ObjectHideFlags: 0 1363 | m_PrefabParentObject: {fileID: 0} 1364 | m_PrefabInternal: {fileID: 0} 1365 | m_GameObject: {fileID: 1852964428} 1366 | m_Enabled: 1 1367 | m_EditorHideFlags: 0 1368 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1369 | m_Name: 1370 | m_EditorClassIdentifier: 1371 | m_Material: {fileID: 0} 1372 | m_Color: {r: 1, g: 1, b: 1, a: 0.392} 1373 | m_RaycastTarget: 1 1374 | m_OnCullStateChanged: 1375 | m_PersistentCalls: 1376 | m_Calls: [] 1377 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1378 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1379 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1380 | m_Type: 1 1381 | m_PreserveAspect: 0 1382 | m_FillCenter: 1 1383 | m_FillMethod: 4 1384 | m_FillAmount: 1 1385 | m_FillClockwise: 1 1386 | m_FillOrigin: 0 1387 | --- !u!222 &1852964431 1388 | CanvasRenderer: 1389 | m_ObjectHideFlags: 0 1390 | m_PrefabParentObject: {fileID: 0} 1391 | m_PrefabInternal: {fileID: 0} 1392 | m_GameObject: {fileID: 1852964428} 1393 | --- !u!114 &1852964432 1394 | MonoBehaviour: 1395 | m_ObjectHideFlags: 0 1396 | m_PrefabParentObject: {fileID: 0} 1397 | m_PrefabInternal: {fileID: 0} 1398 | m_GameObject: {fileID: 1852964428} 1399 | m_Enabled: 1 1400 | m_EditorHideFlags: 0 1401 | m_Script: {fileID: 1367256648, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1402 | m_Name: 1403 | m_EditorClassIdentifier: 1404 | m_Content: {fileID: 206112490} 1405 | m_Horizontal: 0 1406 | m_Vertical: 1 1407 | m_MovementType: 1 1408 | m_Elasticity: 0.1 1409 | m_Inertia: 1 1410 | m_DecelerationRate: 0.135 1411 | m_ScrollSensitivity: 1 1412 | m_Viewport: {fileID: 1860260022} 1413 | m_HorizontalScrollbar: {fileID: 0} 1414 | m_VerticalScrollbar: {fileID: 0} 1415 | m_HorizontalScrollbarVisibility: 2 1416 | m_VerticalScrollbarVisibility: 2 1417 | m_HorizontalScrollbarSpacing: -3 1418 | m_VerticalScrollbarSpacing: -3 1419 | m_OnValueChanged: 1420 | m_PersistentCalls: 1421 | m_Calls: [] 1422 | m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, 1423 | Culture=neutral, PublicKeyToken=null 1424 | --- !u!1 &1860260021 1425 | GameObject: 1426 | m_ObjectHideFlags: 0 1427 | m_PrefabParentObject: {fileID: 0} 1428 | m_PrefabInternal: {fileID: 0} 1429 | serializedVersion: 5 1430 | m_Component: 1431 | - component: {fileID: 1860260022} 1432 | - component: {fileID: 1860260025} 1433 | - component: {fileID: 1860260024} 1434 | - component: {fileID: 1860260023} 1435 | m_Layer: 5 1436 | m_Name: Viewport 1437 | m_TagString: Untagged 1438 | m_Icon: {fileID: 0} 1439 | m_NavMeshLayer: 0 1440 | m_StaticEditorFlags: 0 1441 | m_IsActive: 1 1442 | --- !u!224 &1860260022 1443 | RectTransform: 1444 | m_ObjectHideFlags: 0 1445 | m_PrefabParentObject: {fileID: 0} 1446 | m_PrefabInternal: {fileID: 0} 1447 | m_GameObject: {fileID: 1860260021} 1448 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1449 | m_LocalPosition: {x: 0, y: 0, z: 0} 1450 | m_LocalScale: {x: 1, y: 1, z: 1} 1451 | m_Children: 1452 | - {fileID: 206112490} 1453 | m_Father: {fileID: 1852964429} 1454 | m_RootOrder: 0 1455 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1456 | m_AnchorMin: {x: 0, y: 0} 1457 | m_AnchorMax: {x: 1, y: 1} 1458 | m_AnchoredPosition: {x: 0, y: 0} 1459 | m_SizeDelta: {x: 0, y: 0} 1460 | m_Pivot: {x: 0, y: 1} 1461 | --- !u!114 &1860260023 1462 | MonoBehaviour: 1463 | m_ObjectHideFlags: 0 1464 | m_PrefabParentObject: {fileID: 0} 1465 | m_PrefabInternal: {fileID: 0} 1466 | m_GameObject: {fileID: 1860260021} 1467 | m_Enabled: 1 1468 | m_EditorHideFlags: 0 1469 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1470 | m_Name: 1471 | m_EditorClassIdentifier: 1472 | m_Material: {fileID: 0} 1473 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1474 | m_RaycastTarget: 1 1475 | m_OnCullStateChanged: 1476 | m_PersistentCalls: 1477 | m_Calls: [] 1478 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1479 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1480 | m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} 1481 | m_Type: 1 1482 | m_PreserveAspect: 0 1483 | m_FillCenter: 1 1484 | m_FillMethod: 4 1485 | m_FillAmount: 1 1486 | m_FillClockwise: 1 1487 | m_FillOrigin: 0 1488 | --- !u!222 &1860260024 1489 | CanvasRenderer: 1490 | m_ObjectHideFlags: 0 1491 | m_PrefabParentObject: {fileID: 0} 1492 | m_PrefabInternal: {fileID: 0} 1493 | m_GameObject: {fileID: 1860260021} 1494 | --- !u!114 &1860260025 1495 | MonoBehaviour: 1496 | m_ObjectHideFlags: 0 1497 | m_PrefabParentObject: {fileID: 0} 1498 | m_PrefabInternal: {fileID: 0} 1499 | m_GameObject: {fileID: 1860260021} 1500 | m_Enabled: 1 1501 | m_EditorHideFlags: 0 1502 | m_Script: {fileID: -1200242548, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1503 | m_Name: 1504 | m_EditorClassIdentifier: 1505 | m_ShowMaskGraphic: 0 1506 | -------------------------------------------------------------------------------- /Unity/Assets/Main.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8b4acb1928bf429f91a48965d97b036 3 | timeCreated: 1508075864 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Unity/Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b9c638aac5084c85bc7673f4b1cf12f 3 | folderAsset: yes 4 | timeCreated: 1508078778 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Unity/Assets/Plugins/Android.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b103d135a618446c89524c35d20ae39c 3 | folderAsset: yes 4 | timeCreated: 1508087655 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Unity/Assets/Plugins/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Unity/Assets/Plugins/Android/AndroidManifest.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a51375837a0634d12b21f543b3e524b8 3 | timeCreated: 1508179876 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/Plugins/Android/mainTemplate.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | jcenter() 4 | } 5 | 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:2.1.0' 8 | } 9 | } 10 | 11 | allprojects { 12 | repositories { 13 | flatDir { 14 | dirs 'libs' 15 | } 16 | } 17 | } 18 | 19 | apply plugin: 'com.android.application' 20 | 21 | dependencies { 22 | compile fileTree(dir: 'libs', include: ['*.jar']) 23 | **DEPS**} 24 | 25 | android { 26 | compileSdkVersion **APIVERSION** 27 | buildToolsVersion '**BUILDTOOLS**' 28 | 29 | defaultConfig { 30 | ndk { 31 | abiFilters "armeabi-v7a", "x86" 32 | } 33 | packagingOptions { 34 | exclude '/lib/arm64-v8a/libimagepipeline.so' 35 | exclude '/lib/x86_64/libimagepipeline.so' 36 | } 37 | targetSdkVersion **TARGETSDKVERSION** 38 | applicationId '**APPLICATIONID**' 39 | 40 | 41 | } 42 | 43 | lintOptions { 44 | abortOnError false 45 | } 46 | **SIGN** 47 | buildTypes { 48 | debug { 49 | minifyEnabled **MINIFY_DEBUG** 50 | useProguard **PROGUARD_DEBUG** 51 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD** 52 | jniDebuggable true 53 | } 54 | release { 55 | minifyEnabled **MINIFY_RELEASE** 56 | useProguard **PROGUARD_RELEASE** 57 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD** 58 | **SIGNCONFIG** 59 | } 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /Unity/Assets/Plugins/Android/mainTemplate.gradle.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5f0ef5f7583e4a799296cbb2d0697a4 3 | timeCreated: 1510609651 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28491d7108607445d8d8ba1bf5065d23 3 | folderAsset: yes 4 | timeCreated: 1515855347 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Unity/Assets/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7e46533b2d2c4ac1bc3322f8214b64e 3 | folderAsset: yes 4 | timeCreated: 1508700820 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Unity/Assets/Scripts/Editor/Build.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Linq; 5 | using UnityEditor; 6 | using UnityEngine; 7 | using Application = UnityEngine.Application; 8 | 9 | public class Build : MonoBehaviour 10 | { 11 | static readonly string ProjectPath = Path.GetFullPath(Path.Combine(Application.dataPath, "..")); 12 | 13 | static readonly string apkPath = ProjectPath + "/Builds/UnityReact.apk"; 14 | static readonly string buildPath = ProjectPath + "/Builds/UnityReact.apk/UnityReact"; 15 | static readonly string exportPath = Path.GetFullPath(Path.Combine(ProjectPath, "..")) + "/React/UnityReactExport"; 16 | 17 | [MenuItem("Build/Run Android %g", false, 1)] 18 | public static void DoBuild() 19 | { 20 | if(Directory.Exists(apkPath)) 21 | Directory.Delete(apkPath, true); 22 | 23 | EditorUserBuildSettings.androidBuildSystem = AndroidBuildSystem.Gradle; 24 | 25 | var options = BuildOptions.AcceptExternalModificationsToPlayer; 26 | var status = BuildPipeline.BuildPlayer ( 27 | GetEnabledScenes(), 28 | Path.Combine(ProjectPath, "Builds/UnityReact.apk"), 29 | BuildTarget.Android, 30 | options 31 | ); 32 | 33 | if (!string.IsNullOrEmpty(status)) 34 | throw new Exception("Build failed: " + status); 35 | 36 | Copy(Path.Combine(buildPath, "src"), Path.Combine(exportPath, "src")); 37 | Copy(Path.Combine(buildPath, "libs"), Path.Combine(exportPath, "libs")); 38 | 39 | BuildGradle(); 40 | } 41 | 42 | static void Copy(string source, string destinationPath) 43 | { 44 | if(Directory.Exists(destinationPath)) 45 | Directory.Delete(destinationPath, true); 46 | 47 | Directory.CreateDirectory(destinationPath); 48 | 49 | foreach (string dirPath in Directory.GetDirectories(source, "*", 50 | SearchOption.AllDirectories)) 51 | Directory.CreateDirectory(dirPath.Replace(source, destinationPath)); 52 | 53 | foreach (string newPath in Directory.GetFiles(source, "*.*", 54 | SearchOption.AllDirectories)) 55 | File.Copy(newPath, newPath.Replace(source, destinationPath), true); 56 | } 57 | 58 | static void BuildGradle() 59 | { 60 | ProcessStartInfo startInfo = new ProcessStartInfo 61 | { 62 | FileName = "sh", 63 | Arguments = "build.sh", 64 | UseShellExecute = false, 65 | WorkingDirectory = ProjectPath, 66 | RedirectStandardError = true, 67 | }; 68 | 69 | var process = new Process { StartInfo = startInfo}; 70 | process.Start(); 71 | process.WaitForExit(300000); 72 | AssetDatabase.Refresh(); 73 | 74 | UnityEngine.Debug.LogFormat("Built dependencies (exit code: {0})", process.ExitCode); 75 | var errorOutput = process.StandardError.ReadToEnd().Trim(); 76 | if(!string.IsNullOrEmpty(errorOutput)) 77 | UnityEngine.Debug.LogWarningFormat("Warnings and potential errors:\n" + errorOutput); 78 | } 79 | 80 | static string[] GetEnabledScenes() 81 | { 82 | var scenes = EditorBuildSettings.scenes 83 | .Where(s => s.enabled) 84 | .Select(s => s.path) 85 | .ToArray(); 86 | 87 | return scenes; 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /Unity/Assets/Scripts/Editor/Build.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd6f5cc2360ff419188b416e2659ac1e 3 | timeCreated: 1508700812 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Unity/Assets/Scripts/Rotate.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | public class Rotate : MonoBehaviour 4 | { 5 | void Update () 6 | { 7 | transform.rotation *= Quaternion.Euler(0,3,0); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Unity/Assets/Scripts/Rotate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2056c77806504b02a30bfe97994123a 3 | timeCreated: 1509576047 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Unity/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 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /Unity/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 | -------------------------------------------------------------------------------- /Unity/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 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_EnablePCM: 1 18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 19 | m_AutoSimulation: 1 20 | m_AutoSyncTransforms: 1 21 | -------------------------------------------------------------------------------- /Unity/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/Runtime/Main.unity 10 | guid: a8b4acb1928bf429f91a48965d97b036 11 | -------------------------------------------------------------------------------- /Unity/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: 4 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_DefaultBehaviorMode: 0 10 | m_SpritePackerMode: 0 11 | m_SpritePackerPaddingPower: 1 12 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 13 | m_ProjectGenerationRootNamespace: 14 | m_UserGeneratedProjectSuffix: 15 | m_CollabEditorSettings: 16 | inProgressEnabled: 1 17 | -------------------------------------------------------------------------------- /Unity/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: 12 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_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} 40 | m_PreloadedShaders: [] 41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 42 | type: 0} 43 | m_CustomRenderPipeline: {fileID: 0} 44 | m_TransparencySortMode: 0 45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 46 | m_DefaultRenderingPath: 1 47 | m_DefaultMobileRenderingPath: 1 48 | m_TierSettings: [] 49 | m_LightmapStripping: 0 50 | m_FogStripping: 0 51 | m_InstancingStripping: 0 52 | m_LightmapKeepPlain: 1 53 | m_LightmapKeepDirCombined: 1 54 | m_LightmapKeepDynamicPlain: 1 55 | m_LightmapKeepDynamicDirCombined: 1 56 | m_LightmapKeepShadowMask: 1 57 | m_LightmapKeepSubtractive: 1 58 | m_FogKeepLinear: 1 59 | m_FogKeepExp: 1 60 | m_FogKeepExp2: 1 61 | m_AlbedoSwatchInfos: [] 62 | m_LightsUseLinearIntensity: 0 63 | m_LightsUseColorTemperature: 0 64 | -------------------------------------------------------------------------------- /Unity/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: 0.001 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: 0.001 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: 0.001 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: 0.001 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 shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 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: 0.001 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: 0.1 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: 0.1 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: 0.1 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: 0.19 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: 0.19 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: 0.001 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: 0.001 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: 0.001 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: 0.001 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: 0.001 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: 0.001 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: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | m_SettingNames: 89 | - Humanoid 90 | -------------------------------------------------------------------------------- /Unity/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 | -------------------------------------------------------------------------------- /Unity/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 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /Unity/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: 12 7 | productGUID: 85cad706dfaa942fa8180b894396299f 8 | AndroidProfiler: 0 9 | defaultScreenOrientation: 4 10 | targetDevice: 2 11 | useOnDemandResources: 0 12 | accelerometerFrequency: 60 13 | companyName: DefaultCompany 14 | productName: UnityReact 15 | defaultCursor: {fileID: 0} 16 | cursorHotspot: {x: 0, y: 0} 17 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 18 | m_ShowUnitySplashScreen: 1 19 | m_ShowUnitySplashLogo: 1 20 | m_SplashScreenOverlayOpacity: 1 21 | m_SplashScreenAnimation: 1 22 | m_SplashScreenLogoStyle: 1 23 | m_SplashScreenDrawMode: 0 24 | m_SplashScreenBackgroundAnimationZoom: 1 25 | m_SplashScreenLogoAnimationZoom: 1 26 | m_SplashScreenBackgroundLandscapeAspect: 1 27 | m_SplashScreenBackgroundPortraitAspect: 1 28 | m_SplashScreenBackgroundLandscapeUvs: 29 | serializedVersion: 2 30 | x: 0 31 | y: 0 32 | width: 1 33 | height: 1 34 | m_SplashScreenBackgroundPortraitUvs: 35 | serializedVersion: 2 36 | x: 0 37 | y: 0 38 | width: 1 39 | height: 1 40 | m_SplashScreenLogos: [] 41 | m_SplashScreenBackgroundLandscape: {fileID: 0} 42 | m_SplashScreenBackgroundPortrait: {fileID: 0} 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_MTRendering: 1 52 | m_MobileMTRendering: 0 53 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 54 | iosShowActivityIndicatorOnLoading: -1 55 | androidShowActivityIndicatorOnLoading: -1 56 | tizenShowActivityIndicatorOnLoading: -1 57 | iosAppInBackgroundBehavior: 0 58 | displayResolutionDialog: 1 59 | iosAllowHTTPDownload: 1 60 | allowedAutorotateToPortrait: 1 61 | allowedAutorotateToPortraitUpsideDown: 1 62 | allowedAutorotateToLandscapeRight: 1 63 | allowedAutorotateToLandscapeLeft: 1 64 | useOSAutorotation: 1 65 | use32BitDisplayBuffer: 1 66 | disableDepthAndStencilBuffers: 0 67 | defaultIsFullScreen: 1 68 | defaultIsNativeResolution: 1 69 | runInBackground: 0 70 | captureSingleScreen: 0 71 | muteOtherAudioSources: 0 72 | Prepare IOS For Recording: 0 73 | Force IOS Speakers When Recording: 0 74 | submitAnalytics: 1 75 | usePlayerLog: 1 76 | bakeCollisionMeshes: 0 77 | forceSingleInstance: 0 78 | resizableWindow: 0 79 | useMacAppStoreValidation: 0 80 | macAppStoreCategory: public.app-category.games 81 | gpuSkinning: 0 82 | graphicsJobs: 0 83 | xboxPIXTextureCapture: 0 84 | xboxEnableAvatar: 0 85 | xboxEnableKinect: 0 86 | xboxEnableKinectAutoTracking: 0 87 | xboxEnableFitness: 0 88 | visibleInBackground: 1 89 | allowFullscreenSwitch: 1 90 | graphicsJobMode: 0 91 | macFullscreenMode: 2 92 | d3d9FullscreenMode: 1 93 | d3d11FullscreenMode: 1 94 | xboxSpeechDB: 0 95 | xboxEnableHeadOrientation: 0 96 | xboxEnableGuest: 0 97 | xboxEnablePIXSampling: 0 98 | n3dsDisableStereoscopicView: 0 99 | n3dsEnableSharedListOpt: 1 100 | n3dsEnableVSync: 0 101 | ignoreAlphaClear: 0 102 | xboxOneResolution: 0 103 | xboxOneMonoLoggingLevel: 0 104 | xboxOneLoggingLevel: 1 105 | xboxOneDisableEsram: 0 106 | videoMemoryForVertexBuffers: 0 107 | psp2PowerMode: 0 108 | psp2AcquireBGM: 1 109 | wiiUTVResolution: 0 110 | wiiUGamePadMSAA: 1 111 | wiiUSupportsNunchuk: 0 112 | wiiUSupportsClassicController: 0 113 | wiiUSupportsBalanceBoard: 0 114 | wiiUSupportsMotionPlus: 0 115 | wiiUSupportsProController: 0 116 | wiiUAllowScreenCapture: 1 117 | wiiUControllerCount: 0 118 | m_SupportedAspectRatios: 119 | 4:3: 1 120 | 5:4: 1 121 | 16:10: 1 122 | 16:9: 1 123 | Others: 1 124 | bundleVersion: 1.0 125 | preloadedAssets: [] 126 | metroInputSource: 0 127 | m_HolographicPauseOnTrackingLoss: 1 128 | xboxOneDisableKinectGpuReservation: 0 129 | xboxOneEnable7thCore: 0 130 | vrSettings: 131 | cardboard: 132 | depthFormat: 0 133 | enableTransitionView: 0 134 | daydream: 135 | depthFormat: 0 136 | useSustainedPerformanceMode: 0 137 | hololens: 138 | depthFormat: 1 139 | protectGraphicsMemory: 0 140 | useHDRDisplay: 0 141 | targetPixelDensity: 0 142 | resolutionScalingMode: 0 143 | applicationIdentifier: 144 | Android: com.marijnzwemmer.unityreactunityproj 145 | buildNumber: {} 146 | AndroidBundleVersionCode: 1 147 | AndroidMinSdkVersion: 17 148 | AndroidTargetSdkVersion: 24 149 | AndroidPreferredInstallLocation: 1 150 | aotOptions: 151 | stripEngineCode: 1 152 | iPhoneStrippingLevel: 0 153 | iPhoneScriptCallOptimization: 0 154 | ForceInternetPermission: 0 155 | ForceSDCardPermission: 0 156 | CreateWallpaper: 0 157 | APKExpansionFiles: 0 158 | keepLoadedShadersAlive: 0 159 | StripUnusedMeshComponents: 0 160 | VertexChannelCompressionMask: 161 | serializedVersion: 2 162 | m_Bits: 238 163 | iPhoneSdkVersion: 988 164 | iOSTargetOSVersionString: 7.0 165 | tvOSSdkVersion: 0 166 | tvOSRequireExtendedGameController: 0 167 | tvOSTargetOSVersionString: 9.0 168 | uIPrerenderedIcon: 0 169 | uIRequiresPersistentWiFi: 0 170 | uIRequiresFullScreen: 1 171 | uIStatusBarHidden: 1 172 | uIExitOnSuspend: 0 173 | uIStatusBarStyle: 0 174 | iPhoneSplashScreen: {fileID: 0} 175 | iPhoneHighResSplashScreen: {fileID: 0} 176 | iPhoneTallHighResSplashScreen: {fileID: 0} 177 | iPhone47inSplashScreen: {fileID: 0} 178 | iPhone55inPortraitSplashScreen: {fileID: 0} 179 | iPhone55inLandscapeSplashScreen: {fileID: 0} 180 | iPadPortraitSplashScreen: {fileID: 0} 181 | iPadHighResPortraitSplashScreen: {fileID: 0} 182 | iPadLandscapeSplashScreen: {fileID: 0} 183 | iPadHighResLandscapeSplashScreen: {fileID: 0} 184 | appleTVSplashScreen: {fileID: 0} 185 | tvOSSmallIconLayers: [] 186 | tvOSLargeIconLayers: [] 187 | tvOSTopShelfImageLayers: [] 188 | tvOSTopShelfImageWideLayers: [] 189 | iOSLaunchScreenType: 0 190 | iOSLaunchScreenPortrait: {fileID: 0} 191 | iOSLaunchScreenLandscape: {fileID: 0} 192 | iOSLaunchScreenBackgroundColor: 193 | serializedVersion: 2 194 | rgba: 0 195 | iOSLaunchScreenFillPct: 100 196 | iOSLaunchScreenSize: 100 197 | iOSLaunchScreenCustomXibPath: 198 | iOSLaunchScreeniPadType: 0 199 | iOSLaunchScreeniPadImage: {fileID: 0} 200 | iOSLaunchScreeniPadBackgroundColor: 201 | serializedVersion: 2 202 | rgba: 0 203 | iOSLaunchScreeniPadFillPct: 100 204 | iOSLaunchScreeniPadSize: 100 205 | iOSLaunchScreeniPadCustomXibPath: 206 | iOSDeviceRequirements: [] 207 | iOSURLSchemes: [] 208 | iOSBackgroundModes: 0 209 | iOSMetalForceHardShadows: 0 210 | metalEditorSupport: 0 211 | metalAPIValidation: 1 212 | iOSRenderExtraFrameOnPause: 0 213 | appleDeveloperTeamID: 214 | iOSManualSigningProvisioningProfileID: 215 | tvOSManualSigningProvisioningProfileID: 216 | appleEnableAutomaticSigning: 0 217 | AndroidTargetDevice: 0 218 | AndroidSplashScreenScale: 0 219 | androidSplashScreen: {fileID: 0} 220 | AndroidKeystoreName: user.keystore 221 | AndroidKeyaliasName: unityreact 222 | AndroidTVCompatibility: 1 223 | AndroidIsGame: 1 224 | androidEnableBanner: 1 225 | m_AndroidBanners: 226 | - width: 320 227 | height: 180 228 | banner: {fileID: 0} 229 | androidGamepadSupportLevel: 0 230 | resolutionDialogBanner: {fileID: 0} 231 | m_BuildTargetIcons: [] 232 | m_BuildTargetBatching: [] 233 | m_BuildTargetGraphicsAPIs: [] 234 | m_BuildTargetVRSettings: [] 235 | openGLRequireES31: 0 236 | openGLRequireES31AEP: 0 237 | webPlayerTemplate: APPLICATION:Default 238 | m_TemplateCustomTags: {} 239 | wiiUTitleID: 0005000011000000 240 | wiiUGroupID: 00010000 241 | wiiUCommonSaveSize: 4096 242 | wiiUAccountSaveSize: 2048 243 | wiiUOlvAccessKey: 0 244 | wiiUTinCode: 0 245 | wiiUJoinGameId: 0 246 | wiiUJoinGameModeMask: 0000000000000000 247 | wiiUCommonBossSize: 0 248 | wiiUAccountBossSize: 0 249 | wiiUAddOnUniqueIDs: [] 250 | wiiUMainThreadStackSize: 3072 251 | wiiULoaderThreadStackSize: 1024 252 | wiiUSystemHeapSize: 128 253 | wiiUTVStartupScreen: {fileID: 0} 254 | wiiUGamePadStartupScreen: {fileID: 0} 255 | wiiUDrcBufferDisabled: 0 256 | wiiUProfilerLibPath: 257 | playModeTestRunnerEnabled: 0 258 | actionOnDotNetUnhandledException: 1 259 | enableInternalProfiler: 0 260 | logObjCUncaughtExceptions: 1 261 | enableCrashReportAPI: 0 262 | cameraUsageDescription: 263 | locationUsageDescription: 264 | microphoneUsageDescription: 265 | switchNetLibKey: 266 | switchSocketMemoryPoolSize: 6144 267 | switchSocketAllocatorPoolSize: 128 268 | switchSocketConcurrencyLimit: 14 269 | switchScreenResolutionBehavior: 2 270 | switchUseCPUProfiler: 0 271 | switchApplicationID: 0x01004b9000490000 272 | switchNSODependencies: 273 | switchTitleNames_0: 274 | switchTitleNames_1: 275 | switchTitleNames_2: 276 | switchTitleNames_3: 277 | switchTitleNames_4: 278 | switchTitleNames_5: 279 | switchTitleNames_6: 280 | switchTitleNames_7: 281 | switchTitleNames_8: 282 | switchTitleNames_9: 283 | switchTitleNames_10: 284 | switchTitleNames_11: 285 | switchPublisherNames_0: 286 | switchPublisherNames_1: 287 | switchPublisherNames_2: 288 | switchPublisherNames_3: 289 | switchPublisherNames_4: 290 | switchPublisherNames_5: 291 | switchPublisherNames_6: 292 | switchPublisherNames_7: 293 | switchPublisherNames_8: 294 | switchPublisherNames_9: 295 | switchPublisherNames_10: 296 | switchPublisherNames_11: 297 | switchIcons_0: {fileID: 0} 298 | switchIcons_1: {fileID: 0} 299 | switchIcons_2: {fileID: 0} 300 | switchIcons_3: {fileID: 0} 301 | switchIcons_4: {fileID: 0} 302 | switchIcons_5: {fileID: 0} 303 | switchIcons_6: {fileID: 0} 304 | switchIcons_7: {fileID: 0} 305 | switchIcons_8: {fileID: 0} 306 | switchIcons_9: {fileID: 0} 307 | switchIcons_10: {fileID: 0} 308 | switchIcons_11: {fileID: 0} 309 | switchSmallIcons_0: {fileID: 0} 310 | switchSmallIcons_1: {fileID: 0} 311 | switchSmallIcons_2: {fileID: 0} 312 | switchSmallIcons_3: {fileID: 0} 313 | switchSmallIcons_4: {fileID: 0} 314 | switchSmallIcons_5: {fileID: 0} 315 | switchSmallIcons_6: {fileID: 0} 316 | switchSmallIcons_7: {fileID: 0} 317 | switchSmallIcons_8: {fileID: 0} 318 | switchSmallIcons_9: {fileID: 0} 319 | switchSmallIcons_10: {fileID: 0} 320 | switchSmallIcons_11: {fileID: 0} 321 | switchManualHTML: 322 | switchAccessibleURLs: 323 | switchLegalInformation: 324 | switchMainThreadStackSize: 1048576 325 | switchPresenceGroupId: 326 | switchLogoHandling: 0 327 | switchReleaseVersion: 0 328 | switchDisplayVersion: 1.0.0 329 | switchStartupUserAccount: 0 330 | switchTouchScreenUsage: 0 331 | switchSupportedLanguagesMask: 0 332 | switchLogoType: 0 333 | switchApplicationErrorCodeCategory: 334 | switchUserAccountSaveDataSize: 0 335 | switchUserAccountSaveDataJournalSize: 0 336 | switchApplicationAttribute: 0 337 | switchCardSpecSize: -1 338 | switchCardSpecClock: -1 339 | switchRatingsMask: 0 340 | switchRatingsInt_0: 0 341 | switchRatingsInt_1: 0 342 | switchRatingsInt_2: 0 343 | switchRatingsInt_3: 0 344 | switchRatingsInt_4: 0 345 | switchRatingsInt_5: 0 346 | switchRatingsInt_6: 0 347 | switchRatingsInt_7: 0 348 | switchRatingsInt_8: 0 349 | switchRatingsInt_9: 0 350 | switchRatingsInt_10: 0 351 | switchRatingsInt_11: 0 352 | switchLocalCommunicationIds_0: 353 | switchLocalCommunicationIds_1: 354 | switchLocalCommunicationIds_2: 355 | switchLocalCommunicationIds_3: 356 | switchLocalCommunicationIds_4: 357 | switchLocalCommunicationIds_5: 358 | switchLocalCommunicationIds_6: 359 | switchLocalCommunicationIds_7: 360 | switchParentalControl: 0 361 | switchAllowsScreenshot: 1 362 | switchDataLossConfirmation: 0 363 | switchSupportedNpadStyles: 3 364 | switchSocketConfigEnabled: 0 365 | switchTcpInitialSendBufferSize: 32 366 | switchTcpInitialReceiveBufferSize: 64 367 | switchTcpAutoSendBufferSizeMax: 256 368 | switchTcpAutoReceiveBufferSizeMax: 256 369 | switchUdpSendBufferSize: 9 370 | switchUdpReceiveBufferSize: 42 371 | switchSocketBufferEfficiency: 4 372 | switchSocketInitializeEnabled: 1 373 | switchNetworkInterfaceManagerInitializeEnabled: 1 374 | switchPlayerConnectionEnabled: 1 375 | ps4NPAgeRating: 12 376 | ps4NPTitleSecret: 377 | ps4NPTrophyPackPath: 378 | ps4ParentalLevel: 11 379 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 380 | ps4Category: 0 381 | ps4MasterVersion: 01.00 382 | ps4AppVersion: 01.00 383 | ps4AppType: 0 384 | ps4ParamSfxPath: 385 | ps4VideoOutPixelFormat: 0 386 | ps4VideoOutInitialWidth: 1920 387 | ps4VideoOutBaseModeInitialWidth: 1920 388 | ps4VideoOutReprojectionRate: 120 389 | ps4PronunciationXMLPath: 390 | ps4PronunciationSIGPath: 391 | ps4BackgroundImagePath: 392 | ps4StartupImagePath: 393 | ps4SaveDataImagePath: 394 | ps4SdkOverride: 395 | ps4BGMPath: 396 | ps4ShareFilePath: 397 | ps4ShareOverlayImagePath: 398 | ps4PrivacyGuardImagePath: 399 | ps4NPtitleDatPath: 400 | ps4RemotePlayKeyAssignment: -1 401 | ps4RemotePlayKeyMappingDir: 402 | ps4PlayTogetherPlayerCount: 0 403 | ps4EnterButtonAssignment: 1 404 | ps4ApplicationParam1: 0 405 | ps4ApplicationParam2: 0 406 | ps4ApplicationParam3: 0 407 | ps4ApplicationParam4: 0 408 | ps4DownloadDataSize: 0 409 | ps4GarlicHeapSize: 2048 410 | ps4ProGarlicHeapSize: 2560 411 | ps4Passcode: qmWqBlQ9wQj99nsQzldVI5ZuGXbEWRK5 412 | ps4pnSessions: 1 413 | ps4pnPresence: 1 414 | ps4pnFriends: 1 415 | ps4pnGameCustomData: 1 416 | playerPrefsSupport: 0 417 | restrictedAudioUsageRights: 0 418 | ps4UseResolutionFallback: 0 419 | ps4ReprojectionSupport: 0 420 | ps4UseAudio3dBackend: 0 421 | ps4SocialScreenEnabled: 0 422 | ps4ScriptOptimizationLevel: 0 423 | ps4Audio3dVirtualSpeakerCount: 14 424 | ps4attribCpuUsage: 0 425 | ps4PatchPkgPath: 426 | ps4PatchLatestPkgPath: 427 | ps4PatchChangeinfoPath: 428 | ps4PatchDayOne: 0 429 | ps4attribUserManagement: 0 430 | ps4attribMoveSupport: 0 431 | ps4attrib3DSupport: 0 432 | ps4attribShareSupport: 0 433 | ps4attribExclusiveVR: 0 434 | ps4disableAutoHideSplash: 0 435 | ps4videoRecordingFeaturesUsed: 0 436 | ps4contentSearchFeaturesUsed: 0 437 | ps4attribEyeToEyeDistanceSettingVR: 0 438 | ps4IncludedModules: [] 439 | monoEnv: 440 | psp2Splashimage: {fileID: 0} 441 | psp2NPTrophyPackPath: 442 | psp2NPSupportGBMorGJP: 0 443 | psp2NPAgeRating: 12 444 | psp2NPTitleDatPath: 445 | psp2NPCommsID: 446 | psp2NPCommunicationsID: 447 | psp2NPCommsPassphrase: 448 | psp2NPCommsSig: 449 | psp2ParamSfxPath: 450 | psp2ManualPath: 451 | psp2LiveAreaGatePath: 452 | psp2LiveAreaBackroundPath: 453 | psp2LiveAreaPath: 454 | psp2LiveAreaTrialPath: 455 | psp2PatchChangeInfoPath: 456 | psp2PatchOriginalPackage: 457 | psp2PackagePassword: RhRXdCdG5nG5azdNMK66MuCV6GXi5xr8 458 | psp2KeystoneFile: 459 | psp2MemoryExpansionMode: 0 460 | psp2DRMType: 0 461 | psp2StorageType: 0 462 | psp2MediaCapacity: 0 463 | psp2DLCConfigPath: 464 | psp2ThumbnailPath: 465 | psp2BackgroundPath: 466 | psp2SoundPath: 467 | psp2TrophyCommId: 468 | psp2TrophyPackagePath: 469 | psp2PackagedResourcesPath: 470 | psp2SaveDataQuota: 10240 471 | psp2ParentalLevel: 1 472 | psp2ShortTitle: Not Set 473 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF 474 | psp2Category: 0 475 | psp2MasterVersion: 01.00 476 | psp2AppVersion: 01.00 477 | psp2TVBootMode: 0 478 | psp2EnterButtonAssignment: 2 479 | psp2TVDisableEmu: 0 480 | psp2AllowTwitterDialog: 1 481 | psp2Upgradable: 0 482 | psp2HealthWarning: 0 483 | psp2UseLibLocation: 0 484 | psp2InfoBarOnStartup: 0 485 | psp2InfoBarColor: 0 486 | psp2ScriptOptimizationLevel: 0 487 | psmSplashimage: {fileID: 0} 488 | splashScreenBackgroundSourceLandscape: {fileID: 0} 489 | splashScreenBackgroundSourcePortrait: {fileID: 0} 490 | spritePackerPolicy: 491 | webGLMemorySize: 256 492 | webGLExceptionSupport: 1 493 | webGLNameFilesAsHashes: 0 494 | webGLDataCaching: 0 495 | webGLDebugSymbols: 0 496 | webGLEmscriptenArgs: 497 | webGLModulesDirectory: 498 | webGLTemplate: APPLICATION:Default 499 | webGLAnalyzeBuildSize: 0 500 | webGLUseEmbeddedResources: 0 501 | webGLUseWasm: 0 502 | webGLCompressionFormat: 1 503 | scriptingDefineSymbols: {} 504 | platformArchitecture: {} 505 | scriptingBackend: {} 506 | incrementalIl2cppBuild: {} 507 | additionalIl2CppArgs: 508 | scriptingRuntimeVersion: 0 509 | apiCompatibilityLevelPerPlatform: {} 510 | m_RenderingPath: 1 511 | m_MobileRenderingPath: 1 512 | metroPackageName: UnityReact 513 | metroPackageVersion: 514 | metroCertificatePath: 515 | metroCertificatePassword: 516 | metroCertificateSubject: 517 | metroCertificateIssuer: 518 | metroCertificateNotAfter: 0000000000000000 519 | metroApplicationDescription: UnityReact 520 | wsaImages: {} 521 | metroTileShortName: 522 | metroCommandLineArgsFile: 523 | metroTileShowName: 0 524 | metroMediumTileShowName: 0 525 | metroLargeTileShowName: 0 526 | metroWideTileShowName: 0 527 | metroDefaultTileSize: 1 528 | metroTileForegroundText: 2 529 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 530 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 531 | a: 1} 532 | metroSplashScreenUseBackgroundColor: 0 533 | platformCapabilities: {} 534 | metroFTAName: 535 | metroFTAFileTypes: [] 536 | metroProtocolName: 537 | metroCompilationOverrides: 1 538 | tizenProductDescription: 539 | tizenProductURL: 540 | tizenSigningProfileName: 541 | tizenGPSPermissions: 0 542 | tizenMicrophonePermissions: 0 543 | tizenDeploymentTarget: 544 | tizenDeploymentTargetType: -1 545 | tizenMinOSVersion: 1 546 | n3dsUseExtSaveData: 0 547 | n3dsCompressStaticMem: 1 548 | n3dsExtSaveDataNumber: 0x12345 549 | n3dsStackSize: 131072 550 | n3dsTargetPlatform: 2 551 | n3dsRegion: 7 552 | n3dsMediaSize: 0 553 | n3dsLogoStyle: 3 554 | n3dsTitle: GameName 555 | n3dsProductCode: 556 | n3dsApplicationId: 0xFF3FF 557 | stvDeviceAddress: 558 | stvProductDescription: 559 | stvProductAuthor: 560 | stvProductAuthorEmail: 561 | stvProductLink: 562 | stvProductCategory: 0 563 | XboxOneProductId: 564 | XboxOneUpdateKey: 565 | XboxOneSandboxId: 566 | XboxOneContentId: 567 | XboxOneTitleId: 568 | XboxOneSCId: 569 | XboxOneGameOsOverridePath: 570 | XboxOnePackagingOverridePath: 571 | XboxOneAppManifestOverridePath: 572 | XboxOnePackageEncryption: 0 573 | XboxOnePackageUpdateGranularity: 2 574 | XboxOneDescription: 575 | XboxOneLanguage: 576 | - enus 577 | XboxOneCapability: [] 578 | XboxOneGameRating: {} 579 | XboxOneIsContentPackage: 0 580 | XboxOneEnableGPUVariability: 0 581 | XboxOneSockets: {} 582 | XboxOneSplashScreen: {fileID: 0} 583 | XboxOneAllowedProductIds: [] 584 | XboxOnePersistentLocalStorageSize: 0 585 | xboxOneScriptCompiler: 0 586 | vrEditorSettings: 587 | daydream: 588 | daydreamIconForeground: {fileID: 0} 589 | daydreamIconBackground: {fileID: 0} 590 | cloudServicesEnabled: {} 591 | facebookSdkVersion: 7.9.4 592 | apiCompatibilityLevel: 2 593 | cloudProjectId: 594 | projectName: 595 | organizationId: 596 | cloudEnabled: 0 597 | enableNativePlatformBackendsForNewInputSystem: 0 598 | disableOldInputManagerSupport: 0 599 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.1.0p5 2 | -------------------------------------------------------------------------------- /Unity/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: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 4 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Low 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 4 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Medium 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 1 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 4 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: High 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 0 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 4 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Very High 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 70 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 2 136 | antiAliasing: 2 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 4 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Ultra 151 | pixelLightCount: 4 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 4 156 | shadowDistance: 150 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 2 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 4 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | Nintendo 3DS: 5 180 | Nintendo Switch: 5 181 | PS4: 5 182 | PSM: 5 183 | PSP2: 2 184 | Samsung TV: 2 185 | Standalone: 5 186 | Tizen: 2 187 | Web: 5 188 | WebGL: 3 189 | WiiU: 5 190 | Windows Store Apps: 5 191 | XboxOne: 5 192 | iPhone: 2 193 | tvOS: 2 194 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Unity/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: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_Enabled: 0 14 | m_CaptureEditorExceptions: 1 15 | UnityPurchasingSettings: 16 | m_Enabled: 0 17 | m_TestMode: 0 18 | UnityAnalyticsSettings: 19 | m_Enabled: 0 20 | m_InitializeOnStartup: 1 21 | m_TestMode: 0 22 | m_TestEventUrl: 23 | m_TestConfigUrl: 24 | UnityAdsSettings: 25 | m_Enabled: 0 26 | m_InitializeOnStartup: 1 27 | m_TestMode: 0 28 | m_EnabledPlatforms: 4294967295 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Unity/UnityPackageManager/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /Unity/build.sh: -------------------------------------------------------------------------------- 1 | source ~/.bashrc 2 | cd ../React/android 3 | npm install 4 | cd ../ 5 | react-native run-android -------------------------------------------------------------------------------- /Unity/user.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marijnz/unity-react/9dd44b5076e4d39fbfc65e687256e65c5c03dd9d/Unity/user.keystore --------------------------------------------------------------------------------