├── .gitignore ├── AndroidLibraryProject ├── .gitignore ├── .idea │ ├── caches │ │ ├── build_file_checksums.ser │ │ └── gradle_models.ser │ ├── codeStyles │ │ └── Project.xml │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── net │ │ │ └── sanukin │ │ │ └── androidlibraryproject │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── net │ │ └── sanukin │ │ └── androidlibraryproject │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── unilocalnotification │ ├── .gitignore │ ├── build.gradle │ ├── libs │ └── classes.jar │ ├── proguard-rules.pro │ └── src │ ├── androidTest │ └── java │ │ └── net │ │ └── sanukin │ │ └── unilocalnotification │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── net │ │ │ └── sanukin │ │ │ └── unilocalnotification │ │ │ ├── NotificationReceiver.java │ │ │ └── NotificationSender.java │ └── res │ │ ├── drawable │ │ └── notification_icon.png │ │ └── values │ │ └── strings.xml │ └── test │ └── java │ └── net │ └── sanukin │ └── unilocalnotification │ └── ExampleUnitTest.java ├── LICENSE ├── README.md ├── UnityPackage └── UniLocalNotification.unitypackage ├── UnityProject ├── .gitignore ├── Assets │ ├── UniLocalNotification.meta │ └── UniLocalNotification │ │ ├── AndroidLocalNotification.cs │ │ ├── AndroidLocalNotification.cs.meta │ │ ├── EditorLocalNotification.cs │ │ ├── EditorLocalNotification.cs.meta │ │ ├── Example.meta │ │ ├── Example │ │ ├── UniLocalNotificationSample.cs │ │ ├── UniLocalNotificationSample.cs.meta │ │ ├── example.unity │ │ └── example.unity.meta │ │ ├── ILocalNotification.cs │ │ ├── ILocalNotification.cs.meta │ │ ├── IOSLocalNotification.cs │ │ ├── IOSLocalNotification.cs.meta │ │ ├── LocalNotificationPlugin.mm │ │ ├── LocalNotificationPlugin.mm.meta │ │ ├── UniLocalNotification.cs │ │ ├── UniLocalNotification.cs.meta │ │ ├── support-compat-25.3.1.aar │ │ ├── support-compat-25.3.1.aar.meta │ │ ├── unilocalnotification-release.aar │ │ └── unilocalnotification-release.aar.meta ├── Logs │ └── Packages-Update.log ├── Packages │ └── manifest.json └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ ├── XRSettings.asset │ └── editorsettings.asset └── images ├── aar_create_1.png ├── aar_create_2.png ├── aar_create_3.png └── ios_sample.gif /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/androidstudio 2 | # Edit at https://www.gitignore.io/?templates=androidstudio 3 | 4 | ### AndroidStudio ### 5 | # Covers files to be ignored for android development using Android Studio. 6 | 7 | # Built application files 8 | *.apk 9 | *.ap_ 10 | 11 | # Files for the ART/Dalvik VM 12 | *.dex 13 | 14 | # Java class files 15 | *.class 16 | 17 | # Generated files 18 | bin/ 19 | gen/ 20 | out/ 21 | 22 | # Gradle files 23 | .gradle 24 | .gradle/ 25 | build/ 26 | 27 | # Signing files 28 | .signing/ 29 | 30 | # Local configuration file (sdk path, etc) 31 | local.properties 32 | 33 | # Proguard folder generated by Eclipse 34 | proguard/ 35 | 36 | # Log Files 37 | *.log 38 | 39 | # Android Studio 40 | /*/build/ 41 | /*/local.properties 42 | /*/out 43 | /*/*/build 44 | /*/*/production 45 | captures/ 46 | .navigation/ 47 | *.ipr 48 | *~ 49 | *.swp 50 | 51 | # Android Patch 52 | gen-external-apklibs 53 | 54 | # External native build folder generated in Android Studio 2.2 and later 55 | .externalNativeBuild 56 | 57 | # NDK 58 | obj/ 59 | 60 | # IntelliJ IDEA 61 | *.iml 62 | *.iws 63 | /out/ 64 | 65 | # User-specific configurations 66 | .idea/caches/ 67 | .idea/libraries/ 68 | .idea/shelf/ 69 | .idea/workspace.xml 70 | .idea/tasks.xml 71 | .idea/.name 72 | .idea/compiler.xml 73 | .idea/copyright/profiles_settings.xml 74 | .idea/encodings.xml 75 | .idea/misc.xml 76 | .idea/modules.xml 77 | .idea/scopes/scope_settings.xml 78 | .idea/dictionaries 79 | .idea/vcs.xml 80 | .idea/jsLibraryMappings.xml 81 | .idea/datasources.xml 82 | .idea/dataSources.ids 83 | .idea/sqlDataSources.xml 84 | .idea/dynamic.xml 85 | .idea/uiDesigner.xml 86 | .idea/assetWizardSettings.xml 87 | 88 | # OS-specific files 89 | .DS_Store 90 | .DS_Store? 91 | ._* 92 | .Spotlight-V100 93 | .Trashes 94 | ehthumbs.db 95 | Thumbs.db 96 | 97 | # Legacy Eclipse project files 98 | .classpath 99 | .project 100 | .cproject 101 | .settings/ 102 | 103 | # Mobile Tools for Java (J2ME) 104 | .mtj.tmp/ 105 | 106 | # Package Files # 107 | *.war 108 | *.ear 109 | 110 | # virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml) 111 | hs_err_pid* 112 | 113 | ## Plugin-specific files: 114 | 115 | # mpeltonen/sbt-idea plugin 116 | .idea_modules/ 117 | 118 | # JIRA plugin 119 | atlassian-ide-plugin.xml 120 | 121 | # Mongo Explorer plugin 122 | .idea/mongoSettings.xml 123 | 124 | # Crashlytics plugin (for Android Studio and IntelliJ) 125 | com_crashlytics_export_strings.xml 126 | crashlytics.properties 127 | crashlytics-build.properties 128 | fabric.properties 129 | 130 | ### AndroidStudio Patch ### 131 | 132 | !/gradle/wrapper/gradle-wrapper.jar 133 | 134 | # End of https://www.gitignore.io/api/androidstudio -------------------------------------------------------------------------------- /AndroidLibraryProject/.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 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/caches/gradle_models.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/.idea/caches/gradle_models.ser -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | xmlns:android 11 | 12 | ^$ 13 | 14 | 15 | 16 |
17 |
18 | 19 | 20 | 21 | xmlns:.* 22 | 23 | ^$ 24 | 25 | 26 | BY_NAME 27 | 28 |
29 |
30 | 31 | 32 | 33 | .*:id 34 | 35 | http://schemas.android.com/apk/res/android 36 | 37 | 38 | 39 |
40 |
41 | 42 | 43 | 44 | .*:name 45 | 46 | http://schemas.android.com/apk/res/android 47 | 48 | 49 | 50 |
51 |
52 | 53 | 54 | 55 | name 56 | 57 | ^$ 58 | 59 | 60 | 61 |
62 |
63 | 64 | 65 | 66 | style 67 | 68 | ^$ 69 | 70 | 71 | 72 |
73 |
74 | 75 | 76 | 77 | .* 78 | 79 | ^$ 80 | 81 | 82 | BY_NAME 83 | 84 |
85 |
86 | 87 | 88 | 89 | .* 90 | 91 | http://schemas.android.com/apk/res/android 92 | 93 | 94 | ANDROID_ATTRIBUTE_ORDER 95 | 96 |
97 |
98 | 99 | 100 | 101 | .* 102 | 103 | .* 104 | 105 | 106 | BY_NAME 107 | 108 |
109 |
110 |
111 |
112 |
113 |
-------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 24 | 41 | 42 | 43 | 44 | 45 | 46 | 48 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /AndroidLibraryProject/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 26 5 | buildToolsVersion "28.0.3" 6 | defaultConfig { 7 | applicationId "net.sanukin.androidlibraryproject" 8 | minSdkVersion 15 9 | targetSdkVersion 26 10 | versionCode 1 11 | versionName "1.0" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compileOnly fileTree(dir: 'libs', include: ['*.jar']) 24 | androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { 25 | exclude group: 'com.android.support', module: 'support-annotations' 26 | }) 27 | implementation 'com.android.support:appcompat-v7:26.0.0' 28 | testImplementation 'junit:junit:4.12' 29 | compileOnly 'com.google.android.gms:play-services-auth:9.4.0' 30 | } 31 | -------------------------------------------------------------------------------- /AndroidLibraryProject/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 /Users/sanukiwataru/Library/Android/sdk/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 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/androidTest/java/net/sanukin/androidlibraryproject/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package net.sanukin.androidlibraryproject; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("net.sanukin.androidlibraryproject", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AndroidLibraryProject 3 | 4 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /AndroidLibraryProject/app/src/test/java/net/sanukin/androidlibraryproject/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package net.sanukin.androidlibraryproject; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /AndroidLibraryProject/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | google() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.5.0' 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | jcenter() 19 | google() 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } 26 | -------------------------------------------------------------------------------- /AndroidLibraryProject/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 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /AndroidLibraryProject/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /AndroidLibraryProject/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Aug 31 22:59:22 JST 2019 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-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /AndroidLibraryProject/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 | # Attempt to set APP_HOME 46 | # Resolve links: $0 may be a link 47 | PRG="$0" 48 | # Need this for relative symlinks. 49 | while [ -h "$PRG" ] ; do 50 | ls=`ls -ld "$PRG"` 51 | link=`expr "$ls" : '.*-> \(.*\)$'` 52 | if expr "$link" : '/.*' > /dev/null; then 53 | PRG="$link" 54 | else 55 | PRG=`dirname "$PRG"`"/$link" 56 | fi 57 | done 58 | SAVED="`pwd`" 59 | cd "`dirname \"$PRG\"`/" >/dev/null 60 | APP_HOME="`pwd -P`" 61 | cd "$SAVED" >/dev/null 62 | 63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 64 | 65 | # Determine the Java command to use to start the JVM. 66 | if [ -n "$JAVA_HOME" ] ; then 67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 68 | # IBM's JDK on AIX uses strange locations for the executables 69 | JAVACMD="$JAVA_HOME/jre/sh/java" 70 | else 71 | JAVACMD="$JAVA_HOME/bin/java" 72 | fi 73 | if [ ! -x "$JAVACMD" ] ; then 74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 75 | 76 | Please set the JAVA_HOME variable in your environment to match the 77 | location of your Java installation." 78 | fi 79 | else 80 | JAVACMD="java" 81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 82 | 83 | Please set the JAVA_HOME variable in your environment to match the 84 | location of your Java installation." 85 | fi 86 | 87 | # Increase the maximum file descriptors if we can. 88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 89 | MAX_FD_LIMIT=`ulimit -H -n` 90 | if [ $? -eq 0 ] ; then 91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 92 | MAX_FD="$MAX_FD_LIMIT" 93 | fi 94 | ulimit -n $MAX_FD 95 | if [ $? -ne 0 ] ; then 96 | warn "Could not set maximum file descriptor limit: $MAX_FD" 97 | fi 98 | else 99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 100 | fi 101 | fi 102 | 103 | # For Darwin, add options to specify how the application appears in the dock 104 | if $darwin; then 105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 106 | fi 107 | 108 | # For Cygwin, switch paths to Windows format before running java 109 | if $cygwin ; then 110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 112 | JAVACMD=`cygpath --unix "$JAVACMD"` 113 | 114 | # We build the pattern for arguments to be converted via cygpath 115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 116 | SEP="" 117 | for dir in $ROOTDIRSRAW ; do 118 | ROOTDIRS="$ROOTDIRS$SEP$dir" 119 | SEP="|" 120 | done 121 | OURCYGPATTERN="(^($ROOTDIRS))" 122 | # Add a user-defined pattern to the cygpath arguments 123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 125 | fi 126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 127 | i=0 128 | for arg in "$@" ; do 129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 131 | 132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 134 | else 135 | eval `echo args$i`="\"$arg\"" 136 | fi 137 | i=$((i+1)) 138 | done 139 | case $i in 140 | (0) set -- ;; 141 | (1) set -- "$args0" ;; 142 | (2) set -- "$args0" "$args1" ;; 143 | (3) set -- "$args0" "$args1" "$args2" ;; 144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 150 | esac 151 | fi 152 | 153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 154 | function splitJvmOpts() { 155 | JVM_OPTS=("$@") 156 | } 157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 159 | 160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 161 | -------------------------------------------------------------------------------- /AndroidLibraryProject/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 | -------------------------------------------------------------------------------- /AndroidLibraryProject/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':unilocalnotification' 2 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 26 5 | buildToolsVersion "28.0.3" 6 | 7 | defaultConfig { 8 | minSdkVersion 15 9 | targetSdkVersion 26 10 | versionCode 1 11 | versionName "1.0" 12 | 13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 14 | 15 | } 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 20 | } 21 | } 22 | 23 | libraryVariants.all { 24 | it.generateBuildConfig.enabled = false 25 | } 26 | } 27 | 28 | dependencies { 29 | compileOnly fileTree(dir: 'libs', include: ['*.jar']) 30 | androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { 31 | exclude group: 'com.android.support', module: 'support-annotations' 32 | }) 33 | implementation 'com.android.support:appcompat-v7:26.0.0' 34 | testImplementation 'junit:junit:4.12' 35 | } 36 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/libs/classes.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/unilocalnotification/libs/classes.jar -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/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 /Users/sanukiwataru/Library/Android/sdk/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 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/androidTest/java/net/sanukin/unilocalnotification/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package net.sanukin.unilocalnotification; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("net.sanukin.unilocalnotification.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/main/java/net/sanukin/unilocalnotification/NotificationReceiver.java: -------------------------------------------------------------------------------- 1 | package net.sanukin.unilocalnotification; 2 | 3 | import android.app.Notification; 4 | import android.app.NotificationChannel; 5 | import android.app.NotificationManager; 6 | import android.app.PendingIntent; 7 | import android.app.Service; 8 | import android.content.BroadcastReceiver; 9 | import android.content.Context; 10 | import android.content.Intent; 11 | import android.content.pm.ApplicationInfo; 12 | import android.content.pm.PackageManager; 13 | import android.graphics.Bitmap; 14 | import android.graphics.BitmapFactory; 15 | import android.os.Build; 16 | import android.support.v4.app.NotificationCompat; 17 | 18 | /** 19 | * Created by sanukiwataru on 2017/09/17. 20 | */ 21 | 22 | public class NotificationReceiver extends BroadcastReceiver { 23 | 24 | /** 25 | * Receiving notification event 26 | * @param context current context 27 | * @param intent received intent 28 | */ 29 | @Override 30 | public void onReceive(Context context, Intent intent) { 31 | 32 | // get notification info 33 | String message = intent.getStringExtra("MESSAGE"); 34 | String title = intent.getStringExtra("TITLE"); 35 | int requestCode = intent.getIntExtra("REQUEST_CODE", 0); 36 | 37 | // create intent for taping notification 38 | final PackageManager pm=context.getPackageManager(); 39 | Intent intentCustom = pm.getLaunchIntentForPackage(context.getPackageName()); 40 | 41 | PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intentCustom, 42 | PendingIntent.FLAG_UPDATE_CURRENT); 43 | 44 | // create icon bitmap 45 | ApplicationInfo applicationInfo = null; 46 | try { 47 | applicationInfo = pm.getApplicationInfo(context.getPackageName(),PackageManager.GET_META_DATA); 48 | } catch (PackageManager.NameNotFoundException e) { 49 | e.printStackTrace(); 50 | return; 51 | } 52 | final int appIconResId=applicationInfo.icon; 53 | Bitmap largeIcon = BitmapFactory.decodeResource(context.getResources(), appIconResId); 54 | 55 | NotificationManager manager = (NotificationManager) context.getSystemService(Service.NOTIFICATION_SERVICE); 56 | 57 | if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 58 | { 59 | String channelId = "default"; 60 | NotificationChannel channel = new NotificationChannel(channelId, "Default", NotificationManager.IMPORTANCE_DEFAULT); 61 | 62 | channel.setDescription("Default Notification"); 63 | channel.enableVibration(true); 64 | channel.canShowBadge(); 65 | channel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE); 66 | channel.setShowBadge(true); 67 | 68 | manager.createNotificationChannel(channel); 69 | 70 | PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT); 71 | 72 | Notification notification = new Notification.Builder(context, channelId) 73 | .setContentTitle(title) 74 | .setContentText(message) 75 | .setAutoCancel(true) 76 | .setContentIntent(pendingIntent) 77 | .setSmallIcon(context.getResources().getIdentifier("notification_icon", "drawable", context.getPackageName())) 78 | .setLargeIcon(largeIcon) 79 | .build(); 80 | 81 | manager.notify(requestCode, notification); 82 | } else { 83 | // create notification builder 84 | NotificationCompat.Builder builder = new NotificationCompat.Builder(context); 85 | builder.setContentIntent(contentIntent); 86 | 87 | // set notification info 88 | builder.setTicker(""); 89 | builder.setContentTitle(title); 90 | builder.setContentText(message); 91 | 92 | // set icon 93 | builder.setLargeIcon(largeIcon); 94 | builder.setSmallIcon(context.getResources().getIdentifier("notification_icon", "drawable", context.getPackageName())); 95 | 96 | // fire now 97 | builder.setWhen(System.currentTimeMillis()); 98 | 99 | // set device notification settings 100 | builder.setDefaults(Notification.DEFAULT_SOUND 101 | | Notification.DEFAULT_VIBRATE 102 | | Notification.DEFAULT_LIGHTS); 103 | 104 | // tap to cancel 105 | builder.setAutoCancel(true); 106 | 107 | // fire notification 108 | manager.notify(requestCode, builder.build()); 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/main/java/net/sanukin/unilocalnotification/NotificationSender.java: -------------------------------------------------------------------------------- 1 | package net.sanukin.unilocalnotification; 2 | 3 | import android.app.Activity; 4 | import android.app.AlarmManager; 5 | import android.app.PendingIntent; 6 | import android.content.Context; 7 | import android.content.Intent; 8 | import android.support.v4.app.NotificationManagerCompat; 9 | 10 | import java.util.Calendar; 11 | 12 | import com.unity3d.player.UnityPlayer; 13 | 14 | /** 15 | * Created by sanukiwataru on 2017/09/17. 16 | */ 17 | 18 | public class NotificationSender { 19 | /** 20 | * Set local notification 21 | * @param title notification title 22 | * @param message notification message 23 | * @param delay seconds to notify when counting from now 24 | * @param requestCode 25 | */ 26 | public static void setNotification(String title, String message, int delay, int requestCode) { 27 | 28 | // Get Context 29 | Context context = getContext(); 30 | 31 | // Create intent 32 | Intent intent = new Intent(context, NotificationReceiver.class); 33 | 34 | // Register notification info 35 | intent.putExtra("MESSAGE", message); 36 | intent.putExtra("TITLE", title); 37 | intent.putExtra("REQUEST_CODE", requestCode); 38 | 39 | // create sender 40 | PendingIntent sender = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT); 41 | 42 | // Create notification firing time 43 | Calendar calendar = Calendar.getInstance(); 44 | calendar.setTimeInMillis(System.currentTimeMillis()); 45 | calendar.add(Calendar.SECOND, delay); 46 | 47 | // Register notification 48 | AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 49 | alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender); 50 | } 51 | 52 | /** 53 | * Notification permitted check 54 | * @return if notification permitted 55 | */ 56 | public static boolean isNotificationPermitted() { 57 | return NotificationManagerCompat.from(getContext()).areNotificationsEnabled(); 58 | } 59 | 60 | /** 61 | * Return if pending intent registered 62 | * @param requestCode request code 63 | * @return if notification registered 64 | */ 65 | public static boolean hasPendingIntent(int requestCode) { 66 | 67 | Context context = getContext(); 68 | 69 | boolean hasPendingIntent = (PendingIntent.getBroadcast(context, requestCode, 70 | new Intent(context, NotificationReceiver.class), 71 | PendingIntent.FLAG_NO_CREATE) != null); 72 | 73 | return hasPendingIntent; 74 | } 75 | 76 | /** 77 | * Cancel registered notification 78 | * @param requestCode Pending intent request code you want to cancel 79 | */ 80 | public static void cancel(int requestCode) { 81 | 82 | Context context = getContext(); 83 | 84 | // get pending intent 85 | AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 86 | Intent intent = new Intent(context, NotificationReceiver.class); 87 | PendingIntent sender = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT); 88 | 89 | // cancel it 90 | alarmManager.cancel(sender); 91 | } 92 | 93 | /** 94 | * Open app notification settings 95 | */ 96 | public static void openAppSettings(){ 97 | 98 | Activity activity = UnityPlayer.currentActivity; 99 | 100 | Intent intent = new Intent(); 101 | intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS"); 102 | 103 | //for Android 5-7 104 | intent.putExtra("app_package", activity.getPackageName()); 105 | intent.putExtra("app_uid", activity.getApplicationInfo().uid); 106 | 107 | // for Android O 108 | intent.putExtra("android.provider.extra.APP_PACKAGE", activity.getPackageName()); 109 | 110 | activity.startActivity(intent); 111 | } 112 | 113 | /** 114 | * Get current context 115 | * @return current context 116 | */ 117 | private static Context getContext() { 118 | return UnityPlayer.currentActivity.getApplicationContext(); 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/main/res/drawable/notification_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/AndroidLibraryProject/unilocalnotification/src/main/res/drawable/notification_icon.png -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | UniLocalNotification 3 | 4 | -------------------------------------------------------------------------------- /AndroidLibraryProject/unilocalnotification/src/test/java/net/sanukin/unilocalnotification/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package net.sanukin.unilocalnotification; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 wataru.sanuki 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 | # UniLocalNotification 2 | [![UnityVersion](https://img.shields.io/badge/Unity-2017.1.0f3-green.svg)](https://unity3d.com/jp/get-unity/download) 3 | [![AndroidStudioVersion](https://img.shields.io/badge/AndroidStudio-2.3.3-brightgreen.svg)](https://developer.android.com/studio/index.html) 4 | [![License](https://img.shields.io/badge/License-MIT-lightgrey.svg)](https://github.com/sanukin39/UniLocalNotification/blob/master/LICENSE) 5 | 6 | --- 7 | 8 | Simple Local Notification Plugins for Unity 9 | 10 | ## Description 11 | [UniLocalNotification](https://github.com/sanukin39/UniLocalNotification) - It's a plugin for implementing local notification easily. It can hide processing by platform and register local notification with single code. And several convenient methods are also implemented. 12 | 13 | ## Example Demo 14 | ![](./images/ios_sample.gif) 15 | 16 | ## Requirement 17 | Unity5 or higher 18 | 19 | ## Support Platform 20 | iOS, Android 21 | 22 | ## Usage 23 | 24 | ### Initialize 25 | Initialize the plugin. Plese call the method at the beginning of your app every time. 26 | 27 | ```cs 28 | UniLocalNotification.Initialize(); 29 | ``` 30 | 31 | ### Register Local Notification 32 | Register local notification to device. The third argument only use android platform. 33 | 34 | ```cs 35 | // Notify in 10 seconds 36 | int delay = 10; 37 | UniLocalNotification.Register(delay, "message", "title"); 38 | ``` 39 | 40 | ### Cancel Local Notification 41 | Cancell all local notifications registered 42 | 43 | ```cs 44 | UniLocalNotification.CancelAll(); 45 | ``` 46 | 47 | ### Check Permission 48 | To check whether the user has allowed the notification 49 | 50 | ```cs 51 | bool isPermitted = UniLocalNotification.IsLocalNotificationPermitted(); 52 | ``` 53 | 54 | ### Open App Settings 55 | Open application settings (to allow users to register notifications) 56 | 57 | ```cs 58 | UniLocalNotification.OpenAppSetting(); 59 | ``` 60 | 61 | ## Install 62 | Use unitypackage at the [relase page](https://github.com/sanukin39/UniLocalNotification/releases). 63 | 64 | ## Change Notification Icon at Android Status Bar 65 | Android status bar icons should be 32-bit PNGs with an alpha channel for transparency. So, you can change the icon by creating your aar library. 66 | 67 | 1. Open [AndroidLibraryProject](https://github.com/sanukin39/UniLocalNotification/tree/master/AndroidLibraryProject) by Android Studio. 68 | 2. Replase notification icon at the "unilocalnotification/src/main/res/drawable/notification_icon.png". 69 | 70 | 71 | 72 | 3. Create AAR 73 | 74 | Go to android project root and type "./gradlew assemble". 75 | 76 | 77 | 78 | 4. Find AAR At "unilocalnotification/build/outputs/aar/". 79 | 80 | 81 | 82 | 5. Replace AAR at the unity project. 83 | 84 | 85 | ## Licence 86 | 87 | [MIT](https://github.com/sanukin39/UniLocalNotification/blob/master/LICENSE) 88 | 89 | ## Author 90 | 91 | [sanukin39](https://github.com/sanukin39) 92 | -------------------------------------------------------------------------------- /UnityPackage/UniLocalNotification.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/UnityPackage/UniLocalNotification.unitypackage -------------------------------------------------------------------------------- /UnityProject/.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | *.unitypackage 35 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab57134238754921a0c79d859a6054f 3 | folderAsset: yes 4 | timeCreated: 1504409895 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/AndroidLocalNotification.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_ANDROID 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | namespace Sanukin39 7 | { 8 | public class AndroidLocalNotification : ILocalNotification 9 | { 10 | const int MaxRegisterNum = 5; 11 | const string PackageName = "net.sanukin.unilocalnotification.NotificationSender"; 12 | 13 | /// 14 | /// Initialization 15 | /// 16 | public void Initialize() 17 | { 18 | // Do nothing... 19 | } 20 | 21 | /// 22 | /// Check notification is permitted 23 | /// 24 | /// true, if notification is permitted , false otherwise. 25 | public bool IsNotificationPermitted() 26 | { 27 | var c = new AndroidJavaClass(PackageName); 28 | return c.CallStatic("isNotificationPermitted"); 29 | } 30 | 31 | /// 32 | /// Open app setting 33 | /// 34 | public void OpenAppSetting() 35 | { 36 | var c = new AndroidJavaClass(PackageName); 37 | c.CallStatic("openAppSettings"); 38 | } 39 | 40 | /// 41 | /// Register local notification 42 | /// 43 | /// Delay time. 44 | /// Notification Message. 45 | /// Notification Title. 46 | public void Register(int delayTime, string message, string title = "") 47 | { 48 | var c = new AndroidJavaClass(PackageName); 49 | for (int i = 0; i < MaxRegisterNum; i++) 50 | { 51 | if (!c.CallStatic("hasPendingIntent", i)) 52 | { 53 | c.CallStatic("setNotification", title, message, delayTime, i); 54 | break; 55 | } 56 | } 57 | } 58 | 59 | /// 60 | /// Cancel all notification 61 | /// 62 | public void CancelAll() 63 | { 64 | var c = new AndroidJavaClass(PackageName); 65 | for (int i = 0; i < MaxRegisterNum; i++) 66 | { 67 | if (c.CallStatic("hasPendingIntent", i)) 68 | { 69 | c.CallStatic("cancel", i); 70 | } 71 | } 72 | } 73 | } 74 | } 75 | #endif 76 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/AndroidLocalNotification.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c22400eed2ad64e25b52597840de3903 3 | timeCreated: 1504414467 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/EditorLocalNotification.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Sanukin39 6 | { 7 | public class EditorLocalNotification : ILocalNotification 8 | { 9 | public void Initialize() 10 | { 11 | } 12 | 13 | public bool IsNotificationPermitted() 14 | { 15 | return true; 16 | } 17 | 18 | public void OpenAppSetting() 19 | { 20 | } 21 | 22 | public void Register(int delayTime, string message, string title) 23 | { 24 | } 25 | 26 | public void CancelAll() 27 | { 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/EditorLocalNotification.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84d4fa8b3686b417ea529330e4619039 3 | timeCreated: 1505399289 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecdf0d0d246b440a0a1e161c4562e43e 3 | folderAsset: yes 4 | timeCreated: 1504409931 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/Example/UniLocalNotificationSample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | public class UniLocalNotificationSample : MonoBehaviour { 7 | 8 | 9 | [SerializeField] 10 | private InputField timeDelayInput; 11 | [SerializeField] 12 | private Text statusText; 13 | 14 | 15 | private void Awake() 16 | { 17 | UniLocalNotification.Initialize(); 18 | } 19 | 20 | public void Register() 21 | { 22 | int timeDelay; 23 | if (int.TryParse(timeDelayInput.text, out timeDelay)) 24 | { 25 | UniLocalNotification.Register(timeDelay, "Message", "Title"); 26 | statusText.text = string.Format("Notification Registered After {0} Sec", timeDelay); 27 | } 28 | } 29 | 30 | public void CheckIsLocalNotificaionPermitted() 31 | { 32 | bool isPermitted = UniLocalNotification.IsLocalNotificationPermitted(); 33 | statusText.text = string.Format("Notification Permitted : {0}", isPermitted); 34 | } 35 | 36 | public void OpenAppSetting() 37 | { 38 | UniLocalNotification.OpenAppSetting(); 39 | } 40 | 41 | public void CancelAll() 42 | { 43 | UniLocalNotification.CancelAll(); 44 | statusText.text = "All Local Notification is Cancelled"; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/Example/UniLocalNotificationSample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e30e374073d2480cb0498bf1f6ea4c8 3 | timeCreated: 1505642112 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/Example/example.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: 3 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 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, g: 0, b: 0, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 1 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: 0 55 | m_EnableRealtimeLightmaps: 0 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 &39307360 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: 39307361} 119 | - component: {fileID: 39307363} 120 | - component: {fileID: 39307362} 121 | m_Layer: 5 122 | m_Name: Placeholder 123 | m_TagString: Untagged 124 | m_Icon: {fileID: 0} 125 | m_NavMeshLayer: 0 126 | m_StaticEditorFlags: 0 127 | m_IsActive: 1 128 | --- !u!224 &39307361 129 | RectTransform: 130 | m_ObjectHideFlags: 0 131 | m_PrefabParentObject: {fileID: 0} 132 | m_PrefabInternal: {fileID: 0} 133 | m_GameObject: {fileID: 39307360} 134 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 135 | m_LocalPosition: {x: 0, y: 0, z: 0} 136 | m_LocalScale: {x: 1, y: 1, z: 1} 137 | m_Children: [] 138 | m_Father: {fileID: 191399971} 139 | m_RootOrder: 0 140 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 141 | m_AnchorMin: {x: 0, y: 0} 142 | m_AnchorMax: {x: 1, y: 1} 143 | m_AnchoredPosition: {x: 0, y: -0.5} 144 | m_SizeDelta: {x: -20, y: -13} 145 | m_Pivot: {x: 0.5, y: 0.5} 146 | --- !u!114 &39307362 147 | MonoBehaviour: 148 | m_ObjectHideFlags: 0 149 | m_PrefabParentObject: {fileID: 0} 150 | m_PrefabInternal: {fileID: 0} 151 | m_GameObject: {fileID: 39307360} 152 | m_Enabled: 1 153 | m_EditorHideFlags: 0 154 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 155 | m_Name: 156 | m_EditorClassIdentifier: 157 | m_Material: {fileID: 0} 158 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} 159 | m_RaycastTarget: 1 160 | m_OnCullStateChanged: 161 | m_PersistentCalls: 162 | m_Calls: [] 163 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 164 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 165 | m_FontData: 166 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 167 | m_FontSize: 40 168 | m_FontStyle: 2 169 | m_BestFit: 0 170 | m_MinSize: 0 171 | m_MaxSize: 49 172 | m_Alignment: 0 173 | m_AlignByGeometry: 0 174 | m_RichText: 1 175 | m_HorizontalOverflow: 0 176 | m_VerticalOverflow: 0 177 | m_LineSpacing: 1 178 | m_Text: Enter Notification Delay 179 | --- !u!222 &39307363 180 | CanvasRenderer: 181 | m_ObjectHideFlags: 0 182 | m_PrefabParentObject: {fileID: 0} 183 | m_PrefabInternal: {fileID: 0} 184 | m_GameObject: {fileID: 39307360} 185 | --- !u!1 &191399970 186 | GameObject: 187 | m_ObjectHideFlags: 0 188 | m_PrefabParentObject: {fileID: 0} 189 | m_PrefabInternal: {fileID: 0} 190 | serializedVersion: 5 191 | m_Component: 192 | - component: {fileID: 191399971} 193 | - component: {fileID: 191399974} 194 | - component: {fileID: 191399973} 195 | - component: {fileID: 191399972} 196 | m_Layer: 5 197 | m_Name: InputField 198 | m_TagString: Untagged 199 | m_Icon: {fileID: 0} 200 | m_NavMeshLayer: 0 201 | m_StaticEditorFlags: 0 202 | m_IsActive: 1 203 | --- !u!224 &191399971 204 | RectTransform: 205 | m_ObjectHideFlags: 0 206 | m_PrefabParentObject: {fileID: 0} 207 | m_PrefabInternal: {fileID: 0} 208 | m_GameObject: {fileID: 191399970} 209 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 210 | m_LocalPosition: {x: 0, y: 0, z: 0} 211 | m_LocalScale: {x: 1, y: 1, z: 1} 212 | m_Children: 213 | - {fileID: 39307361} 214 | - {fileID: 1557351896} 215 | m_Father: {fileID: 1493510568} 216 | m_RootOrder: 0 217 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 218 | m_AnchorMin: {x: 0, y: 0} 219 | m_AnchorMax: {x: 0, y: 0} 220 | m_AnchoredPosition: {x: 0, y: 0} 221 | m_SizeDelta: {x: 0, y: 0} 222 | m_Pivot: {x: 0.5, y: 0.5} 223 | --- !u!114 &191399972 224 | MonoBehaviour: 225 | m_ObjectHideFlags: 0 226 | m_PrefabParentObject: {fileID: 0} 227 | m_PrefabInternal: {fileID: 0} 228 | m_GameObject: {fileID: 191399970} 229 | m_Enabled: 1 230 | m_EditorHideFlags: 0 231 | m_Script: {fileID: 575553740, guid: f70555f144d8491a825f0804e09c671c, type: 3} 232 | m_Name: 233 | m_EditorClassIdentifier: 234 | m_Navigation: 235 | m_Mode: 3 236 | m_SelectOnUp: {fileID: 0} 237 | m_SelectOnDown: {fileID: 0} 238 | m_SelectOnLeft: {fileID: 0} 239 | m_SelectOnRight: {fileID: 0} 240 | m_Transition: 1 241 | m_Colors: 242 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 243 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 244 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 245 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 246 | m_ColorMultiplier: 1 247 | m_FadeDuration: 0.1 248 | m_SpriteState: 249 | m_HighlightedSprite: {fileID: 0} 250 | m_PressedSprite: {fileID: 0} 251 | m_DisabledSprite: {fileID: 0} 252 | m_AnimationTriggers: 253 | m_NormalTrigger: Normal 254 | m_HighlightedTrigger: Highlighted 255 | m_PressedTrigger: Pressed 256 | m_DisabledTrigger: Disabled 257 | m_Interactable: 1 258 | m_TargetGraphic: {fileID: 191399973} 259 | m_TextComponent: {fileID: 1557351897} 260 | m_Placeholder: {fileID: 39307362} 261 | m_ContentType: 2 262 | m_InputType: 0 263 | m_AsteriskChar: 42 264 | m_KeyboardType: 4 265 | m_LineType: 0 266 | m_HideMobileInput: 0 267 | m_CharacterValidation: 1 268 | m_CharacterLimit: 0 269 | m_OnEndEdit: 270 | m_PersistentCalls: 271 | m_Calls: [] 272 | m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, 273 | Culture=neutral, PublicKeyToken=null 274 | m_OnValueChanged: 275 | m_PersistentCalls: 276 | m_Calls: [] 277 | m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, 278 | Culture=neutral, PublicKeyToken=null 279 | m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 280 | m_CustomCaretColor: 0 281 | m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} 282 | m_Text: 283 | m_CaretBlinkRate: 0.85 284 | m_CaretWidth: 1 285 | m_ReadOnly: 0 286 | --- !u!114 &191399973 287 | MonoBehaviour: 288 | m_ObjectHideFlags: 0 289 | m_PrefabParentObject: {fileID: 0} 290 | m_PrefabInternal: {fileID: 0} 291 | m_GameObject: {fileID: 191399970} 292 | m_Enabled: 1 293 | m_EditorHideFlags: 0 294 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 295 | m_Name: 296 | m_EditorClassIdentifier: 297 | m_Material: {fileID: 0} 298 | m_Color: {r: 1, g: 1, b: 1, a: 1} 299 | m_RaycastTarget: 1 300 | m_OnCullStateChanged: 301 | m_PersistentCalls: 302 | m_Calls: [] 303 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 304 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 305 | m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} 306 | m_Type: 1 307 | m_PreserveAspect: 0 308 | m_FillCenter: 1 309 | m_FillMethod: 4 310 | m_FillAmount: 1 311 | m_FillClockwise: 1 312 | m_FillOrigin: 0 313 | --- !u!222 &191399974 314 | CanvasRenderer: 315 | m_ObjectHideFlags: 0 316 | m_PrefabParentObject: {fileID: 0} 317 | m_PrefabInternal: {fileID: 0} 318 | m_GameObject: {fileID: 191399970} 319 | --- !u!1 &215309389 320 | GameObject: 321 | m_ObjectHideFlags: 0 322 | m_PrefabParentObject: {fileID: 0} 323 | m_PrefabInternal: {fileID: 0} 324 | serializedVersion: 5 325 | m_Component: 326 | - component: {fileID: 215309390} 327 | - component: {fileID: 215309392} 328 | - component: {fileID: 215309391} 329 | m_Layer: 5 330 | m_Name: StatusText 331 | m_TagString: Untagged 332 | m_Icon: {fileID: 0} 333 | m_NavMeshLayer: 0 334 | m_StaticEditorFlags: 0 335 | m_IsActive: 1 336 | --- !u!224 &215309390 337 | RectTransform: 338 | m_ObjectHideFlags: 0 339 | m_PrefabParentObject: {fileID: 0} 340 | m_PrefabInternal: {fileID: 0} 341 | m_GameObject: {fileID: 215309389} 342 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 343 | m_LocalPosition: {x: 0, y: 0, z: 0} 344 | m_LocalScale: {x: 1, y: 1, z: 1} 345 | m_Children: [] 346 | m_Father: {fileID: 1493510568} 347 | m_RootOrder: 5 348 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 349 | m_AnchorMin: {x: 0, y: 0} 350 | m_AnchorMax: {x: 0, y: 0} 351 | m_AnchoredPosition: {x: 0, y: 0} 352 | m_SizeDelta: {x: 0, y: 0} 353 | m_Pivot: {x: 0.5, y: 0.5} 354 | --- !u!114 &215309391 355 | MonoBehaviour: 356 | m_ObjectHideFlags: 0 357 | m_PrefabParentObject: {fileID: 0} 358 | m_PrefabInternal: {fileID: 0} 359 | m_GameObject: {fileID: 215309389} 360 | m_Enabled: 1 361 | m_EditorHideFlags: 0 362 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 363 | m_Name: 364 | m_EditorClassIdentifier: 365 | m_Material: {fileID: 0} 366 | m_Color: {r: 1, g: 1, b: 1, a: 1} 367 | m_RaycastTarget: 1 368 | m_OnCullStateChanged: 369 | m_PersistentCalls: 370 | m_Calls: [] 371 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 372 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 373 | m_FontData: 374 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 375 | m_FontSize: 45 376 | m_FontStyle: 0 377 | m_BestFit: 0 378 | m_MinSize: 0 379 | m_MaxSize: 45 380 | m_Alignment: 4 381 | m_AlignByGeometry: 0 382 | m_RichText: 1 383 | m_HorizontalOverflow: 1 384 | m_VerticalOverflow: 0 385 | m_LineSpacing: 1 386 | m_Text: 387 | --- !u!222 &215309392 388 | CanvasRenderer: 389 | m_ObjectHideFlags: 0 390 | m_PrefabParentObject: {fileID: 0} 391 | m_PrefabInternal: {fileID: 0} 392 | m_GameObject: {fileID: 215309389} 393 | --- !u!1 &280719753 394 | GameObject: 395 | m_ObjectHideFlags: 0 396 | m_PrefabParentObject: {fileID: 0} 397 | m_PrefabInternal: {fileID: 0} 398 | serializedVersion: 5 399 | m_Component: 400 | - component: {fileID: 280719754} 401 | - component: {fileID: 280719757} 402 | - component: {fileID: 280719756} 403 | - component: {fileID: 280719755} 404 | m_Layer: 5 405 | m_Name: CheckPermitted 406 | m_TagString: Untagged 407 | m_Icon: {fileID: 0} 408 | m_NavMeshLayer: 0 409 | m_StaticEditorFlags: 0 410 | m_IsActive: 1 411 | --- !u!224 &280719754 412 | RectTransform: 413 | m_ObjectHideFlags: 0 414 | m_PrefabParentObject: {fileID: 0} 415 | m_PrefabInternal: {fileID: 0} 416 | m_GameObject: {fileID: 280719753} 417 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 418 | m_LocalPosition: {x: 0, y: 0, z: 0} 419 | m_LocalScale: {x: 0.99999964, y: 0.99999964, z: 0.99999964} 420 | m_Children: 421 | - {fileID: 672643190} 422 | m_Father: {fileID: 1493510568} 423 | m_RootOrder: 2 424 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 425 | m_AnchorMin: {x: 0, y: 0} 426 | m_AnchorMax: {x: 0, y: 0} 427 | m_AnchoredPosition: {x: 0, y: 0} 428 | m_SizeDelta: {x: 0, y: 0} 429 | m_Pivot: {x: 0.5, y: 0.5} 430 | --- !u!114 &280719755 431 | MonoBehaviour: 432 | m_ObjectHideFlags: 0 433 | m_PrefabParentObject: {fileID: 0} 434 | m_PrefabInternal: {fileID: 0} 435 | m_GameObject: {fileID: 280719753} 436 | m_Enabled: 1 437 | m_EditorHideFlags: 0 438 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 439 | m_Name: 440 | m_EditorClassIdentifier: 441 | m_Navigation: 442 | m_Mode: 3 443 | m_SelectOnUp: {fileID: 0} 444 | m_SelectOnDown: {fileID: 0} 445 | m_SelectOnLeft: {fileID: 0} 446 | m_SelectOnRight: {fileID: 0} 447 | m_Transition: 1 448 | m_Colors: 449 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 450 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 451 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 452 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 453 | m_ColorMultiplier: 1 454 | m_FadeDuration: 0.1 455 | m_SpriteState: 456 | m_HighlightedSprite: {fileID: 0} 457 | m_PressedSprite: {fileID: 0} 458 | m_DisabledSprite: {fileID: 0} 459 | m_AnimationTriggers: 460 | m_NormalTrigger: Normal 461 | m_HighlightedTrigger: Highlighted 462 | m_PressedTrigger: Pressed 463 | m_DisabledTrigger: Disabled 464 | m_Interactable: 1 465 | m_TargetGraphic: {fileID: 280719756} 466 | m_OnClick: 467 | m_PersistentCalls: 468 | m_Calls: 469 | - m_Target: {fileID: 975539876} 470 | m_MethodName: CheckIsLocalNotificaionPermitted 471 | m_Mode: 1 472 | m_Arguments: 473 | m_ObjectArgument: {fileID: 0} 474 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine 475 | m_IntArgument: 0 476 | m_FloatArgument: 0 477 | m_StringArgument: 478 | m_BoolArgument: 0 479 | m_CallState: 2 480 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 481 | Culture=neutral, PublicKeyToken=null 482 | --- !u!114 &280719756 483 | MonoBehaviour: 484 | m_ObjectHideFlags: 0 485 | m_PrefabParentObject: {fileID: 0} 486 | m_PrefabInternal: {fileID: 0} 487 | m_GameObject: {fileID: 280719753} 488 | m_Enabled: 1 489 | m_EditorHideFlags: 0 490 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 491 | m_Name: 492 | m_EditorClassIdentifier: 493 | m_Material: {fileID: 0} 494 | m_Color: {r: 1, g: 1, b: 1, a: 1} 495 | m_RaycastTarget: 1 496 | m_OnCullStateChanged: 497 | m_PersistentCalls: 498 | m_Calls: [] 499 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 500 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 501 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 502 | m_Type: 1 503 | m_PreserveAspect: 0 504 | m_FillCenter: 1 505 | m_FillMethod: 4 506 | m_FillAmount: 1 507 | m_FillClockwise: 1 508 | m_FillOrigin: 0 509 | --- !u!222 &280719757 510 | CanvasRenderer: 511 | m_ObjectHideFlags: 0 512 | m_PrefabParentObject: {fileID: 0} 513 | m_PrefabInternal: {fileID: 0} 514 | m_GameObject: {fileID: 280719753} 515 | --- !u!1 &485358283 516 | GameObject: 517 | m_ObjectHideFlags: 0 518 | m_PrefabParentObject: {fileID: 0} 519 | m_PrefabInternal: {fileID: 0} 520 | serializedVersion: 5 521 | m_Component: 522 | - component: {fileID: 485358284} 523 | - component: {fileID: 485358287} 524 | - component: {fileID: 485358286} 525 | - component: {fileID: 485358285} 526 | m_Layer: 5 527 | m_Name: Register 528 | m_TagString: Untagged 529 | m_Icon: {fileID: 0} 530 | m_NavMeshLayer: 0 531 | m_StaticEditorFlags: 0 532 | m_IsActive: 1 533 | --- !u!224 &485358284 534 | RectTransform: 535 | m_ObjectHideFlags: 0 536 | m_PrefabParentObject: {fileID: 0} 537 | m_PrefabInternal: {fileID: 0} 538 | m_GameObject: {fileID: 485358283} 539 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 540 | m_LocalPosition: {x: 0, y: 0, z: 0} 541 | m_LocalScale: {x: 1, y: 1, z: 1} 542 | m_Children: 543 | - {fileID: 847757200} 544 | m_Father: {fileID: 1493510568} 545 | m_RootOrder: 1 546 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 547 | m_AnchorMin: {x: 0, y: 0} 548 | m_AnchorMax: {x: 0, y: 0} 549 | m_AnchoredPosition: {x: 0, y: 0} 550 | m_SizeDelta: {x: 0, y: 0} 551 | m_Pivot: {x: 0.5, y: 0.5} 552 | --- !u!114 &485358285 553 | MonoBehaviour: 554 | m_ObjectHideFlags: 0 555 | m_PrefabParentObject: {fileID: 0} 556 | m_PrefabInternal: {fileID: 0} 557 | m_GameObject: {fileID: 485358283} 558 | m_Enabled: 1 559 | m_EditorHideFlags: 0 560 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 561 | m_Name: 562 | m_EditorClassIdentifier: 563 | m_Navigation: 564 | m_Mode: 3 565 | m_SelectOnUp: {fileID: 0} 566 | m_SelectOnDown: {fileID: 0} 567 | m_SelectOnLeft: {fileID: 0} 568 | m_SelectOnRight: {fileID: 0} 569 | m_Transition: 1 570 | m_Colors: 571 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 572 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 573 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 574 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 575 | m_ColorMultiplier: 1 576 | m_FadeDuration: 0.1 577 | m_SpriteState: 578 | m_HighlightedSprite: {fileID: 0} 579 | m_PressedSprite: {fileID: 0} 580 | m_DisabledSprite: {fileID: 0} 581 | m_AnimationTriggers: 582 | m_NormalTrigger: Normal 583 | m_HighlightedTrigger: Highlighted 584 | m_PressedTrigger: Pressed 585 | m_DisabledTrigger: Disabled 586 | m_Interactable: 1 587 | m_TargetGraphic: {fileID: 485358286} 588 | m_OnClick: 589 | m_PersistentCalls: 590 | m_Calls: 591 | - m_Target: {fileID: 975539876} 592 | m_MethodName: Register 593 | m_Mode: 1 594 | m_Arguments: 595 | m_ObjectArgument: {fileID: 0} 596 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine 597 | m_IntArgument: 0 598 | m_FloatArgument: 0 599 | m_StringArgument: 600 | m_BoolArgument: 0 601 | m_CallState: 2 602 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 603 | Culture=neutral, PublicKeyToken=null 604 | --- !u!114 &485358286 605 | MonoBehaviour: 606 | m_ObjectHideFlags: 0 607 | m_PrefabParentObject: {fileID: 0} 608 | m_PrefabInternal: {fileID: 0} 609 | m_GameObject: {fileID: 485358283} 610 | m_Enabled: 1 611 | m_EditorHideFlags: 0 612 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 613 | m_Name: 614 | m_EditorClassIdentifier: 615 | m_Material: {fileID: 0} 616 | m_Color: {r: 1, g: 1, b: 1, a: 1} 617 | m_RaycastTarget: 1 618 | m_OnCullStateChanged: 619 | m_PersistentCalls: 620 | m_Calls: [] 621 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 622 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 623 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 624 | m_Type: 1 625 | m_PreserveAspect: 0 626 | m_FillCenter: 1 627 | m_FillMethod: 4 628 | m_FillAmount: 1 629 | m_FillClockwise: 1 630 | m_FillOrigin: 0 631 | --- !u!222 &485358287 632 | CanvasRenderer: 633 | m_ObjectHideFlags: 0 634 | m_PrefabParentObject: {fileID: 0} 635 | m_PrefabInternal: {fileID: 0} 636 | m_GameObject: {fileID: 485358283} 637 | --- !u!1 &672643189 638 | GameObject: 639 | m_ObjectHideFlags: 0 640 | m_PrefabParentObject: {fileID: 0} 641 | m_PrefabInternal: {fileID: 0} 642 | serializedVersion: 5 643 | m_Component: 644 | - component: {fileID: 672643190} 645 | - component: {fileID: 672643192} 646 | - component: {fileID: 672643191} 647 | m_Layer: 5 648 | m_Name: Text 649 | m_TagString: Untagged 650 | m_Icon: {fileID: 0} 651 | m_NavMeshLayer: 0 652 | m_StaticEditorFlags: 0 653 | m_IsActive: 1 654 | --- !u!224 &672643190 655 | RectTransform: 656 | m_ObjectHideFlags: 0 657 | m_PrefabParentObject: {fileID: 0} 658 | m_PrefabInternal: {fileID: 0} 659 | m_GameObject: {fileID: 672643189} 660 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 661 | m_LocalPosition: {x: 0, y: 0, z: 0} 662 | m_LocalScale: {x: 1, y: 1, z: 1} 663 | m_Children: [] 664 | m_Father: {fileID: 280719754} 665 | m_RootOrder: 0 666 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 667 | m_AnchorMin: {x: 0, y: 0} 668 | m_AnchorMax: {x: 1, y: 1} 669 | m_AnchoredPosition: {x: 0, y: 0} 670 | m_SizeDelta: {x: 0, y: 0} 671 | m_Pivot: {x: 0.5, y: 0.5} 672 | --- !u!114 &672643191 673 | MonoBehaviour: 674 | m_ObjectHideFlags: 0 675 | m_PrefabParentObject: {fileID: 0} 676 | m_PrefabInternal: {fileID: 0} 677 | m_GameObject: {fileID: 672643189} 678 | m_Enabled: 1 679 | m_EditorHideFlags: 0 680 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 681 | m_Name: 682 | m_EditorClassIdentifier: 683 | m_Material: {fileID: 0} 684 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 685 | m_RaycastTarget: 1 686 | m_OnCullStateChanged: 687 | m_PersistentCalls: 688 | m_Calls: [] 689 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 690 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 691 | m_FontData: 692 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 693 | m_FontSize: 32 694 | m_FontStyle: 0 695 | m_BestFit: 0 696 | m_MinSize: 0 697 | m_MaxSize: 40 698 | m_Alignment: 4 699 | m_AlignByGeometry: 0 700 | m_RichText: 1 701 | m_HorizontalOverflow: 0 702 | m_VerticalOverflow: 0 703 | m_LineSpacing: 1 704 | m_Text: Check Notification Permitted 705 | --- !u!222 &672643192 706 | CanvasRenderer: 707 | m_ObjectHideFlags: 0 708 | m_PrefabParentObject: {fileID: 0} 709 | m_PrefabInternal: {fileID: 0} 710 | m_GameObject: {fileID: 672643189} 711 | --- !u!1 &806526854 712 | GameObject: 713 | m_ObjectHideFlags: 0 714 | m_PrefabParentObject: {fileID: 0} 715 | m_PrefabInternal: {fileID: 0} 716 | serializedVersion: 5 717 | m_Component: 718 | - component: {fileID: 806526858} 719 | - component: {fileID: 806526857} 720 | - component: {fileID: 806526856} 721 | - component: {fileID: 806526855} 722 | m_Layer: 5 723 | m_Name: Canvas 724 | m_TagString: Untagged 725 | m_Icon: {fileID: 0} 726 | m_NavMeshLayer: 0 727 | m_StaticEditorFlags: 0 728 | m_IsActive: 1 729 | --- !u!114 &806526855 730 | MonoBehaviour: 731 | m_ObjectHideFlags: 0 732 | m_PrefabParentObject: {fileID: 0} 733 | m_PrefabInternal: {fileID: 0} 734 | m_GameObject: {fileID: 806526854} 735 | m_Enabled: 1 736 | m_EditorHideFlags: 0 737 | m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} 738 | m_Name: 739 | m_EditorClassIdentifier: 740 | m_IgnoreReversedGraphics: 1 741 | m_BlockingObjects: 0 742 | m_BlockingMask: 743 | serializedVersion: 2 744 | m_Bits: 4294967295 745 | --- !u!114 &806526856 746 | MonoBehaviour: 747 | m_ObjectHideFlags: 0 748 | m_PrefabParentObject: {fileID: 0} 749 | m_PrefabInternal: {fileID: 0} 750 | m_GameObject: {fileID: 806526854} 751 | m_Enabled: 1 752 | m_EditorHideFlags: 0 753 | m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} 754 | m_Name: 755 | m_EditorClassIdentifier: 756 | m_UiScaleMode: 1 757 | m_ReferencePixelsPerUnit: 100 758 | m_ScaleFactor: 1 759 | m_ReferenceResolution: {x: 750, y: 1334} 760 | m_ScreenMatchMode: 1 761 | m_MatchWidthOrHeight: 0 762 | m_PhysicalUnit: 3 763 | m_FallbackScreenDPI: 96 764 | m_DefaultSpriteDPI: 96 765 | m_DynamicPixelsPerUnit: 1 766 | --- !u!223 &806526857 767 | Canvas: 768 | m_ObjectHideFlags: 0 769 | m_PrefabParentObject: {fileID: 0} 770 | m_PrefabInternal: {fileID: 0} 771 | m_GameObject: {fileID: 806526854} 772 | m_Enabled: 1 773 | serializedVersion: 3 774 | m_RenderMode: 0 775 | m_Camera: {fileID: 0} 776 | m_PlaneDistance: 100 777 | m_PixelPerfect: 0 778 | m_ReceivesEvents: 1 779 | m_OverrideSorting: 0 780 | m_OverridePixelPerfect: 0 781 | m_SortingBucketNormalizedSize: 0 782 | m_AdditionalShaderChannelsFlag: 0 783 | m_SortingLayerID: 0 784 | m_SortingOrder: 0 785 | m_TargetDisplay: 0 786 | --- !u!224 &806526858 787 | RectTransform: 788 | m_ObjectHideFlags: 0 789 | m_PrefabParentObject: {fileID: 0} 790 | m_PrefabInternal: {fileID: 0} 791 | m_GameObject: {fileID: 806526854} 792 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 793 | m_LocalPosition: {x: 0, y: 0, z: 0} 794 | m_LocalScale: {x: 0, y: 0, z: 0} 795 | m_Children: 796 | - {fileID: 1493510568} 797 | m_Father: {fileID: 0} 798 | m_RootOrder: 1 799 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 800 | m_AnchorMin: {x: 0, y: 0} 801 | m_AnchorMax: {x: 0, y: 0} 802 | m_AnchoredPosition: {x: 0, y: 0} 803 | m_SizeDelta: {x: 0, y: 0} 804 | m_Pivot: {x: 0, y: 0} 805 | --- !u!1 &847757199 806 | GameObject: 807 | m_ObjectHideFlags: 0 808 | m_PrefabParentObject: {fileID: 0} 809 | m_PrefabInternal: {fileID: 0} 810 | serializedVersion: 5 811 | m_Component: 812 | - component: {fileID: 847757200} 813 | - component: {fileID: 847757202} 814 | - component: {fileID: 847757201} 815 | m_Layer: 5 816 | m_Name: Text 817 | m_TagString: Untagged 818 | m_Icon: {fileID: 0} 819 | m_NavMeshLayer: 0 820 | m_StaticEditorFlags: 0 821 | m_IsActive: 1 822 | --- !u!224 &847757200 823 | RectTransform: 824 | m_ObjectHideFlags: 0 825 | m_PrefabParentObject: {fileID: 0} 826 | m_PrefabInternal: {fileID: 0} 827 | m_GameObject: {fileID: 847757199} 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: 485358284} 833 | m_RootOrder: 0 834 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 835 | m_AnchorMin: {x: 0, y: 0} 836 | m_AnchorMax: {x: 1, y: 1} 837 | m_AnchoredPosition: {x: 0, y: 0} 838 | m_SizeDelta: {x: 0, y: 0} 839 | m_Pivot: {x: 0.5, y: 0.5} 840 | --- !u!114 &847757201 841 | MonoBehaviour: 842 | m_ObjectHideFlags: 0 843 | m_PrefabParentObject: {fileID: 0} 844 | m_PrefabInternal: {fileID: 0} 845 | m_GameObject: {fileID: 847757199} 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: 32 862 | m_FontStyle: 0 863 | m_BestFit: 0 864 | m_MinSize: 0 865 | m_MaxSize: 40 866 | m_Alignment: 4 867 | m_AlignByGeometry: 0 868 | m_RichText: 1 869 | m_HorizontalOverflow: 0 870 | m_VerticalOverflow: 0 871 | m_LineSpacing: 1 872 | m_Text: Register 873 | --- !u!222 &847757202 874 | CanvasRenderer: 875 | m_ObjectHideFlags: 0 876 | m_PrefabParentObject: {fileID: 0} 877 | m_PrefabInternal: {fileID: 0} 878 | m_GameObject: {fileID: 847757199} 879 | --- !u!1 &975539875 880 | GameObject: 881 | m_ObjectHideFlags: 0 882 | m_PrefabParentObject: {fileID: 0} 883 | m_PrefabInternal: {fileID: 0} 884 | serializedVersion: 5 885 | m_Component: 886 | - component: {fileID: 975539877} 887 | - component: {fileID: 975539876} 888 | m_Layer: 0 889 | m_Name: LocalNotificationManager 890 | m_TagString: Untagged 891 | m_Icon: {fileID: 0} 892 | m_NavMeshLayer: 0 893 | m_StaticEditorFlags: 0 894 | m_IsActive: 1 895 | --- !u!114 &975539876 896 | MonoBehaviour: 897 | m_ObjectHideFlags: 0 898 | m_PrefabParentObject: {fileID: 0} 899 | m_PrefabInternal: {fileID: 0} 900 | m_GameObject: {fileID: 975539875} 901 | m_Enabled: 1 902 | m_EditorHideFlags: 0 903 | m_Script: {fileID: 11500000, guid: 0e30e374073d2480cb0498bf1f6ea4c8, type: 3} 904 | m_Name: 905 | m_EditorClassIdentifier: 906 | timeDelayInput: {fileID: 191399972} 907 | statusText: {fileID: 215309391} 908 | --- !u!4 &975539877 909 | Transform: 910 | m_ObjectHideFlags: 0 911 | m_PrefabParentObject: {fileID: 0} 912 | m_PrefabInternal: {fileID: 0} 913 | m_GameObject: {fileID: 975539875} 914 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 915 | m_LocalPosition: {x: 240, y: 427, z: 0} 916 | m_LocalScale: {x: 1, y: 1, z: 1} 917 | m_Children: [] 918 | m_Father: {fileID: 0} 919 | m_RootOrder: 3 920 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 921 | --- !u!1 &1159131223 922 | GameObject: 923 | m_ObjectHideFlags: 0 924 | m_PrefabParentObject: {fileID: 0} 925 | m_PrefabInternal: {fileID: 0} 926 | serializedVersion: 5 927 | m_Component: 928 | - component: {fileID: 1159131226} 929 | - component: {fileID: 1159131225} 930 | - component: {fileID: 1159131224} 931 | m_Layer: 0 932 | m_Name: EventSystem 933 | m_TagString: Untagged 934 | m_Icon: {fileID: 0} 935 | m_NavMeshLayer: 0 936 | m_StaticEditorFlags: 0 937 | m_IsActive: 1 938 | --- !u!114 &1159131224 939 | MonoBehaviour: 940 | m_ObjectHideFlags: 0 941 | m_PrefabParentObject: {fileID: 0} 942 | m_PrefabInternal: {fileID: 0} 943 | m_GameObject: {fileID: 1159131223} 944 | m_Enabled: 1 945 | m_EditorHideFlags: 0 946 | m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} 947 | m_Name: 948 | m_EditorClassIdentifier: 949 | m_HorizontalAxis: Horizontal 950 | m_VerticalAxis: Vertical 951 | m_SubmitButton: Submit 952 | m_CancelButton: Cancel 953 | m_InputActionsPerSecond: 10 954 | m_RepeatDelay: 0.5 955 | m_ForceModuleActive: 0 956 | --- !u!114 &1159131225 957 | MonoBehaviour: 958 | m_ObjectHideFlags: 0 959 | m_PrefabParentObject: {fileID: 0} 960 | m_PrefabInternal: {fileID: 0} 961 | m_GameObject: {fileID: 1159131223} 962 | m_Enabled: 1 963 | m_EditorHideFlags: 0 964 | m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} 965 | m_Name: 966 | m_EditorClassIdentifier: 967 | m_FirstSelected: {fileID: 0} 968 | m_sendNavigationEvents: 1 969 | m_DragThreshold: 5 970 | --- !u!4 &1159131226 971 | Transform: 972 | m_ObjectHideFlags: 0 973 | m_PrefabParentObject: {fileID: 0} 974 | m_PrefabInternal: {fileID: 0} 975 | m_GameObject: {fileID: 1159131223} 976 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 977 | m_LocalPosition: {x: 0, y: 0, z: 0} 978 | m_LocalScale: {x: 1, y: 1, z: 1} 979 | m_Children: [] 980 | m_Father: {fileID: 0} 981 | m_RootOrder: 2 982 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 983 | --- !u!1 &1199985587 984 | GameObject: 985 | m_ObjectHideFlags: 0 986 | m_PrefabParentObject: {fileID: 0} 987 | m_PrefabInternal: {fileID: 0} 988 | serializedVersion: 5 989 | m_Component: 990 | - component: {fileID: 1199985588} 991 | - component: {fileID: 1199985590} 992 | - component: {fileID: 1199985589} 993 | m_Layer: 5 994 | m_Name: Text 995 | m_TagString: Untagged 996 | m_Icon: {fileID: 0} 997 | m_NavMeshLayer: 0 998 | m_StaticEditorFlags: 0 999 | m_IsActive: 1 1000 | --- !u!224 &1199985588 1001 | RectTransform: 1002 | m_ObjectHideFlags: 0 1003 | m_PrefabParentObject: {fileID: 0} 1004 | m_PrefabInternal: {fileID: 0} 1005 | m_GameObject: {fileID: 1199985587} 1006 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1007 | m_LocalPosition: {x: 0, y: 0, z: 0} 1008 | m_LocalScale: {x: 1, y: 1, z: 1} 1009 | m_Children: [] 1010 | m_Father: {fileID: 1321566166} 1011 | m_RootOrder: 0 1012 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1013 | m_AnchorMin: {x: 0, y: 0} 1014 | m_AnchorMax: {x: 1, y: 1} 1015 | m_AnchoredPosition: {x: 0, y: 0} 1016 | m_SizeDelta: {x: 0, y: 0} 1017 | m_Pivot: {x: 0.5, y: 0.5} 1018 | --- !u!114 &1199985589 1019 | MonoBehaviour: 1020 | m_ObjectHideFlags: 0 1021 | m_PrefabParentObject: {fileID: 0} 1022 | m_PrefabInternal: {fileID: 0} 1023 | m_GameObject: {fileID: 1199985587} 1024 | m_Enabled: 1 1025 | m_EditorHideFlags: 0 1026 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1027 | m_Name: 1028 | m_EditorClassIdentifier: 1029 | m_Material: {fileID: 0} 1030 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1031 | m_RaycastTarget: 1 1032 | m_OnCullStateChanged: 1033 | m_PersistentCalls: 1034 | m_Calls: [] 1035 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1036 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1037 | m_FontData: 1038 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1039 | m_FontSize: 32 1040 | m_FontStyle: 0 1041 | m_BestFit: 0 1042 | m_MinSize: 0 1043 | m_MaxSize: 40 1044 | m_Alignment: 4 1045 | m_AlignByGeometry: 0 1046 | m_RichText: 1 1047 | m_HorizontalOverflow: 0 1048 | m_VerticalOverflow: 0 1049 | m_LineSpacing: 1 1050 | m_Text: Open App Settings 1051 | --- !u!222 &1199985590 1052 | CanvasRenderer: 1053 | m_ObjectHideFlags: 0 1054 | m_PrefabParentObject: {fileID: 0} 1055 | m_PrefabInternal: {fileID: 0} 1056 | m_GameObject: {fileID: 1199985587} 1057 | --- !u!1 &1265364786 1058 | GameObject: 1059 | m_ObjectHideFlags: 0 1060 | m_PrefabParentObject: {fileID: 0} 1061 | m_PrefabInternal: {fileID: 0} 1062 | serializedVersion: 5 1063 | m_Component: 1064 | - component: {fileID: 1265364787} 1065 | - component: {fileID: 1265364789} 1066 | - component: {fileID: 1265364788} 1067 | m_Layer: 5 1068 | m_Name: Text 1069 | m_TagString: Untagged 1070 | m_Icon: {fileID: 0} 1071 | m_NavMeshLayer: 0 1072 | m_StaticEditorFlags: 0 1073 | m_IsActive: 1 1074 | --- !u!224 &1265364787 1075 | RectTransform: 1076 | m_ObjectHideFlags: 0 1077 | m_PrefabParentObject: {fileID: 0} 1078 | m_PrefabInternal: {fileID: 0} 1079 | m_GameObject: {fileID: 1265364786} 1080 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1081 | m_LocalPosition: {x: 0, y: 0, z: 0} 1082 | m_LocalScale: {x: 1, y: 1, z: 1} 1083 | m_Children: [] 1084 | m_Father: {fileID: 1365054548} 1085 | m_RootOrder: 0 1086 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1087 | m_AnchorMin: {x: 0, y: 0} 1088 | m_AnchorMax: {x: 1, y: 1} 1089 | m_AnchoredPosition: {x: 0, y: 0} 1090 | m_SizeDelta: {x: 0, y: 0} 1091 | m_Pivot: {x: 0.5, y: 0.5} 1092 | --- !u!114 &1265364788 1093 | MonoBehaviour: 1094 | m_ObjectHideFlags: 0 1095 | m_PrefabParentObject: {fileID: 0} 1096 | m_PrefabInternal: {fileID: 0} 1097 | m_GameObject: {fileID: 1265364786} 1098 | m_Enabled: 1 1099 | m_EditorHideFlags: 0 1100 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1101 | m_Name: 1102 | m_EditorClassIdentifier: 1103 | m_Material: {fileID: 0} 1104 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1105 | m_RaycastTarget: 1 1106 | m_OnCullStateChanged: 1107 | m_PersistentCalls: 1108 | m_Calls: [] 1109 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1110 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1111 | m_FontData: 1112 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1113 | m_FontSize: 32 1114 | m_FontStyle: 0 1115 | m_BestFit: 0 1116 | m_MinSize: 0 1117 | m_MaxSize: 40 1118 | m_Alignment: 4 1119 | m_AlignByGeometry: 0 1120 | m_RichText: 1 1121 | m_HorizontalOverflow: 0 1122 | m_VerticalOverflow: 0 1123 | m_LineSpacing: 1 1124 | m_Text: Cancel All Notification 1125 | --- !u!222 &1265364789 1126 | CanvasRenderer: 1127 | m_ObjectHideFlags: 0 1128 | m_PrefabParentObject: {fileID: 0} 1129 | m_PrefabInternal: {fileID: 0} 1130 | m_GameObject: {fileID: 1265364786} 1131 | --- !u!1 &1321566165 1132 | GameObject: 1133 | m_ObjectHideFlags: 0 1134 | m_PrefabParentObject: {fileID: 0} 1135 | m_PrefabInternal: {fileID: 0} 1136 | serializedVersion: 5 1137 | m_Component: 1138 | - component: {fileID: 1321566166} 1139 | - component: {fileID: 1321566169} 1140 | - component: {fileID: 1321566168} 1141 | - component: {fileID: 1321566167} 1142 | m_Layer: 5 1143 | m_Name: OpenAppSetting 1144 | m_TagString: Untagged 1145 | m_Icon: {fileID: 0} 1146 | m_NavMeshLayer: 0 1147 | m_StaticEditorFlags: 0 1148 | m_IsActive: 1 1149 | --- !u!224 &1321566166 1150 | RectTransform: 1151 | m_ObjectHideFlags: 0 1152 | m_PrefabParentObject: {fileID: 0} 1153 | m_PrefabInternal: {fileID: 0} 1154 | m_GameObject: {fileID: 1321566165} 1155 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1156 | m_LocalPosition: {x: 0, y: 0, z: 0} 1157 | m_LocalScale: {x: 0.99999964, y: 0.99999964, z: 0.99999964} 1158 | m_Children: 1159 | - {fileID: 1199985588} 1160 | m_Father: {fileID: 1493510568} 1161 | m_RootOrder: 3 1162 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1163 | m_AnchorMin: {x: 0, y: 0} 1164 | m_AnchorMax: {x: 0, y: 0} 1165 | m_AnchoredPosition: {x: 0, y: 0} 1166 | m_SizeDelta: {x: 0, y: 0} 1167 | m_Pivot: {x: 0.5, y: 0.5} 1168 | --- !u!114 &1321566167 1169 | MonoBehaviour: 1170 | m_ObjectHideFlags: 0 1171 | m_PrefabParentObject: {fileID: 0} 1172 | m_PrefabInternal: {fileID: 0} 1173 | m_GameObject: {fileID: 1321566165} 1174 | m_Enabled: 1 1175 | m_EditorHideFlags: 0 1176 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1177 | m_Name: 1178 | m_EditorClassIdentifier: 1179 | m_Navigation: 1180 | m_Mode: 3 1181 | m_SelectOnUp: {fileID: 0} 1182 | m_SelectOnDown: {fileID: 0} 1183 | m_SelectOnLeft: {fileID: 0} 1184 | m_SelectOnRight: {fileID: 0} 1185 | m_Transition: 1 1186 | m_Colors: 1187 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1188 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1189 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1190 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1191 | m_ColorMultiplier: 1 1192 | m_FadeDuration: 0.1 1193 | m_SpriteState: 1194 | m_HighlightedSprite: {fileID: 0} 1195 | m_PressedSprite: {fileID: 0} 1196 | m_DisabledSprite: {fileID: 0} 1197 | m_AnimationTriggers: 1198 | m_NormalTrigger: Normal 1199 | m_HighlightedTrigger: Highlighted 1200 | m_PressedTrigger: Pressed 1201 | m_DisabledTrigger: Disabled 1202 | m_Interactable: 1 1203 | m_TargetGraphic: {fileID: 1321566168} 1204 | m_OnClick: 1205 | m_PersistentCalls: 1206 | m_Calls: 1207 | - m_Target: {fileID: 975539876} 1208 | m_MethodName: OpenAppSetting 1209 | m_Mode: 1 1210 | m_Arguments: 1211 | m_ObjectArgument: {fileID: 0} 1212 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine 1213 | m_IntArgument: 0 1214 | m_FloatArgument: 0 1215 | m_StringArgument: 1216 | m_BoolArgument: 0 1217 | m_CallState: 2 1218 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 1219 | Culture=neutral, PublicKeyToken=null 1220 | --- !u!114 &1321566168 1221 | MonoBehaviour: 1222 | m_ObjectHideFlags: 0 1223 | m_PrefabParentObject: {fileID: 0} 1224 | m_PrefabInternal: {fileID: 0} 1225 | m_GameObject: {fileID: 1321566165} 1226 | m_Enabled: 1 1227 | m_EditorHideFlags: 0 1228 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1229 | m_Name: 1230 | m_EditorClassIdentifier: 1231 | m_Material: {fileID: 0} 1232 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1233 | m_RaycastTarget: 1 1234 | m_OnCullStateChanged: 1235 | m_PersistentCalls: 1236 | m_Calls: [] 1237 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1238 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1239 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1240 | m_Type: 1 1241 | m_PreserveAspect: 0 1242 | m_FillCenter: 1 1243 | m_FillMethod: 4 1244 | m_FillAmount: 1 1245 | m_FillClockwise: 1 1246 | m_FillOrigin: 0 1247 | --- !u!222 &1321566169 1248 | CanvasRenderer: 1249 | m_ObjectHideFlags: 0 1250 | m_PrefabParentObject: {fileID: 0} 1251 | m_PrefabInternal: {fileID: 0} 1252 | m_GameObject: {fileID: 1321566165} 1253 | --- !u!1 &1365054547 1254 | GameObject: 1255 | m_ObjectHideFlags: 0 1256 | m_PrefabParentObject: {fileID: 0} 1257 | m_PrefabInternal: {fileID: 0} 1258 | serializedVersion: 5 1259 | m_Component: 1260 | - component: {fileID: 1365054548} 1261 | - component: {fileID: 1365054551} 1262 | - component: {fileID: 1365054550} 1263 | - component: {fileID: 1365054549} 1264 | m_Layer: 5 1265 | m_Name: CancelAll 1266 | m_TagString: Untagged 1267 | m_Icon: {fileID: 0} 1268 | m_NavMeshLayer: 0 1269 | m_StaticEditorFlags: 0 1270 | m_IsActive: 1 1271 | --- !u!224 &1365054548 1272 | RectTransform: 1273 | m_ObjectHideFlags: 0 1274 | m_PrefabParentObject: {fileID: 0} 1275 | m_PrefabInternal: {fileID: 0} 1276 | m_GameObject: {fileID: 1365054547} 1277 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1278 | m_LocalPosition: {x: 0, y: 0, z: 0} 1279 | m_LocalScale: {x: 0.99999964, y: 0.99999964, z: 0.99999964} 1280 | m_Children: 1281 | - {fileID: 1265364787} 1282 | m_Father: {fileID: 1493510568} 1283 | m_RootOrder: 4 1284 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1285 | m_AnchorMin: {x: 0, y: 0} 1286 | m_AnchorMax: {x: 0, y: 0} 1287 | m_AnchoredPosition: {x: 0, y: 0} 1288 | m_SizeDelta: {x: 0, y: 0} 1289 | m_Pivot: {x: 0.5, y: 0.5} 1290 | --- !u!114 &1365054549 1291 | MonoBehaviour: 1292 | m_ObjectHideFlags: 0 1293 | m_PrefabParentObject: {fileID: 0} 1294 | m_PrefabInternal: {fileID: 0} 1295 | m_GameObject: {fileID: 1365054547} 1296 | m_Enabled: 1 1297 | m_EditorHideFlags: 0 1298 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1299 | m_Name: 1300 | m_EditorClassIdentifier: 1301 | m_Navigation: 1302 | m_Mode: 3 1303 | m_SelectOnUp: {fileID: 0} 1304 | m_SelectOnDown: {fileID: 0} 1305 | m_SelectOnLeft: {fileID: 0} 1306 | m_SelectOnRight: {fileID: 0} 1307 | m_Transition: 1 1308 | m_Colors: 1309 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1} 1310 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} 1311 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} 1312 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 1313 | m_ColorMultiplier: 1 1314 | m_FadeDuration: 0.1 1315 | m_SpriteState: 1316 | m_HighlightedSprite: {fileID: 0} 1317 | m_PressedSprite: {fileID: 0} 1318 | m_DisabledSprite: {fileID: 0} 1319 | m_AnimationTriggers: 1320 | m_NormalTrigger: Normal 1321 | m_HighlightedTrigger: Highlighted 1322 | m_PressedTrigger: Pressed 1323 | m_DisabledTrigger: Disabled 1324 | m_Interactable: 1 1325 | m_TargetGraphic: {fileID: 1365054550} 1326 | m_OnClick: 1327 | m_PersistentCalls: 1328 | m_Calls: 1329 | - m_Target: {fileID: 975539876} 1330 | m_MethodName: CancelAll 1331 | m_Mode: 1 1332 | m_Arguments: 1333 | m_ObjectArgument: {fileID: 0} 1334 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine 1335 | m_IntArgument: 0 1336 | m_FloatArgument: 0 1337 | m_StringArgument: 1338 | m_BoolArgument: 0 1339 | m_CallState: 2 1340 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, 1341 | Culture=neutral, PublicKeyToken=null 1342 | --- !u!114 &1365054550 1343 | MonoBehaviour: 1344 | m_ObjectHideFlags: 0 1345 | m_PrefabParentObject: {fileID: 0} 1346 | m_PrefabInternal: {fileID: 0} 1347 | m_GameObject: {fileID: 1365054547} 1348 | m_Enabled: 1 1349 | m_EditorHideFlags: 0 1350 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1351 | m_Name: 1352 | m_EditorClassIdentifier: 1353 | m_Material: {fileID: 0} 1354 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1355 | m_RaycastTarget: 1 1356 | m_OnCullStateChanged: 1357 | m_PersistentCalls: 1358 | m_Calls: [] 1359 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1360 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1361 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1362 | m_Type: 1 1363 | m_PreserveAspect: 0 1364 | m_FillCenter: 1 1365 | m_FillMethod: 4 1366 | m_FillAmount: 1 1367 | m_FillClockwise: 1 1368 | m_FillOrigin: 0 1369 | --- !u!222 &1365054551 1370 | CanvasRenderer: 1371 | m_ObjectHideFlags: 0 1372 | m_PrefabParentObject: {fileID: 0} 1373 | m_PrefabInternal: {fileID: 0} 1374 | m_GameObject: {fileID: 1365054547} 1375 | --- !u!1 &1493510567 1376 | GameObject: 1377 | m_ObjectHideFlags: 0 1378 | m_PrefabParentObject: {fileID: 0} 1379 | m_PrefabInternal: {fileID: 0} 1380 | serializedVersion: 5 1381 | m_Component: 1382 | - component: {fileID: 1493510568} 1383 | - component: {fileID: 1493510569} 1384 | m_Layer: 5 1385 | m_Name: UIGrid 1386 | m_TagString: Untagged 1387 | m_Icon: {fileID: 0} 1388 | m_NavMeshLayer: 0 1389 | m_StaticEditorFlags: 0 1390 | m_IsActive: 1 1391 | --- !u!224 &1493510568 1392 | RectTransform: 1393 | m_ObjectHideFlags: 0 1394 | m_PrefabParentObject: {fileID: 0} 1395 | m_PrefabInternal: {fileID: 0} 1396 | m_GameObject: {fileID: 1493510567} 1397 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1398 | m_LocalPosition: {x: 0, y: 0, z: 0} 1399 | m_LocalScale: {x: 1, y: 1, z: 1} 1400 | m_Children: 1401 | - {fileID: 191399971} 1402 | - {fileID: 485358284} 1403 | - {fileID: 280719754} 1404 | - {fileID: 1321566166} 1405 | - {fileID: 1365054548} 1406 | - {fileID: 215309390} 1407 | m_Father: {fileID: 806526858} 1408 | m_RootOrder: 0 1409 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1410 | m_AnchorMin: {x: 0.5, y: 0.5} 1411 | m_AnchorMax: {x: 0.5, y: 0.5} 1412 | m_AnchoredPosition: {x: 0, y: 196} 1413 | m_SizeDelta: {x: 100, y: 100} 1414 | m_Pivot: {x: 0.5, y: 0.5} 1415 | --- !u!114 &1493510569 1416 | MonoBehaviour: 1417 | m_ObjectHideFlags: 0 1418 | m_PrefabParentObject: {fileID: 0} 1419 | m_PrefabInternal: {fileID: 0} 1420 | m_GameObject: {fileID: 1493510567} 1421 | m_Enabled: 1 1422 | m_EditorHideFlags: 0 1423 | m_Script: {fileID: -2095666955, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1424 | m_Name: 1425 | m_EditorClassIdentifier: 1426 | m_Padding: 1427 | m_Left: 0 1428 | m_Right: 0 1429 | m_Top: 0 1430 | m_Bottom: 0 1431 | m_ChildAlignment: 4 1432 | m_StartCorner: 0 1433 | m_StartAxis: 0 1434 | m_CellSize: {x: 500, y: 80} 1435 | m_Spacing: {x: 0, y: 20} 1436 | m_Constraint: 0 1437 | m_ConstraintCount: 2 1438 | --- !u!1 &1557351895 1439 | GameObject: 1440 | m_ObjectHideFlags: 0 1441 | m_PrefabParentObject: {fileID: 0} 1442 | m_PrefabInternal: {fileID: 0} 1443 | serializedVersion: 5 1444 | m_Component: 1445 | - component: {fileID: 1557351896} 1446 | - component: {fileID: 1557351898} 1447 | - component: {fileID: 1557351897} 1448 | m_Layer: 5 1449 | m_Name: Text 1450 | m_TagString: Untagged 1451 | m_Icon: {fileID: 0} 1452 | m_NavMeshLayer: 0 1453 | m_StaticEditorFlags: 0 1454 | m_IsActive: 1 1455 | --- !u!224 &1557351896 1456 | RectTransform: 1457 | m_ObjectHideFlags: 0 1458 | m_PrefabParentObject: {fileID: 0} 1459 | m_PrefabInternal: {fileID: 0} 1460 | m_GameObject: {fileID: 1557351895} 1461 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1462 | m_LocalPosition: {x: 0, y: 0, z: 0} 1463 | m_LocalScale: {x: 1, y: 1, z: 1} 1464 | m_Children: [] 1465 | m_Father: {fileID: 191399971} 1466 | m_RootOrder: 1 1467 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1468 | m_AnchorMin: {x: 0, y: 0} 1469 | m_AnchorMax: {x: 1, y: 1} 1470 | m_AnchoredPosition: {x: 0, y: -0.5} 1471 | m_SizeDelta: {x: -20, y: -13} 1472 | m_Pivot: {x: 0.5, y: 0.5} 1473 | --- !u!114 &1557351897 1474 | MonoBehaviour: 1475 | m_ObjectHideFlags: 0 1476 | m_PrefabParentObject: {fileID: 0} 1477 | m_PrefabInternal: {fileID: 0} 1478 | m_GameObject: {fileID: 1557351895} 1479 | m_Enabled: 1 1480 | m_EditorHideFlags: 0 1481 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1482 | m_Name: 1483 | m_EditorClassIdentifier: 1484 | m_Material: {fileID: 0} 1485 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} 1486 | m_RaycastTarget: 1 1487 | m_OnCullStateChanged: 1488 | m_PersistentCalls: 1489 | m_Calls: [] 1490 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1491 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1492 | m_FontData: 1493 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1494 | m_FontSize: 40 1495 | m_FontStyle: 0 1496 | m_BestFit: 0 1497 | m_MinSize: 0 1498 | m_MaxSize: 40 1499 | m_Alignment: 0 1500 | m_AlignByGeometry: 0 1501 | m_RichText: 0 1502 | m_HorizontalOverflow: 1 1503 | m_VerticalOverflow: 0 1504 | m_LineSpacing: 1 1505 | m_Text: 1506 | --- !u!222 &1557351898 1507 | CanvasRenderer: 1508 | m_ObjectHideFlags: 0 1509 | m_PrefabParentObject: {fileID: 0} 1510 | m_PrefabInternal: {fileID: 0} 1511 | m_GameObject: {fileID: 1557351895} 1512 | --- !u!1 &2093154112 1513 | GameObject: 1514 | m_ObjectHideFlags: 0 1515 | m_PrefabParentObject: {fileID: 0} 1516 | m_PrefabInternal: {fileID: 0} 1517 | serializedVersion: 5 1518 | m_Component: 1519 | - component: {fileID: 2093154117} 1520 | - component: {fileID: 2093154116} 1521 | - component: {fileID: 2093154115} 1522 | - component: {fileID: 2093154114} 1523 | - component: {fileID: 2093154113} 1524 | m_Layer: 0 1525 | m_Name: Main Camera 1526 | m_TagString: MainCamera 1527 | m_Icon: {fileID: 0} 1528 | m_NavMeshLayer: 0 1529 | m_StaticEditorFlags: 0 1530 | m_IsActive: 1 1531 | --- !u!81 &2093154113 1532 | AudioListener: 1533 | m_ObjectHideFlags: 0 1534 | m_PrefabParentObject: {fileID: 0} 1535 | m_PrefabInternal: {fileID: 0} 1536 | m_GameObject: {fileID: 2093154112} 1537 | m_Enabled: 1 1538 | --- !u!124 &2093154114 1539 | Behaviour: 1540 | m_ObjectHideFlags: 0 1541 | m_PrefabParentObject: {fileID: 0} 1542 | m_PrefabInternal: {fileID: 0} 1543 | m_GameObject: {fileID: 2093154112} 1544 | m_Enabled: 1 1545 | --- !u!92 &2093154115 1546 | Behaviour: 1547 | m_ObjectHideFlags: 0 1548 | m_PrefabParentObject: {fileID: 0} 1549 | m_PrefabInternal: {fileID: 0} 1550 | m_GameObject: {fileID: 2093154112} 1551 | m_Enabled: 1 1552 | --- !u!20 &2093154116 1553 | Camera: 1554 | m_ObjectHideFlags: 0 1555 | m_PrefabParentObject: {fileID: 0} 1556 | m_PrefabInternal: {fileID: 0} 1557 | m_GameObject: {fileID: 2093154112} 1558 | m_Enabled: 1 1559 | serializedVersion: 2 1560 | m_ClearFlags: 1 1561 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} 1562 | m_NormalizedViewPortRect: 1563 | serializedVersion: 2 1564 | x: 0 1565 | y: 0 1566 | width: 1 1567 | height: 1 1568 | near clip plane: 0.3 1569 | far clip plane: 1000 1570 | field of view: 60 1571 | orthographic: 1 1572 | orthographic size: 5 1573 | m_Depth: -1 1574 | m_CullingMask: 1575 | serializedVersion: 2 1576 | m_Bits: 4294967295 1577 | m_RenderingPath: -1 1578 | m_TargetTexture: {fileID: 0} 1579 | m_TargetDisplay: 0 1580 | m_TargetEye: 3 1581 | m_HDR: 1 1582 | m_AllowMSAA: 1 1583 | m_ForceIntoRT: 0 1584 | m_OcclusionCulling: 1 1585 | m_StereoConvergence: 10 1586 | m_StereoSeparation: 0.022 1587 | m_StereoMirrorMode: 0 1588 | --- !u!4 &2093154117 1589 | Transform: 1590 | m_ObjectHideFlags: 0 1591 | m_PrefabParentObject: {fileID: 0} 1592 | m_PrefabInternal: {fileID: 0} 1593 | m_GameObject: {fileID: 2093154112} 1594 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1595 | m_LocalPosition: {x: 0, y: 0, z: -10} 1596 | m_LocalScale: {x: 1, y: 1, z: 1} 1597 | m_Children: [] 1598 | m_Father: {fileID: 0} 1599 | m_RootOrder: 0 1600 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1601 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/Example/example.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6abac15fc63f645b1b9a37b55ee2f6e0 3 | timeCreated: 1504409899 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/ILocalNotification.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Sanukin39 6 | { 7 | /// 8 | /// Interface of using local notification 9 | /// 10 | public interface ILocalNotification 11 | { 12 | void Initialize(); 13 | bool IsNotificationPermitted(); 14 | void OpenAppSetting(); 15 | void Register(int delayTime, string message, string title); 16 | void CancelAll(); 17 | } 18 | } -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/ILocalNotification.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8408e67799a7b487dbb19b4a3766b3b3 3 | timeCreated: 1504410333 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/IOSLocalNotification.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_IOS 2 | using System.Runtime.InteropServices; 3 | using NotificationType = UnityEngine.iOS.NotificationType; 4 | using LocalNotification = UnityEngine.iOS.LocalNotification; 5 | using NotificationServices = UnityEngine.iOS.NotificationServices; 6 | 7 | namespace Sanukin39 { 8 | public class IOSLocalNotification : ILocalNotification 9 | { 10 | [DllImport("__Internal")] 11 | static extern void OpenAppSetting_(); 12 | 13 | [DllImport("__Internal")] 14 | static extern bool IsNotificationPermitted_(); 15 | 16 | /// 17 | /// Ask for permission to notify the user 18 | /// 19 | public void Initialize() 20 | { 21 | NotificationServices.RegisterForNotifications( 22 | NotificationType.Alert | 23 | NotificationType.Badge | 24 | NotificationType.Sound); 25 | } 26 | 27 | /// 28 | /// Check notification is permitted 29 | /// 30 | /// true, if notification is permitted , false otherwise. 31 | public bool IsNotificationPermitted() 32 | { 33 | return IsNotificationPermitted_(); 34 | } 35 | 36 | /// 37 | /// Open app setting 38 | /// 39 | public void OpenAppSetting() 40 | { 41 | OpenAppSetting_(); 42 | } 43 | 44 | /// 45 | /// Register local notification 46 | /// 47 | /// Delay time. 48 | /// Notification Message. 49 | /// Notification Title. 50 | public void Register(int delayTime, string message, string title = "") 51 | { 52 | LocalNotification notification = new LocalNotification(); 53 | notification.fireDate = System.DateTime.Now.AddSeconds(delayTime); 54 | notification.alertBody = message; 55 | NotificationServices.ScheduleLocalNotification(notification); 56 | } 57 | 58 | /// 59 | /// Cancel all notifications 60 | /// 61 | public void CancelAll() 62 | { 63 | NotificationServices.CancelAllLocalNotifications(); 64 | } 65 | } 66 | } 67 | #endif -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/IOSLocalNotification.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94709fbf7fdc844c8add1fa08ee8c424 3 | timeCreated: 1504410610 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/LocalNotificationPlugin.mm: -------------------------------------------------------------------------------- 1 | extern "C"{ 2 | void CleanIconBadge_(); 3 | void OpenAppSetting_(); 4 | bool IsNotificationPermitted_(); 5 | } 6 | 7 | // Clean app icon badge 8 | void CleanIconBadge_(){ 9 | [UIApplication sharedApplication].applicationIconBadgeNumber = -1; 10 | } 11 | 12 | // Open app settings (more than ios8.0) 13 | void OpenAppSetting_(){ 14 | float iOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; 15 | if(iOSVersion >= 8.0){ 16 | NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; 17 | [[UIApplication sharedApplication] openURL:url]; 18 | } 19 | } 20 | 21 | // Check if notification is permitted by user (Always return true if version is less than 8.0) 22 | bool IsNotificationPermitted_(){ 23 | float iOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; 24 | if(iOSVersion < 8.0){ 25 | return true; 26 | } 27 | UIUserNotificationSettings *settings = [[UIApplication sharedApplication] currentUserNotificationSettings]; 28 | return settings.types != 0; 29 | } 30 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/LocalNotificationPlugin.mm.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03954cd96e47d4da3acefedf0fa6931a 3 | timeCreated: 1504410067 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | data: 19 | first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | data: 26 | first: 27 | iPhone: iOS 28 | second: 29 | enabled: 1 30 | settings: {} 31 | data: 32 | first: 33 | tvOS: tvOS 34 | second: 35 | enabled: 1 36 | settings: {} 37 | userData: 38 | assetBundleName: 39 | assetBundleVariant: 40 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/UniLocalNotification.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using Sanukin39; 5 | 6 | /// 7 | /// Local Notification Manager 8 | /// 9 | public class UniLocalNotification 10 | { 11 | 12 | private static ILocalNotification notification; 13 | 14 | /// 15 | /// Initialize this instance. 16 | /// 17 | public static void Initialize() 18 | { 19 | #if UNITY_EDITOR 20 | notification = new EditorLocalNotification(); 21 | #elif UNITY_ANDROID 22 | notification = new AndroidLocalNotification(); 23 | #elif UNITY_IOS 24 | notification = new IOSLocalNotification(); 25 | #endif 26 | notification.Initialize(); 27 | } 28 | 29 | /// 30 | /// Ises the local notification permitted. 31 | /// 32 | /// true, if local notification was permitted, false otherwise. 33 | public static bool IsLocalNotificationPermitted() 34 | { 35 | return notification.IsNotificationPermitted(); 36 | } 37 | 38 | /// 39 | /// Opens the app setting. 40 | /// 41 | public static void OpenAppSetting() 42 | { 43 | notification.OpenAppSetting(); 44 | } 45 | 46 | /// 47 | /// Register the specified delayTime, message and title. 48 | /// 49 | /// Delay time. 50 | /// Message. 51 | /// Title. 52 | public static void Register(int delayTime, string message, string title = "") 53 | { 54 | notification.Register(delayTime, message, title); 55 | } 56 | 57 | /// 58 | /// Cancels all local notification 59 | /// 60 | public static void CancelAll() 61 | { 62 | notification.CancelAll(); 63 | } 64 | } 65 | 66 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/UniLocalNotification.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be27306c486e7426b880de7d2f52cb87 3 | timeCreated: 1504410174 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/support-compat-25.3.1.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/UnityProject/Assets/UniLocalNotification/support-compat-25.3.1.aar -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/support-compat-25.3.1.aar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e75bc0d46d614f14a009fcfeb64c9b9 3 | timeCreated: 1505793156 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 2 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | isOverridable: 0 11 | platformData: 12 | data: 13 | first: 14 | Android: Android 15 | second: 16 | enabled: 1 17 | settings: {} 18 | data: 19 | first: 20 | Any: 21 | second: 22 | enabled: 0 23 | settings: {} 24 | data: 25 | first: 26 | Editor: Editor 27 | second: 28 | enabled: 0 29 | settings: 30 | DefaultValueInitialized: true 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/unilocalnotification-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/UnityProject/Assets/UniLocalNotification/unilocalnotification-release.aar -------------------------------------------------------------------------------- /UnityProject/Assets/UniLocalNotification/unilocalnotification-release.aar.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7abdda28deec344bfa8d20041cad910f 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Android: Android 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Any: 21 | second: 22 | enabled: 0 23 | settings: {} 24 | - first: 25 | Editor: Editor 26 | second: 27 | enabled: 0 28 | settings: 29 | DefaultValueInitialized: true 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /UnityProject/Logs/Packages-Update.log: -------------------------------------------------------------------------------- 1 | 2 | === Sat Aug 31 12:46:06 2019 3 | 4 | Packages were changed. 5 | Update Mode: updateDependencies 6 | 7 | The following packages were added: 8 | com.unity.2d.tilemap@1.0.0 9 | com.unity.analytics@3.3.2 10 | com.unity.purchasing@2.0.6 11 | com.unity.ads@2.0.8 12 | com.unity.textmeshpro@2.0.1 13 | com.unity.package-manager-ui@2.2.0 14 | com.unity.collab-proxy@1.2.16 15 | com.unity.ext.nunit@1.0.0 16 | com.unity.test-framework@1.0.13 17 | com.unity.timeline@1.1.0 18 | com.unity.2d.sprite@1.0.0 19 | com.unity.ide.vscode@1.0.7 20 | com.unity.ide.rider@1.1.0 21 | com.unity.ugui@1.0.0 22 | com.unity.modules.ai@1.0.0 23 | com.unity.modules.animation@1.0.0 24 | com.unity.modules.androidjni@1.0.0 25 | com.unity.modules.assetbundle@1.0.0 26 | com.unity.modules.audio@1.0.0 27 | com.unity.modules.cloth@1.0.0 28 | com.unity.modules.director@1.0.0 29 | com.unity.modules.imageconversion@1.0.0 30 | com.unity.modules.imgui@1.0.0 31 | com.unity.modules.jsonserialize@1.0.0 32 | com.unity.modules.particlesystem@1.0.0 33 | com.unity.modules.physics@1.0.0 34 | com.unity.modules.physics2d@1.0.0 35 | com.unity.modules.screencapture@1.0.0 36 | com.unity.modules.terrain@1.0.0 37 | com.unity.modules.terrainphysics@1.0.0 38 | com.unity.modules.tilemap@1.0.0 39 | com.unity.modules.ui@1.0.0 40 | com.unity.modules.uielements@1.0.0 41 | com.unity.modules.umbra@1.0.0 42 | com.unity.modules.unityanalytics@1.0.0 43 | com.unity.modules.unitywebrequest@1.0.0 44 | com.unity.modules.unitywebrequestassetbundle@1.0.0 45 | com.unity.modules.unitywebrequestaudio@1.0.0 46 | com.unity.modules.unitywebrequesttexture@1.0.0 47 | com.unity.modules.unitywebrequestwww@1.0.0 48 | com.unity.modules.vehicles@1.0.0 49 | com.unity.modules.video@1.0.0 50 | com.unity.modules.vr@1.0.0 51 | com.unity.modules.wind@1.0.0 52 | com.unity.modules.xr@1.0.0 53 | com.unity.multiplayer-hlapi@1.0.2 54 | com.unity.xr.legacyinputhelpers@2.0.2 55 | -------------------------------------------------------------------------------- /UnityProject/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": "1.0.0", 4 | "com.unity.2d.tilemap": "1.0.0", 5 | "com.unity.ads": "2.0.8", 6 | "com.unity.analytics": "3.3.2", 7 | "com.unity.collab-proxy": "1.2.16", 8 | "com.unity.ext.nunit": "1.0.0", 9 | "com.unity.ide.rider": "1.1.0", 10 | "com.unity.ide.vscode": "1.0.7", 11 | "com.unity.multiplayer-hlapi": "1.0.2", 12 | "com.unity.package-manager-ui": "2.2.0", 13 | "com.unity.purchasing": "2.0.6", 14 | "com.unity.test-framework": "1.0.13", 15 | "com.unity.textmeshpro": "2.0.1", 16 | "com.unity.timeline": "1.1.0", 17 | "com.unity.ugui": "1.0.0", 18 | "com.unity.xr.legacyinputhelpers": "2.0.2", 19 | "com.unity.modules.ai": "1.0.0", 20 | "com.unity.modules.androidjni": "1.0.0", 21 | "com.unity.modules.animation": "1.0.0", 22 | "com.unity.modules.assetbundle": "1.0.0", 23 | "com.unity.modules.audio": "1.0.0", 24 | "com.unity.modules.cloth": "1.0.0", 25 | "com.unity.modules.director": "1.0.0", 26 | "com.unity.modules.imageconversion": "1.0.0", 27 | "com.unity.modules.imgui": "1.0.0", 28 | "com.unity.modules.jsonserialize": "1.0.0", 29 | "com.unity.modules.particlesystem": "1.0.0", 30 | "com.unity.modules.physics": "1.0.0", 31 | "com.unity.modules.physics2d": "1.0.0", 32 | "com.unity.modules.screencapture": "1.0.0", 33 | "com.unity.modules.terrain": "1.0.0", 34 | "com.unity.modules.terrainphysics": "1.0.0", 35 | "com.unity.modules.tilemap": "1.0.0", 36 | "com.unity.modules.ui": "1.0.0", 37 | "com.unity.modules.uielements": "1.0.0", 38 | "com.unity.modules.umbra": "1.0.0", 39 | "com.unity.modules.unityanalytics": "1.0.0", 40 | "com.unity.modules.unitywebrequest": "1.0.0", 41 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 42 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 43 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 44 | "com.unity.modules.unitywebrequestwww": "1.0.0", 45 | "com.unity.modules.vehicles": "1.0.0", 46 | "com.unity.modules.video": "1.0.0", 47 | "com.unity.modules.vr": "1.0.0", 48 | "com.unity.modules.wind": "1.0.0", 49 | "com.unity.modules.xr": "1.0.0" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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/UniLocalNotification/Example/example.unity 10 | guid: 6abac15fc63f645b1b9a37b55ee2f6e0 11 | -------------------------------------------------------------------------------- /UnityProject/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: 16001, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16003, guid: 0000000000000000f000000000000000, type: 0} 41 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 42 | m_PreloadedShaders: [] 43 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 44 | type: 0} 45 | m_CustomRenderPipeline: {fileID: 0} 46 | m_TransparencySortMode: 0 47 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 48 | m_DefaultRenderingPath: 1 49 | m_DefaultMobileRenderingPath: 1 50 | m_TierSettings: [] 51 | m_LightmapStripping: 0 52 | m_FogStripping: 0 53 | m_InstancingStripping: 0 54 | m_LightmapKeepPlain: 1 55 | m_LightmapKeepDirCombined: 1 56 | m_LightmapKeepDynamicPlain: 1 57 | m_LightmapKeepDynamicDirCombined: 1 58 | m_LightmapKeepShadowMask: 1 59 | m_LightmapKeepSubtractive: 1 60 | m_FogKeepLinear: 1 61 | m_FogKeepExp: 1 62 | m_FogKeepExp2: 1 63 | m_AlbedoSwatchInfos: [] 64 | m_LightsUseLinearIntensity: 0 65 | m_LightsUseColorTemperature: 0 66 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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_AlwaysShowColliders: 0 28 | m_ShowColliderSleep: 1 29 | m_ShowColliderContacts: 0 30 | m_ShowColliderAABB: 0 31 | m_ContactArrowScale: 0.2 32 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 33 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 34 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 35 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 36 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 37 | -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /UnityProject/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: 18 7 | productGUID: 0921adf3f847949baabb2170488e25ef 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: UnityProject 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 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_StackTraceTypes: 010000000100000001000000010000000100000001000000 53 | iosShowActivityIndicatorOnLoading: -1 54 | androidShowActivityIndicatorOnLoading: -1 55 | displayResolutionDialog: 1 56 | iosUseCustomAppBackgroundBehavior: 0 57 | iosAllowHTTPDownload: 1 58 | allowedAutorotateToPortrait: 1 59 | allowedAutorotateToPortraitUpsideDown: 1 60 | allowedAutorotateToLandscapeRight: 1 61 | allowedAutorotateToLandscapeLeft: 1 62 | useOSAutorotation: 1 63 | use32BitDisplayBuffer: 1 64 | preserveFramebufferAlpha: 0 65 | disableDepthAndStencilBuffers: 0 66 | androidStartInFullscreen: 1 67 | androidRenderOutsideSafeArea: 1 68 | androidUseSwappy: 0 69 | androidBlitType: 0 70 | defaultIsNativeResolution: 1 71 | macRetinaSupport: 1 72 | runInBackground: 0 73 | captureSingleScreen: 0 74 | muteOtherAudioSources: 0 75 | Prepare IOS For Recording: 0 76 | Force IOS Speakers When Recording: 0 77 | deferSystemGesturesMode: 0 78 | hideHomeButton: 0 79 | submitAnalytics: 1 80 | usePlayerLog: 1 81 | bakeCollisionMeshes: 0 82 | forceSingleInstance: 0 83 | useFlipModelSwapchain: 1 84 | resizableWindow: 0 85 | useMacAppStoreValidation: 0 86 | macAppStoreCategory: public.app-category.games 87 | gpuSkinning: 0 88 | graphicsJobs: 0 89 | xboxPIXTextureCapture: 0 90 | xboxEnableAvatar: 0 91 | xboxEnableKinect: 0 92 | xboxEnableKinectAutoTracking: 0 93 | xboxEnableFitness: 0 94 | visibleInBackground: 1 95 | allowFullscreenSwitch: 1 96 | graphicsJobMode: 0 97 | fullscreenMode: 2 98 | xboxSpeechDB: 0 99 | xboxEnableHeadOrientation: 0 100 | xboxEnableGuest: 0 101 | xboxEnablePIXSampling: 0 102 | metalFramebufferOnly: 0 103 | xboxOneResolution: 0 104 | xboxOneSResolution: 0 105 | xboxOneXResolution: 3 106 | xboxOneMonoLoggingLevel: 0 107 | xboxOneLoggingLevel: 1 108 | xboxOneDisableEsram: 0 109 | xboxOnePresentImmediateThreshold: 0 110 | switchQueueCommandMemory: 1048576 111 | switchQueueControlMemory: 16384 112 | switchQueueComputeMemory: 262144 113 | switchNVNShaderPoolsGranularity: 33554432 114 | switchNVNDefaultPoolsGranularity: 16777216 115 | switchNVNOtherPoolsGranularity: 16777216 116 | vulkanEnableSetSRGBWrite: 0 117 | m_SupportedAspectRatios: 118 | 4:3: 1 119 | 5:4: 1 120 | 16:10: 1 121 | 16:9: 1 122 | Others: 1 123 | bundleVersion: 1.0 124 | preloadedAssets: [] 125 | metroInputSource: 0 126 | wsaTransparentSwapchain: 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 | enableVideoLayer: 0 138 | useProtectedVideoMemory: 0 139 | minimumSupportedHeadTracking: 0 140 | maximumSupportedHeadTracking: 1 141 | hololens: 142 | depthFormat: 1 143 | depthBufferSharingEnabled: 1 144 | lumin: 145 | depthFormat: 0 146 | frameTiming: 2 147 | enableGLCache: 0 148 | glCacheMaxBlobSize: 524288 149 | glCacheMaxFileSize: 8388608 150 | oculus: 151 | sharedDepthBuffer: 1 152 | dashSupport: 1 153 | lowOverheadMode: 0 154 | enable360StereoCapture: 0 155 | isWsaHolographicRemotingEnabled: 0 156 | protectGraphicsMemory: 0 157 | enableFrameTimingStats: 0 158 | useHDRDisplay: 0 159 | m_ColorGamuts: 00000000 160 | targetPixelDensity: 30 161 | resolutionScalingMode: 0 162 | androidSupportedAspectRatio: 1 163 | androidMaxAspectRatio: 2.1 164 | applicationIdentifier: 165 | Android: net.sanukin.unilocalnotification 166 | buildNumber: {} 167 | AndroidBundleVersionCode: 1 168 | AndroidMinSdkVersion: 16 169 | AndroidTargetSdkVersion: 0 170 | AndroidPreferredInstallLocation: 1 171 | aotOptions: 172 | stripEngineCode: 1 173 | iPhoneStrippingLevel: 0 174 | iPhoneScriptCallOptimization: 0 175 | ForceInternetPermission: 0 176 | ForceSDCardPermission: 0 177 | CreateWallpaper: 0 178 | APKExpansionFiles: 0 179 | keepLoadedShadersAlive: 0 180 | StripUnusedMeshComponents: 0 181 | VertexChannelCompressionMask: 214 182 | iPhoneSdkVersion: 988 183 | iOSTargetOSVersionString: 9.0 184 | tvOSSdkVersion: 0 185 | tvOSRequireExtendedGameController: 0 186 | tvOSTargetOSVersionString: 9.0 187 | uIPrerenderedIcon: 0 188 | uIRequiresPersistentWiFi: 0 189 | uIRequiresFullScreen: 1 190 | uIStatusBarHidden: 1 191 | uIExitOnSuspend: 0 192 | uIStatusBarStyle: 0 193 | iPhoneSplashScreen: {fileID: 0} 194 | iPhoneHighResSplashScreen: {fileID: 0} 195 | iPhoneTallHighResSplashScreen: {fileID: 0} 196 | iPhone47inSplashScreen: {fileID: 0} 197 | iPhone55inPortraitSplashScreen: {fileID: 0} 198 | iPhone55inLandscapeSplashScreen: {fileID: 0} 199 | iPhone58inPortraitSplashScreen: {fileID: 0} 200 | iPhone58inLandscapeSplashScreen: {fileID: 0} 201 | iPadPortraitSplashScreen: {fileID: 0} 202 | iPadHighResPortraitSplashScreen: {fileID: 0} 203 | iPadLandscapeSplashScreen: {fileID: 0} 204 | iPadHighResLandscapeSplashScreen: {fileID: 0} 205 | iPhone65inPortraitSplashScreen: {fileID: 0} 206 | iPhone65inLandscapeSplashScreen: {fileID: 0} 207 | iPhone61inPortraitSplashScreen: {fileID: 0} 208 | iPhone61inLandscapeSplashScreen: {fileID: 0} 209 | appleTVSplashScreen: {fileID: 0} 210 | appleTVSplashScreen2x: {fileID: 0} 211 | tvOSSmallIconLayers: [] 212 | tvOSSmallIconLayers2x: [] 213 | tvOSLargeIconLayers: [] 214 | tvOSLargeIconLayers2x: [] 215 | tvOSTopShelfImageLayers: [] 216 | tvOSTopShelfImageLayers2x: [] 217 | tvOSTopShelfImageWideLayers: [] 218 | tvOSTopShelfImageWideLayers2x: [] 219 | iOSLaunchScreenType: 0 220 | iOSLaunchScreenPortrait: {fileID: 0} 221 | iOSLaunchScreenLandscape: {fileID: 0} 222 | iOSLaunchScreenBackgroundColor: 223 | serializedVersion: 2 224 | rgba: 0 225 | iOSLaunchScreenFillPct: 100 226 | iOSLaunchScreenSize: 100 227 | iOSLaunchScreenCustomXibPath: 228 | iOSLaunchScreeniPadType: 0 229 | iOSLaunchScreeniPadImage: {fileID: 0} 230 | iOSLaunchScreeniPadBackgroundColor: 231 | serializedVersion: 2 232 | rgba: 0 233 | iOSLaunchScreeniPadFillPct: 100 234 | iOSLaunchScreeniPadSize: 100 235 | iOSLaunchScreeniPadCustomXibPath: 236 | iOSUseLaunchScreenStoryboard: 0 237 | iOSLaunchScreenCustomStoryboardPath: 238 | iOSDeviceRequirements: [] 239 | iOSURLSchemes: [] 240 | iOSBackgroundModes: 0 241 | iOSMetalForceHardShadows: 0 242 | metalEditorSupport: 0 243 | metalAPIValidation: 1 244 | iOSRenderExtraFrameOnPause: 0 245 | appleDeveloperTeamID: 246 | iOSManualSigningProvisioningProfileID: 247 | tvOSManualSigningProvisioningProfileID: 248 | iOSManualSigningProvisioningProfileType: 0 249 | tvOSManualSigningProvisioningProfileType: 0 250 | appleEnableAutomaticSigning: 0 251 | iOSRequireARKit: 0 252 | iOSAutomaticallyDetectAndAddCapabilities: 1 253 | appleEnableProMotion: 0 254 | clonedFromGUID: 00000000000000000000000000000000 255 | templatePackageId: 256 | templateDefaultScene: 257 | AndroidTargetArchitectures: 5 258 | AndroidSplashScreenScale: 0 259 | androidSplashScreen: {fileID: 0} 260 | AndroidKeystoreName: '{inproject}: ' 261 | AndroidKeyaliasName: 262 | AndroidBuildApkPerCpuArchitecture: 0 263 | AndroidTVCompatibility: 1 264 | AndroidIsGame: 1 265 | AndroidEnableTango: 0 266 | androidEnableBanner: 1 267 | androidUseLowAccuracyLocation: 0 268 | androidUseCustomKeystore: 0 269 | m_AndroidBanners: 270 | - width: 320 271 | height: 180 272 | banner: {fileID: 0} 273 | androidGamepadSupportLevel: 0 274 | AndroidValidateAppBundleSize: 1 275 | AndroidAppBundleSizeToValidate: 150 276 | resolutionDialogBanner: {fileID: 0} 277 | m_BuildTargetIcons: [] 278 | m_BuildTargetPlatformIcons: 279 | - m_BuildTarget: Android 280 | m_Icons: 281 | - m_Textures: [] 282 | m_Width: 432 283 | m_Height: 432 284 | m_Kind: 2 285 | m_SubKind: 286 | - m_Textures: [] 287 | m_Width: 324 288 | m_Height: 324 289 | m_Kind: 2 290 | m_SubKind: 291 | - m_Textures: [] 292 | m_Width: 216 293 | m_Height: 216 294 | m_Kind: 2 295 | m_SubKind: 296 | - m_Textures: [] 297 | m_Width: 162 298 | m_Height: 162 299 | m_Kind: 2 300 | m_SubKind: 301 | - m_Textures: [] 302 | m_Width: 108 303 | m_Height: 108 304 | m_Kind: 2 305 | m_SubKind: 306 | - m_Textures: [] 307 | m_Width: 81 308 | m_Height: 81 309 | m_Kind: 2 310 | m_SubKind: 311 | - m_Textures: [] 312 | m_Width: 192 313 | m_Height: 192 314 | m_Kind: 0 315 | m_SubKind: 316 | - m_Textures: [] 317 | m_Width: 144 318 | m_Height: 144 319 | m_Kind: 0 320 | m_SubKind: 321 | - m_Textures: [] 322 | m_Width: 96 323 | m_Height: 96 324 | m_Kind: 0 325 | m_SubKind: 326 | - m_Textures: [] 327 | m_Width: 72 328 | m_Height: 72 329 | m_Kind: 0 330 | m_SubKind: 331 | - m_Textures: [] 332 | m_Width: 48 333 | m_Height: 48 334 | m_Kind: 0 335 | m_SubKind: 336 | - m_Textures: [] 337 | m_Width: 36 338 | m_Height: 36 339 | m_Kind: 0 340 | m_SubKind: 341 | - m_Textures: [] 342 | m_Width: 192 343 | m_Height: 192 344 | m_Kind: 1 345 | m_SubKind: 346 | - m_Textures: [] 347 | m_Width: 144 348 | m_Height: 144 349 | m_Kind: 1 350 | m_SubKind: 351 | - m_Textures: [] 352 | m_Width: 96 353 | m_Height: 96 354 | m_Kind: 1 355 | m_SubKind: 356 | - m_Textures: [] 357 | m_Width: 72 358 | m_Height: 72 359 | m_Kind: 1 360 | m_SubKind: 361 | - m_Textures: [] 362 | m_Width: 48 363 | m_Height: 48 364 | m_Kind: 1 365 | m_SubKind: 366 | - m_Textures: [] 367 | m_Width: 36 368 | m_Height: 36 369 | m_Kind: 1 370 | m_SubKind: 371 | m_BuildTargetBatching: [] 372 | m_BuildTargetGraphicsAPIs: [] 373 | m_BuildTargetVRSettings: [] 374 | openGLRequireES31: 0 375 | openGLRequireES31AEP: 0 376 | openGLRequireES32: 0 377 | vuforiaEnabled: 0 378 | m_TemplateCustomTags: {} 379 | mobileMTRendering: 380 | iPhone: 1 381 | tvOS: 1 382 | m_BuildTargetGroupLightmapEncodingQuality: 383 | - m_BuildTarget: Standalone 384 | m_EncodingQuality: 1 385 | - m_BuildTarget: XboxOne 386 | m_EncodingQuality: 1 387 | - m_BuildTarget: PS4 388 | m_EncodingQuality: 1 389 | m_BuildTargetGroupLightmapSettings: [] 390 | playModeTestRunnerEnabled: 0 391 | runPlayModeTestAsEditModeTest: 0 392 | actionOnDotNetUnhandledException: 1 393 | enableInternalProfiler: 0 394 | logObjCUncaughtExceptions: 1 395 | enableCrashReportAPI: 0 396 | cameraUsageDescription: 397 | locationUsageDescription: 398 | microphoneUsageDescription: 399 | switchNetLibKey: 400 | switchSocketMemoryPoolSize: 6144 401 | switchSocketAllocatorPoolSize: 128 402 | switchSocketConcurrencyLimit: 14 403 | switchScreenResolutionBehavior: 2 404 | switchUseCPUProfiler: 0 405 | switchApplicationID: 0x01004b9000490000 406 | switchNSODependencies: 407 | switchTitleNames_0: 408 | switchTitleNames_1: 409 | switchTitleNames_2: 410 | switchTitleNames_3: 411 | switchTitleNames_4: 412 | switchTitleNames_5: 413 | switchTitleNames_6: 414 | switchTitleNames_7: 415 | switchTitleNames_8: 416 | switchTitleNames_9: 417 | switchTitleNames_10: 418 | switchTitleNames_11: 419 | switchTitleNames_12: 420 | switchTitleNames_13: 421 | switchTitleNames_14: 422 | switchPublisherNames_0: 423 | switchPublisherNames_1: 424 | switchPublisherNames_2: 425 | switchPublisherNames_3: 426 | switchPublisherNames_4: 427 | switchPublisherNames_5: 428 | switchPublisherNames_6: 429 | switchPublisherNames_7: 430 | switchPublisherNames_8: 431 | switchPublisherNames_9: 432 | switchPublisherNames_10: 433 | switchPublisherNames_11: 434 | switchPublisherNames_12: 435 | switchPublisherNames_13: 436 | switchPublisherNames_14: 437 | switchIcons_0: {fileID: 0} 438 | switchIcons_1: {fileID: 0} 439 | switchIcons_2: {fileID: 0} 440 | switchIcons_3: {fileID: 0} 441 | switchIcons_4: {fileID: 0} 442 | switchIcons_5: {fileID: 0} 443 | switchIcons_6: {fileID: 0} 444 | switchIcons_7: {fileID: 0} 445 | switchIcons_8: {fileID: 0} 446 | switchIcons_9: {fileID: 0} 447 | switchIcons_10: {fileID: 0} 448 | switchIcons_11: {fileID: 0} 449 | switchIcons_12: {fileID: 0} 450 | switchIcons_13: {fileID: 0} 451 | switchIcons_14: {fileID: 0} 452 | switchSmallIcons_0: {fileID: 0} 453 | switchSmallIcons_1: {fileID: 0} 454 | switchSmallIcons_2: {fileID: 0} 455 | switchSmallIcons_3: {fileID: 0} 456 | switchSmallIcons_4: {fileID: 0} 457 | switchSmallIcons_5: {fileID: 0} 458 | switchSmallIcons_6: {fileID: 0} 459 | switchSmallIcons_7: {fileID: 0} 460 | switchSmallIcons_8: {fileID: 0} 461 | switchSmallIcons_9: {fileID: 0} 462 | switchSmallIcons_10: {fileID: 0} 463 | switchSmallIcons_11: {fileID: 0} 464 | switchSmallIcons_12: {fileID: 0} 465 | switchSmallIcons_13: {fileID: 0} 466 | switchSmallIcons_14: {fileID: 0} 467 | switchManualHTML: 468 | switchAccessibleURLs: 469 | switchLegalInformation: 470 | switchMainThreadStackSize: 1048576 471 | switchPresenceGroupId: 0x01004b9000490000 472 | switchLogoHandling: 0 473 | switchReleaseVersion: 0 474 | switchDisplayVersion: 1.0.0 475 | switchStartupUserAccount: 0 476 | switchTouchScreenUsage: 0 477 | switchSupportedLanguagesMask: 0 478 | switchLogoType: 0 479 | switchApplicationErrorCodeCategory: 480 | switchUserAccountSaveDataSize: 0 481 | switchUserAccountSaveDataJournalSize: 0 482 | switchApplicationAttribute: 0 483 | switchCardSpecSize: 4 484 | switchCardSpecClock: 25 485 | switchRatingsMask: 0 486 | switchRatingsInt_0: 0 487 | switchRatingsInt_1: 0 488 | switchRatingsInt_2: 0 489 | switchRatingsInt_3: 0 490 | switchRatingsInt_4: 0 491 | switchRatingsInt_5: 0 492 | switchRatingsInt_6: 0 493 | switchRatingsInt_7: 0 494 | switchRatingsInt_8: 0 495 | switchRatingsInt_9: 0 496 | switchRatingsInt_10: 0 497 | switchRatingsInt_11: 0 498 | switchLocalCommunicationIds_0: 0x01004b9000490000 499 | switchLocalCommunicationIds_1: 500 | switchLocalCommunicationIds_2: 501 | switchLocalCommunicationIds_3: 502 | switchLocalCommunicationIds_4: 503 | switchLocalCommunicationIds_5: 504 | switchLocalCommunicationIds_6: 505 | switchLocalCommunicationIds_7: 506 | switchParentalControl: 0 507 | switchAllowsScreenshot: 1 508 | switchAllowsVideoCapturing: 1 509 | switchAllowsRuntimeAddOnContentInstall: 0 510 | switchDataLossConfirmation: 0 511 | switchUserAccountLockEnabled: 0 512 | switchSystemResourceMemory: 16777216 513 | switchSupportedNpadStyles: 3 514 | switchNativeFsCacheSize: 32 515 | switchIsHoldTypeHorizontal: 0 516 | switchSupportedNpadCount: 8 517 | switchSocketConfigEnabled: 0 518 | switchTcpInitialSendBufferSize: 32 519 | switchTcpInitialReceiveBufferSize: 64 520 | switchTcpAutoSendBufferSizeMax: 256 521 | switchTcpAutoReceiveBufferSizeMax: 256 522 | switchUdpSendBufferSize: 9 523 | switchUdpReceiveBufferSize: 42 524 | switchSocketBufferEfficiency: 4 525 | switchSocketInitializeEnabled: 1 526 | switchNetworkInterfaceManagerInitializeEnabled: 1 527 | switchPlayerConnectionEnabled: 1 528 | ps4NPAgeRating: 12 529 | ps4NPTitleSecret: 530 | ps4NPTrophyPackPath: 531 | ps4ParentalLevel: 11 532 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 533 | ps4Category: 0 534 | ps4MasterVersion: 01.00 535 | ps4AppVersion: 01.00 536 | ps4AppType: 0 537 | ps4ParamSfxPath: 538 | ps4VideoOutPixelFormat: 0 539 | ps4VideoOutInitialWidth: 1920 540 | ps4VideoOutBaseModeInitialWidth: 1920 541 | ps4VideoOutReprojectionRate: 120 542 | ps4PronunciationXMLPath: 543 | ps4PronunciationSIGPath: 544 | ps4BackgroundImagePath: 545 | ps4StartupImagePath: 546 | ps4StartupImagesFolder: 547 | ps4IconImagesFolder: 548 | ps4SaveDataImagePath: 549 | ps4SdkOverride: 550 | ps4BGMPath: 551 | ps4ShareFilePath: 552 | ps4ShareOverlayImagePath: 553 | ps4PrivacyGuardImagePath: 554 | ps4NPtitleDatPath: 555 | ps4RemotePlayKeyAssignment: -1 556 | ps4RemotePlayKeyMappingDir: 557 | ps4PlayTogetherPlayerCount: 0 558 | ps4EnterButtonAssignment: 1 559 | ps4ApplicationParam1: 0 560 | ps4ApplicationParam2: 0 561 | ps4ApplicationParam3: 0 562 | ps4ApplicationParam4: 0 563 | ps4DownloadDataSize: 0 564 | ps4GarlicHeapSize: 2048 565 | ps4ProGarlicHeapSize: 2560 566 | playerPrefsMaxSize: 32768 567 | ps4Passcode: WRK5RhRXdCdG5nG5azdNMK66MuCV6GXi 568 | ps4pnSessions: 1 569 | ps4pnPresence: 1 570 | ps4pnFriends: 1 571 | ps4pnGameCustomData: 1 572 | playerPrefsSupport: 0 573 | enableApplicationExit: 0 574 | resetTempFolder: 1 575 | restrictedAudioUsageRights: 0 576 | ps4UseResolutionFallback: 0 577 | ps4ReprojectionSupport: 0 578 | ps4UseAudio3dBackend: 0 579 | ps4SocialScreenEnabled: 0 580 | ps4ScriptOptimizationLevel: 0 581 | ps4Audio3dVirtualSpeakerCount: 14 582 | ps4attribCpuUsage: 0 583 | ps4PatchPkgPath: 584 | ps4PatchLatestPkgPath: 585 | ps4PatchChangeinfoPath: 586 | ps4PatchDayOne: 0 587 | ps4attribUserManagement: 0 588 | ps4attribMoveSupport: 0 589 | ps4attrib3DSupport: 0 590 | ps4attribShareSupport: 0 591 | ps4attribExclusiveVR: 0 592 | ps4disableAutoHideSplash: 0 593 | ps4videoRecordingFeaturesUsed: 0 594 | ps4contentSearchFeaturesUsed: 0 595 | ps4attribEyeToEyeDistanceSettingVR: 0 596 | ps4IncludedModules: [] 597 | monoEnv: 598 | splashScreenBackgroundSourceLandscape: {fileID: 0} 599 | splashScreenBackgroundSourcePortrait: {fileID: 0} 600 | blurSplashScreenBackground: 1 601 | spritePackerPolicy: 602 | webGLMemorySize: 256 603 | webGLExceptionSupport: 1 604 | webGLNameFilesAsHashes: 0 605 | webGLDataCaching: 0 606 | webGLDebugSymbols: 0 607 | webGLEmscriptenArgs: 608 | webGLModulesDirectory: 609 | webGLTemplate: APPLICATION:Default 610 | webGLAnalyzeBuildSize: 0 611 | webGLUseEmbeddedResources: 0 612 | webGLCompressionFormat: 1 613 | webGLLinkerTarget: 1 614 | webGLThreadsSupport: 0 615 | webGLWasmStreaming: 0 616 | scriptingDefineSymbols: {} 617 | platformArchitecture: {} 618 | scriptingBackend: {} 619 | il2cppCompilerConfiguration: {} 620 | managedStrippingLevel: {} 621 | incrementalIl2cppBuild: {} 622 | allowUnsafeCode: 0 623 | additionalIl2CppArgs: 624 | scriptingRuntimeVersion: 1 625 | gcIncremental: 0 626 | gcWBarrierValidation: 0 627 | apiCompatibilityLevelPerPlatform: {} 628 | m_RenderingPath: 1 629 | m_MobileRenderingPath: 1 630 | metroPackageName: UnityProject 631 | metroPackageVersion: 632 | metroCertificatePath: 633 | metroCertificatePassword: 634 | metroCertificateSubject: 635 | metroCertificateIssuer: 636 | metroCertificateNotAfter: 0000000000000000 637 | metroApplicationDescription: UnityProject 638 | wsaImages: {} 639 | metroTileShortName: 640 | metroTileShowName: 0 641 | metroMediumTileShowName: 0 642 | metroLargeTileShowName: 0 643 | metroWideTileShowName: 0 644 | metroSupportStreamingInstall: 0 645 | metroLastRequiredScene: 0 646 | metroDefaultTileSize: 1 647 | metroTileForegroundText: 2 648 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 649 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 650 | a: 1} 651 | metroSplashScreenUseBackgroundColor: 0 652 | platformCapabilities: {} 653 | metroTargetDeviceFamilies: {} 654 | metroFTAName: 655 | metroFTAFileTypes: [] 656 | metroProtocolName: 657 | XboxOneProductId: 658 | XboxOneUpdateKey: 659 | XboxOneSandboxId: 660 | XboxOneContentId: 661 | XboxOneTitleId: 662 | XboxOneSCId: 663 | XboxOneGameOsOverridePath: 664 | XboxOnePackagingOverridePath: 665 | XboxOneAppManifestOverridePath: 666 | XboxOneVersion: 1.0.0.0 667 | XboxOnePackageEncryption: 0 668 | XboxOnePackageUpdateGranularity: 2 669 | XboxOneDescription: 670 | XboxOneLanguage: 671 | - enus 672 | XboxOneCapability: [] 673 | XboxOneGameRating: {} 674 | XboxOneIsContentPackage: 0 675 | XboxOneEnableGPUVariability: 0 676 | XboxOneSockets: {} 677 | XboxOneSplashScreen: {fileID: 0} 678 | XboxOneAllowedProductIds: [] 679 | XboxOnePersistentLocalStorageSize: 0 680 | XboxOneXTitleMemory: 8 681 | xboxOneScriptCompiler: 1 682 | XboxOneOverrideIdentityName: 683 | vrEditorSettings: 684 | daydream: 685 | daydreamIconForeground: {fileID: 0} 686 | daydreamIconBackground: {fileID: 0} 687 | cloudServicesEnabled: {} 688 | luminIcon: 689 | m_Name: 690 | m_ModelFolderPath: 691 | m_PortalFolderPath: 692 | luminCert: 693 | m_CertPath: 694 | m_SignPackage: 1 695 | luminIsChannelApp: 0 696 | luminVersion: 697 | m_VersionCode: 1 698 | m_VersionName: 699 | facebookSdkVersion: 7.9.4 700 | facebookAppId: 701 | facebookCookies: 1 702 | facebookLogging: 1 703 | facebookStatus: 1 704 | facebookXfbml: 0 705 | facebookFrictionlessRequests: 1 706 | apiCompatibilityLevel: 6 707 | cloudProjectId: 708 | framebufferDepthMemorylessMode: 0 709 | projectName: 710 | organizationId: 711 | cloudEnabled: 0 712 | enableNativePlatformBackendsForNewInputSystem: 0 713 | disableOldInputManagerSupport: 0 714 | legacyClampBlendShapeWeights: 1 715 | -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.2.2f1 2 | m_EditorVersionWithRevision: 2019.2.2f1 (ab112815d860) 3 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | -------------------------------------------------------------------------------- /UnityProject/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 | serializedVersion: 1 7 | m_Enabled: 1 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /UnityProject/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /UnityProject/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: 1 10 | m_SpritePackerMode: 4 11 | m_SpritePackerPaddingPower: 1 12 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 13 | m_ProjectGenerationRootNamespace: 14 | m_UserGeneratedProjectSuffix: 15 | m_CollabEditorSettings: 16 | inProgressEnabled: 1 17 | -------------------------------------------------------------------------------- /images/aar_create_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/images/aar_create_1.png -------------------------------------------------------------------------------- /images/aar_create_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/images/aar_create_2.png -------------------------------------------------------------------------------- /images/aar_create_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/images/aar_create_3.png -------------------------------------------------------------------------------- /images/ios_sample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sanukin39/UniLocalNotification/4a92556be64d65143518b32bdf8bdcfed38e5932/images/ios_sample.gif --------------------------------------------------------------------------------