├── .DS_Store
├── .gitignore
├── AndroidProject
├── .gitignore
├── ULiteWebView
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── com
│ │ │ └── jing
│ │ │ └── unity
│ │ │ ├── base
│ │ │ └── Unity.java
│ │ │ └── ulitewebview
│ │ │ └── ULiteWebView.java
│ │ └── res
│ │ └── values
│ │ └── strings.xml
├── app
│ ├── .gitignore
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ └── ulitewebview_test.html
│ │ ├── java
│ │ └── com
│ │ │ └── pieces
│ │ │ └── jing
│ │ │ └── ulitewebview
│ │ │ └── MainActivity.java
│ │ └── res
│ │ ├── drawable-v24
│ │ └── ic_launcher_foreground.xml
│ │ ├── drawable
│ │ └── ic_launcher_background.xml
│ │ ├── layout
│ │ └── activity_main.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── 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
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
├── Assets
├── Demo.meta
├── Demo
│ ├── Demo.cs
│ ├── Demo.cs.meta
│ ├── ULiteWebView.unity
│ └── ULiteWebView.unity.meta
├── Plugins.meta
├── Plugins
│ ├── Android.meta
│ ├── Android
│ │ ├── ULiteWebView-debug.aar
│ │ └── ULiteWebView-debug.aar.meta
│ ├── IOS.meta
│ └── IOS
│ │ ├── ULiteWebView.mm
│ │ └── ULiteWebView.mm.meta
├── StreamingAssets.meta
├── StreamingAssets
│ ├── ulitewebview_test.html
│ └── ulitewebview_test.html.meta
├── ULiteWevView.meta
└── ULiteWevView
│ ├── ReadMe.md
│ ├── ReadMe.md.meta
│ ├── ULiteWebView.cs
│ └── ULiteWebView.cs.meta
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
└── VFXManager.asset
├── README.md
└── _config.yml
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /[Ll]ibrary/
2 | /[Tt]emp/
3 | /[Oo]bj/
4 | /[Bb]uild/
5 |
6 | # Autogenerated VS/MD solution and project files
7 | *.csproj
8 | *.unityproj
9 | *.sln
10 | *.suo
11 | *.tmp
12 | *.user
13 | *.userprefs
14 | *.pidb
15 | *.booproj
16 |
17 | # Unity3D generated meta files
18 | *.pidb.meta
19 |
20 | # Unity3D Generated File On Crash Reports
21 | sysinfo.txt
22 | /LibraryZero/RuntimeCaches
23 | /Logs
24 | /.vs
25 |
--------------------------------------------------------------------------------
/AndroidProject/.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 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 26
5 | defaultConfig {
6 | minSdkVersion 17
7 | targetSdkVersion 26
8 | versionCode 1
9 | versionName "1.0"
10 |
11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12 |
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | productFlavors {
21 | }
22 | }
23 |
24 | dependencies {
25 | implementation fileTree(include: ['*.jar'], dir: 'libs')
26 | implementation 'com.android.support:appcompat-v7:26.1.0'
27 | testImplementation 'junit:junit:4.12'
28 | androidTestImplementation 'com.android.support.test:runner:1.0.1'
29 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
30 | }
31 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/src/main/java/com/jing/unity/base/Unity.java:
--------------------------------------------------------------------------------
1 | package com.jing.unity.base;
2 |
3 | import android.app.Activity;
4 |
5 | import java.lang.reflect.InvocationTargetException;
6 | import java.lang.reflect.Method;
7 |
8 | /**
9 | * Created by Jing on 2018/3/1 0001.
10 | */
11 | public class Unity {
12 |
13 | /**
14 | * 对象单例
15 | */
16 | public static Unity ins = new Unity();
17 |
18 | private Unity(){
19 | //单例模式
20 | }
21 |
22 | /**
23 | * Unity使用的上下文
24 | */
25 | public Activity activity;
26 |
27 | /**
28 | * 获取Unity使用的上下文
29 | * @return
30 | */
31 | public Activity getActivity(){
32 | if(null == activity) {
33 | try {
34 | Class> classtype = Class.forName("com.unity3d.player.UnityPlayer");
35 | Activity curActivity = (Activity) classtype.getDeclaredField("currentActivity").get(classtype);
36 | activity = curActivity;
37 | } catch (ClassNotFoundException e) {
38 |
39 | } catch (IllegalAccessException e) {
40 |
41 | } catch (NoSuchFieldException e) {
42 |
43 | }
44 | }
45 | return activity;
46 | }
47 |
48 | /**
49 | * 调用Unity项目中的方法
50 | * @param gameObjectName 调用的GameObject的名称
51 | * @param functionName 方法名
52 | * @param args 参数
53 | * @return 调用是否成功
54 | */
55 | public boolean call(String gameObjectName, String functionName, String args){
56 | try {
57 | Class> classtype = Class.forName("com.unity3d.player.UnityPlayer");
58 | Method method =classtype.getMethod("UnitySendMessage", String.class,String.class,String.class);
59 | method.invoke(classtype,gameObjectName,functionName,args);
60 | return true;
61 | } catch (ClassNotFoundException e) {
62 |
63 | } catch (NoSuchMethodException e) {
64 |
65 | } catch (IllegalAccessException e) {
66 |
67 | } catch (InvocationTargetException e) {
68 |
69 | }
70 | return false;
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/src/main/java/com/jing/unity/ulitewebview/ULiteWebView.java:
--------------------------------------------------------------------------------
1 | package com.jing.unity.ulitewebview;
2 |
3 | import android.content.Intent;
4 | import android.content.res.Resources;
5 | import android.net.Uri;
6 | import android.util.DisplayMetrics;
7 | import android.util.Log;
8 | import android.view.ViewGroup;
9 | import android.view.WindowManager;
10 | import android.webkit.WebSettings;
11 | import android.webkit.WebView;
12 | import android.webkit.WebViewClient;
13 | import android.widget.FrameLayout;
14 |
15 | import com.jing.unity.base.Unity;
16 |
17 | import org.json.JSONObject;
18 |
19 | /**
20 | * Created by Jing on 2018/3/1 0001.
21 | */
22 | public class ULiteWebView {
23 |
24 | final String ULITE_WEBVIEW = "ULiteWebView";
25 |
26 | private WebView _webView;
27 |
28 | int _top;
29 |
30 | int _bottom;
31 |
32 | int _left;
33 |
34 | int _right;
35 |
36 | String _url;
37 |
38 | String _gameObjectName;
39 |
40 | String _callJsFunName;
41 | String _callJsParams;
42 |
43 | public ULiteWebView() {
44 |
45 | }
46 |
47 | /**
48 | * JS通信内容
49 | * 协议格式为 [ulitewebview://interface?params] interface为请求的协议名,params为参数字符串
50 | * 或者 [ulitewebview://interface] interface为请求的协议名
51 | *
52 | * @param msg
53 | */
54 | private void onJsCall(String msg) {
55 | try {
56 | String[] split = msg.split("://");
57 | Log.i(ULITE_WEBVIEW, "js msg body:" + split[1]);
58 | Unity.ins.call(_gameObjectName, "OnJsCall", split[1]);
59 | } catch (Exception e) {
60 | Log.e(ULITE_WEBVIEW, "wrong js call:" + msg);
61 | }
62 | }
63 |
64 | public void callJs(final String funName, String msg) {
65 | _callJsFunName = funName;
66 | _callJsParams = msg;
67 | Unity.ins.getActivity().runOnUiThread(new Runnable() {
68 | @Override
69 | public void run() {
70 | if (null != _webView) {
71 | // 必须另开线程进行JS方法调用(否则无法调用)
72 | _webView.post(new Runnable() {
73 | @Override
74 | public void run() {
75 | // 注意调用的JS方法名要对应上
76 | // 调用javascript的callJS()方法
77 | String jsStr = String.format("javascript:%s(\"%s\")", _callJsFunName, _callJsParams);
78 | _webView.loadUrl(jsStr);
79 | }
80 | });
81 | }
82 | }
83 | });
84 | }
85 |
86 | private void init() {
87 | if (null == _webView) {
88 | WebView webView = new WebView(Unity.ins.getActivity());
89 | webView.setWebViewClient(new WebViewClient() {
90 | public boolean shouldOverrideUrlLoading(WebView view, String url) {
91 | Log.i("ULiteWebView", url);
92 |
93 | Unity.ins.call(_gameObjectName, "OnLoadingUrl", url );
94 |
95 | if (true == url.startsWith("ulitewebview://")) {
96 | //返回true表示不需要的再做处理了
97 | onJsCall(url);
98 | return true;
99 | } else if (url.startsWith("file://") || url.startsWith("http://") || url.startsWith("https://")) {
100 | //加载网页
101 | return super.shouldOverrideUrlLoading(view, url);
102 | } else {
103 | try {
104 | // 以下固定写法
105 | final Intent intent = new Intent();
106 | intent.setAction(Intent.ACTION_VIEW);
107 | intent.setData(Uri.parse(url));
108 | Unity.ins.getActivity().startActivity(intent);
109 | return true;
110 | } catch (Exception e) {
111 | }
112 | }
113 |
114 | return super.shouldOverrideUrlLoading(view, url);
115 | }
116 | });
117 |
118 | WebSettings webSettings = webView.getSettings();
119 | webSettings.setJavaScriptEnabled(true);
120 | webSettings.setJavaScriptCanOpenWindowsAutomatically(false);
121 | webSettings.setAllowFileAccess(true);
122 | webSettings.setSupportZoom(false);
123 | webSettings.setBuiltInZoomControls(true);
124 | webSettings.setUseWideViewPort(true);
125 | webSettings.setSupportMultipleWindows(true);
126 | webSettings.setAppCacheEnabled(true);
127 | webSettings.setDomStorageEnabled(true);
128 | webSettings.setGeolocationEnabled(true);
129 | webSettings.setAppCacheMaxSize(Long.MAX_VALUE);
130 | webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
131 |
132 | _webView = webView;
133 | }
134 | }
135 |
136 | private void destroy() {
137 | if (null != _webView) {
138 | FrameLayout view = (FrameLayout) Unity.ins.getActivity().getWindow().getDecorView();
139 | view.removeView(_webView);
140 | _webView.resumeTimers();
141 | _webView.destroy();
142 | _webView = null;
143 | }
144 | }
145 |
146 | public void registCallBackGameObjectName(String gameObjectName) {
147 | _gameObjectName = gameObjectName;
148 | }
149 |
150 |
151 | /***
152 | * 显示WebView
153 | */
154 | public void show() {
155 | show(0, 0, 0, 0);
156 | }
157 |
158 |
159 | /**
160 | * 显示WebView
161 | *
162 | * @param top 距离屏幕上部像素
163 | * @param bottom 距离屏幕下部像素
164 | * @param left 距离屏幕左部像素
165 | * @param right 距离屏幕右部像素
166 | */
167 | public void show(int top, int bottom, int left, int right) {
168 |
169 | _top = top;
170 | _bottom = bottom;
171 | _left = left;
172 | _right = right;
173 | Unity.ins.getActivity().runOnUiThread(new Runnable() {
174 | @Override
175 | public void run() {
176 | init();
177 | FrameLayout view = (FrameLayout) Unity.ins.getActivity().getWindow().getDecorView();
178 | view.addView(_webView);
179 |
180 | ViewGroup.LayoutParams lp = _webView.getLayoutParams();
181 |
182 | WindowManager manager = Unity.ins.getActivity().getWindowManager();
183 | DisplayMetrics outMetrics = new DisplayMetrics();
184 | manager.getDefaultDisplay().getRealMetrics(outMetrics);
185 | int screenW = outMetrics.widthPixels;
186 | int screenH = outMetrics.heightPixels;
187 |
188 | Log.i("ULiteWebView", String.format("屏幕宽高 [w:%d , h:%d]", screenW, screenH));
189 | Log.i("ULiteWebView", String.format("展示参数 [T:%d , B:%d , L:%d , R:%d]", _top, _bottom, _left, _right));
190 |
191 | lp.width = screenW - _left - _right;
192 | lp.height = screenH - _top - _bottom;
193 | _webView.setX(_left);
194 | _webView.setY(_top);
195 | _webView.setLayoutParams(lp);
196 | }
197 | });
198 | }
199 |
200 | /**
201 | * 加载URL
202 | *
203 | * @param url
204 | */
205 | public void loadUrl(String url) {
206 | _url = url;
207 | Unity.ins.getActivity().runOnUiThread(new Runnable() {
208 | @Override
209 | public void run() {
210 | if (null == _webView) {
211 | Log.i("ULiteWebView", "loadUrl _webview is null");
212 | return;
213 | }
214 | _webView.loadUrl(_url);
215 | }
216 | });
217 | }
218 |
219 | /**
220 | * 关闭webview
221 | */
222 | public void close() {
223 | Unity.ins.getActivity().runOnUiThread(new Runnable() {
224 | @Override
225 | public void run() {
226 | destroy();
227 | }
228 | });
229 | }
230 | }
231 |
--------------------------------------------------------------------------------
/AndroidProject/ULiteWebView/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ULiteWebView
3 |
4 |
--------------------------------------------------------------------------------
/AndroidProject/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/AndroidProject/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 26
5 | defaultConfig {
6 | applicationId "com.pieces.jing.ulitewebview"
7 | minSdkVersion 17
8 | targetSdkVersion 26
9 | versionCode 1
10 | versionName "1.0"
11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12 | }
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17 | }
18 | }
19 | productFlavors {
20 | }
21 | }
22 |
23 | dependencies {
24 | implementation fileTree(include: ['*.jar'], dir: 'libs')
25 | implementation 'com.android.support:appcompat-v7:26.1.0'
26 | implementation 'com.android.support.constraint:constraint-layout:1.0.2'
27 | testImplementation 'junit:junit:4.12'
28 | androidTestImplementation 'com.android.support.test:runner:1.0.1'
29 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
30 | implementation project(':ULiteWebView')
31 | }
32 |
--------------------------------------------------------------------------------
/AndroidProject/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/assets/ulitewebview_test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
12 | 抓美分
13 |
14 |
28 |
29 |
30 |
31 |
32 | msg
33 |
34 |
35 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/java/com/pieces/jing/ulitewebview/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.pieces.jing.ulitewebview;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 |
6 | import com.jing.unity.base.Unity;
7 | import com.jing.unity.ulitewebview.ULiteWebView;
8 |
9 | public class MainActivity extends AppCompatActivity {
10 |
11 | @Override
12 | protected void onCreate(Bundle savedInstanceState) {
13 | super.onCreate(savedInstanceState);
14 | setContentView(R.layout.activity_main);
15 |
16 | Unity.ins.activity = this;
17 | ULiteWebView uWebView = new ULiteWebView();
18 | uWebView.show(50,50,50,50);
19 | uWebView.loadUrl("http://www.baidu.com");
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/drawable-v24/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
13 |
19 |
22 |
25 |
26 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
10 |
15 |
20 |
25 |
30 |
35 |
40 |
45 |
50 |
55 |
60 |
65 |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
105 |
110 |
115 |
120 |
125 |
130 |
135 |
140 |
145 |
150 |
155 |
160 |
165 |
170 |
171 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ULiteWebView
3 |
4 |
--------------------------------------------------------------------------------
/AndroidProject/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/AndroidProject/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/AndroidProject/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 |
--------------------------------------------------------------------------------
/AndroidProject/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/AndroidProject/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/AndroidProject/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Mar 01 14:29:41 CST 2018
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-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/AndroidProject/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 |
--------------------------------------------------------------------------------
/AndroidProject/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 |
--------------------------------------------------------------------------------
/AndroidProject/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':ULiteWebView'
2 |
--------------------------------------------------------------------------------
/Assets/Demo.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56cdd1c46cb574d2d89978e20ea8e700
3 | folderAsset: yes
4 | timeCreated: 1520068438
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Demo/Demo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Jing.ULiteWebView;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | public class Demo : MonoBehaviour {
7 |
8 | [Header("距离屏幕上边缘距离")]
9 | public int top = 0;
10 | [Header("距离屏幕下边缘距离")]
11 | public int bottom = 0;
12 | [Header("距离屏幕左边缘距离")]
13 | public int left = 0;
14 | [Header("距离屏幕右边缘距离")]
15 | public int right = 0;
16 |
17 | [Space(50)]
18 |
19 | public InputField inputField;
20 | public Text msgContent;
21 |
22 | [Space(50)]
23 | public GameObject btnLoad;
24 | public GameObject btnClose;
25 | public GameObject btnLocalUrl;
26 | public GameObject btnCallJs;
27 |
28 | void Start () {
29 | btnLoad.SetActive(true);
30 | btnClose.SetActive(false);
31 | btnLocalUrl.SetActive(true);
32 | btnCallJs.SetActive(false);
33 |
34 | ULiteWebView.Ins.onLoadingUrl += OnLoadingUrl;
35 | }
36 |
37 | private void OnLoadingUrl(string url)
38 | {
39 | msgContent.text = url;
40 | }
41 |
42 | void ShowMsg(string info)
43 | {
44 | msgContent.text = info;
45 | }
46 |
47 |
48 |
49 | public void Load()
50 | {
51 | btnLoad.SetActive(false);
52 | btnClose.SetActive(true);
53 | btnLocalUrl.SetActive(false);
54 | btnCallJs.SetActive(false);
55 |
56 | ULiteWebView.Ins.Show(top, bottom, left, right);
57 | ULiteWebView.Ins.LoadUrl(inputField.text);
58 | }
59 |
60 | public void Close()
61 | {
62 | btnLoad.SetActive(true);
63 | btnClose.SetActive(false);
64 | btnLocalUrl.SetActive(true);
65 | btnCallJs.SetActive(false);
66 |
67 | ULiteWebView.Ins.Close();
68 | }
69 |
70 | public void LocalHtml(){
71 | btnLoad.SetActive(false);
72 | btnClose.SetActive(true);
73 | btnLocalUrl.SetActive(false);
74 | btnCallJs.SetActive(true);
75 |
76 | string localUrl = "/ulitewebview_test.html";
77 | ULiteWebView.Ins.RegistJsInterfaceAction("ShowMsg", ShowMsg);
78 | ULiteWebView.Ins.Show(top, bottom, left, right);
79 | ULiteWebView.Ins.LoadLocal(localUrl);
80 | }
81 |
82 | public void CallJS()
83 | {
84 | ULiteWebView.Ins.CallJS("callJS", "unity is here");
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/Assets/Demo/Demo.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 80d79277b27a2f840b81c029d6bea908
3 | timeCreated: 1519890571
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Demo/ULiteWebView.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: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_IndirectSpecularColor: {r: 0.3731193, g: 0.38073996, b: 0.3587269, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
47 | m_GIWorkflowMode: 0
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 1
55 | m_EnableRealtimeLightmaps: 1
56 | m_LightmapEditorSettings:
57 | serializedVersion: 10
58 | m_Resolution: 2
59 | m_BakeResolution: 40
60 | m_AtlasSize: 1024
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_Padding: 2
66 | m_LightmapParameters: {fileID: 0}
67 | m_LightmapsBakeMode: 1
68 | m_TextureCompression: 1
69 | m_FinalGather: 0
70 | m_FinalGatherFiltering: 1
71 | m_FinalGatherRayCount: 256
72 | m_ReflectionCompression: 2
73 | m_MixedBakeMode: 2
74 | m_BakeBackend: 0
75 | m_PVRSampling: 1
76 | m_PVRDirectSampleCount: 32
77 | m_PVRSampleCount: 500
78 | m_PVRBounces: 2
79 | m_PVRFilterTypeDirect: 0
80 | m_PVRFilterTypeIndirect: 0
81 | m_PVRFilterTypeAO: 0
82 | m_PVRFilteringMode: 1
83 | m_PVRCulling: 1
84 | m_PVRFilteringGaussRadiusDirect: 1
85 | m_PVRFilteringGaussRadiusIndirect: 5
86 | m_PVRFilteringGaussRadiusAO: 2
87 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
88 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
89 | m_PVRFilteringAtrousPositionSigmaAO: 1
90 | m_ShowResolutionOverlay: 1
91 | m_LightingDataAsset: {fileID: 0}
92 | m_UseShadowmask: 1
93 | --- !u!196 &4
94 | NavMeshSettings:
95 | serializedVersion: 2
96 | m_ObjectHideFlags: 0
97 | m_BuildSettings:
98 | serializedVersion: 2
99 | agentTypeID: 0
100 | agentRadius: 0.5
101 | agentHeight: 2
102 | agentSlope: 45
103 | agentClimb: 0.4
104 | ledgeDropHeight: 0
105 | maxJumpAcrossDistance: 0
106 | minRegionArea: 2
107 | manualCellSize: 0
108 | cellSize: 0.16666667
109 | manualTileSize: 0
110 | tileSize: 256
111 | accuratePlacement: 0
112 | debug:
113 | m_Flags: 0
114 | m_NavMeshData: {fileID: 0}
115 | --- !u!1 &421458610
116 | GameObject:
117 | m_ObjectHideFlags: 0
118 | m_CorrespondingSourceObject: {fileID: 0}
119 | m_PrefabInstance: {fileID: 0}
120 | m_PrefabAsset: {fileID: 0}
121 | serializedVersion: 6
122 | m_Component:
123 | - component: {fileID: 421458611}
124 | - component: {fileID: 421458613}
125 | - component: {fileID: 421458612}
126 | m_Layer: 5
127 | m_Name: Placeholder
128 | m_TagString: Untagged
129 | m_Icon: {fileID: 0}
130 | m_NavMeshLayer: 0
131 | m_StaticEditorFlags: 0
132 | m_IsActive: 1
133 | --- !u!224 &421458611
134 | RectTransform:
135 | m_ObjectHideFlags: 0
136 | m_CorrespondingSourceObject: {fileID: 0}
137 | m_PrefabInstance: {fileID: 0}
138 | m_PrefabAsset: {fileID: 0}
139 | m_GameObject: {fileID: 421458610}
140 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
141 | m_LocalPosition: {x: 0, y: 0, z: 0}
142 | m_LocalScale: {x: 1, y: 1, z: 1}
143 | m_Children: []
144 | m_Father: {fileID: 894971512}
145 | m_RootOrder: 0
146 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
147 | m_AnchorMin: {x: 0, y: 0}
148 | m_AnchorMax: {x: 1, y: 1}
149 | m_AnchoredPosition: {x: 0, y: -0.5}
150 | m_SizeDelta: {x: -20, y: -13}
151 | m_Pivot: {x: 0.5, y: 0.5}
152 | --- !u!114 &421458612
153 | MonoBehaviour:
154 | m_ObjectHideFlags: 0
155 | m_CorrespondingSourceObject: {fileID: 0}
156 | m_PrefabInstance: {fileID: 0}
157 | m_PrefabAsset: {fileID: 0}
158 | m_GameObject: {fileID: 421458610}
159 | m_Enabled: 0
160 | m_EditorHideFlags: 0
161 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
162 | m_Name:
163 | m_EditorClassIdentifier:
164 | m_Material: {fileID: 0}
165 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
166 | m_RaycastTarget: 1
167 | m_OnCullStateChanged:
168 | m_PersistentCalls:
169 | m_Calls: []
170 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
171 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
172 | m_FontData:
173 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
174 | m_FontSize: 14
175 | m_FontStyle: 2
176 | m_BestFit: 0
177 | m_MinSize: 10
178 | m_MaxSize: 40
179 | m_Alignment: 3
180 | m_AlignByGeometry: 0
181 | m_RichText: 1
182 | m_HorizontalOverflow: 0
183 | m_VerticalOverflow: 0
184 | m_LineSpacing: 1
185 | m_Text: 'Input Url
186 |
187 | '
188 | --- !u!222 &421458613
189 | CanvasRenderer:
190 | m_ObjectHideFlags: 0
191 | m_CorrespondingSourceObject: {fileID: 0}
192 | m_PrefabInstance: {fileID: 0}
193 | m_PrefabAsset: {fileID: 0}
194 | m_GameObject: {fileID: 421458610}
195 | m_CullTransparentMesh: 0
196 | --- !u!1 &456928237
197 | GameObject:
198 | m_ObjectHideFlags: 0
199 | m_CorrespondingSourceObject: {fileID: 0}
200 | m_PrefabInstance: {fileID: 0}
201 | m_PrefabAsset: {fileID: 0}
202 | serializedVersion: 6
203 | m_Component:
204 | - component: {fileID: 456928241}
205 | - component: {fileID: 456928240}
206 | - component: {fileID: 456928239}
207 | - component: {fileID: 456928238}
208 | m_Layer: 5
209 | m_Name: Canvas
210 | m_TagString: Untagged
211 | m_Icon: {fileID: 0}
212 | m_NavMeshLayer: 0
213 | m_StaticEditorFlags: 0
214 | m_IsActive: 1
215 | --- !u!114 &456928238
216 | MonoBehaviour:
217 | m_ObjectHideFlags: 0
218 | m_CorrespondingSourceObject: {fileID: 0}
219 | m_PrefabInstance: {fileID: 0}
220 | m_PrefabAsset: {fileID: 0}
221 | m_GameObject: {fileID: 456928237}
222 | m_Enabled: 1
223 | m_EditorHideFlags: 0
224 | m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
225 | m_Name:
226 | m_EditorClassIdentifier:
227 | m_IgnoreReversedGraphics: 1
228 | m_BlockingObjects: 0
229 | m_BlockingMask:
230 | serializedVersion: 2
231 | m_Bits: 4294967295
232 | --- !u!114 &456928239
233 | MonoBehaviour:
234 | m_ObjectHideFlags: 0
235 | m_CorrespondingSourceObject: {fileID: 0}
236 | m_PrefabInstance: {fileID: 0}
237 | m_PrefabAsset: {fileID: 0}
238 | m_GameObject: {fileID: 456928237}
239 | m_Enabled: 1
240 | m_EditorHideFlags: 0
241 | m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
242 | m_Name:
243 | m_EditorClassIdentifier:
244 | m_UiScaleMode: 0
245 | m_ReferencePixelsPerUnit: 100
246 | m_ScaleFactor: 1
247 | m_ReferenceResolution: {x: 1024, y: 768}
248 | m_ScreenMatchMode: 1
249 | m_MatchWidthOrHeight: 0
250 | m_PhysicalUnit: 3
251 | m_FallbackScreenDPI: 96
252 | m_DefaultSpriteDPI: 96
253 | m_DynamicPixelsPerUnit: 1
254 | --- !u!223 &456928240
255 | Canvas:
256 | m_ObjectHideFlags: 0
257 | m_CorrespondingSourceObject: {fileID: 0}
258 | m_PrefabInstance: {fileID: 0}
259 | m_PrefabAsset: {fileID: 0}
260 | m_GameObject: {fileID: 456928237}
261 | m_Enabled: 1
262 | serializedVersion: 3
263 | m_RenderMode: 1
264 | m_Camera: {fileID: 1963733586}
265 | m_PlaneDistance: 100
266 | m_PixelPerfect: 0
267 | m_ReceivesEvents: 1
268 | m_OverrideSorting: 0
269 | m_OverridePixelPerfect: 0
270 | m_SortingBucketNormalizedSize: 0
271 | m_AdditionalShaderChannelsFlag: 0
272 | m_SortingLayerID: 0
273 | m_SortingOrder: 0
274 | m_TargetDisplay: 0
275 | --- !u!224 &456928241
276 | RectTransform:
277 | m_ObjectHideFlags: 0
278 | m_CorrespondingSourceObject: {fileID: 0}
279 | m_PrefabInstance: {fileID: 0}
280 | m_PrefabAsset: {fileID: 0}
281 | m_GameObject: {fileID: 456928237}
282 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
283 | m_LocalPosition: {x: 0, y: 0, z: 0}
284 | m_LocalScale: {x: 0, y: 0, z: 0}
285 | m_Children:
286 | - {fileID: 1852291184}
287 | m_Father: {fileID: 0}
288 | m_RootOrder: 1
289 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
290 | m_AnchorMin: {x: 0, y: 0}
291 | m_AnchorMax: {x: 0, y: 0}
292 | m_AnchoredPosition: {x: 0, y: 0}
293 | m_SizeDelta: {x: 0, y: 0}
294 | m_Pivot: {x: 0, y: 0}
295 | --- !u!1 &474122211
296 | GameObject:
297 | m_ObjectHideFlags: 0
298 | m_CorrespondingSourceObject: {fileID: 0}
299 | m_PrefabInstance: {fileID: 0}
300 | m_PrefabAsset: {fileID: 0}
301 | serializedVersion: 6
302 | m_Component:
303 | - component: {fileID: 474122212}
304 | - component: {fileID: 474122213}
305 | m_Layer: 5
306 | m_Name: Menu
307 | m_TagString: Untagged
308 | m_Icon: {fileID: 0}
309 | m_NavMeshLayer: 0
310 | m_StaticEditorFlags: 0
311 | m_IsActive: 1
312 | --- !u!224 &474122212
313 | RectTransform:
314 | m_ObjectHideFlags: 0
315 | m_CorrespondingSourceObject: {fileID: 0}
316 | m_PrefabInstance: {fileID: 0}
317 | m_PrefabAsset: {fileID: 0}
318 | m_GameObject: {fileID: 474122211}
319 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
320 | m_LocalPosition: {x: 0, y: 0, z: 0}
321 | m_LocalScale: {x: 1, y: 1, z: 1}
322 | m_Children:
323 | - {fileID: 894971512}
324 | - {fileID: 1511227495}
325 | - {fileID: 1680241876}
326 | - {fileID: 1899610334}
327 | - {fileID: 1671605696}
328 | m_Father: {fileID: 1852291184}
329 | m_RootOrder: 0
330 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
331 | m_AnchorMin: {x: 0, y: 1}
332 | m_AnchorMax: {x: 1, y: 1}
333 | m_AnchoredPosition: {x: 0, y: 0}
334 | m_SizeDelta: {x: 0, y: 50}
335 | m_Pivot: {x: 0.5, y: 1}
336 | --- !u!114 &474122213
337 | MonoBehaviour:
338 | m_ObjectHideFlags: 0
339 | m_CorrespondingSourceObject: {fileID: 0}
340 | m_PrefabInstance: {fileID: 0}
341 | m_PrefabAsset: {fileID: 0}
342 | m_GameObject: {fileID: 474122211}
343 | m_Enabled: 1
344 | m_EditorHideFlags: 0
345 | m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3}
346 | m_Name:
347 | m_EditorClassIdentifier:
348 | m_Padding:
349 | m_Left: 0
350 | m_Right: 0
351 | m_Top: 0
352 | m_Bottom: 0
353 | m_ChildAlignment: 0
354 | m_Spacing: 0
355 | m_ChildForceExpandWidth: 1
356 | m_ChildForceExpandHeight: 1
357 | m_ChildControlWidth: 1
358 | m_ChildControlHeight: 1
359 | --- !u!1 &688450070
360 | GameObject:
361 | m_ObjectHideFlags: 0
362 | m_CorrespondingSourceObject: {fileID: 0}
363 | m_PrefabInstance: {fileID: 0}
364 | m_PrefabAsset: {fileID: 0}
365 | serializedVersion: 6
366 | m_Component:
367 | - component: {fileID: 688450071}
368 | - component: {fileID: 688450073}
369 | - component: {fileID: 688450072}
370 | - component: {fileID: 688450074}
371 | m_Layer: 5
372 | m_Name: TextMsg
373 | m_TagString: Untagged
374 | m_Icon: {fileID: 0}
375 | m_NavMeshLayer: 0
376 | m_StaticEditorFlags: 0
377 | m_IsActive: 1
378 | --- !u!224 &688450071
379 | RectTransform:
380 | m_ObjectHideFlags: 0
381 | m_CorrespondingSourceObject: {fileID: 0}
382 | m_PrefabInstance: {fileID: 0}
383 | m_PrefabAsset: {fileID: 0}
384 | m_GameObject: {fileID: 688450070}
385 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
386 | m_LocalPosition: {x: 0, y: 0, z: 0}
387 | m_LocalScale: {x: 1, y: 1, z: 1}
388 | m_Children: []
389 | m_Father: {fileID: 1852291184}
390 | m_RootOrder: 1
391 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
392 | m_AnchorMin: {x: 0, y: 1}
393 | m_AnchorMax: {x: 1, y: 1}
394 | m_AnchoredPosition: {x: 0, y: -50}
395 | m_SizeDelta: {x: 0, y: 30}
396 | m_Pivot: {x: 0.5, y: 1}
397 | --- !u!114 &688450072
398 | MonoBehaviour:
399 | m_ObjectHideFlags: 0
400 | m_CorrespondingSourceObject: {fileID: 0}
401 | m_PrefabInstance: {fileID: 0}
402 | m_PrefabAsset: {fileID: 0}
403 | m_GameObject: {fileID: 688450070}
404 | m_Enabled: 1
405 | m_EditorHideFlags: 0
406 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
407 | m_Name:
408 | m_EditorClassIdentifier:
409 | m_Material: {fileID: 0}
410 | m_Color: {r: 1, g: 1, b: 1, a: 1}
411 | m_RaycastTarget: 1
412 | m_OnCullStateChanged:
413 | m_PersistentCalls:
414 | m_Calls: []
415 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
416 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
417 | m_FontData:
418 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
419 | m_FontSize: 14
420 | m_FontStyle: 0
421 | m_BestFit: 0
422 | m_MinSize: 10
423 | m_MaxSize: 40
424 | m_Alignment: 4
425 | m_AlignByGeometry: 0
426 | m_RichText: 1
427 | m_HorizontalOverflow: 0
428 | m_VerticalOverflow: 0
429 | m_LineSpacing: 1
430 | m_Text: Message From Javascript Will Show Here
431 | --- !u!222 &688450073
432 | CanvasRenderer:
433 | m_ObjectHideFlags: 0
434 | m_CorrespondingSourceObject: {fileID: 0}
435 | m_PrefabInstance: {fileID: 0}
436 | m_PrefabAsset: {fileID: 0}
437 | m_GameObject: {fileID: 688450070}
438 | m_CullTransparentMesh: 0
439 | --- !u!114 &688450074
440 | MonoBehaviour:
441 | m_ObjectHideFlags: 0
442 | m_CorrespondingSourceObject: {fileID: 0}
443 | m_PrefabInstance: {fileID: 0}
444 | m_PrefabAsset: {fileID: 0}
445 | m_GameObject: {fileID: 688450070}
446 | m_Enabled: 1
447 | m_EditorHideFlags: 0
448 | m_Script: {fileID: -900027084, guid: f70555f144d8491a825f0804e09c671c, type: 3}
449 | m_Name:
450 | m_EditorClassIdentifier:
451 | m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
452 | m_EffectDistance: {x: 1, y: -1}
453 | m_UseGraphicAlpha: 1
454 | --- !u!1 &873084244
455 | GameObject:
456 | m_ObjectHideFlags: 0
457 | m_CorrespondingSourceObject: {fileID: 0}
458 | m_PrefabInstance: {fileID: 0}
459 | m_PrefabAsset: {fileID: 0}
460 | serializedVersion: 6
461 | m_Component:
462 | - component: {fileID: 873084245}
463 | - component: {fileID: 873084247}
464 | - component: {fileID: 873084246}
465 | m_Layer: 5
466 | m_Name: Text
467 | m_TagString: Untagged
468 | m_Icon: {fileID: 0}
469 | m_NavMeshLayer: 0
470 | m_StaticEditorFlags: 0
471 | m_IsActive: 1
472 | --- !u!224 &873084245
473 | RectTransform:
474 | m_ObjectHideFlags: 0
475 | m_CorrespondingSourceObject: {fileID: 0}
476 | m_PrefabInstance: {fileID: 0}
477 | m_PrefabAsset: {fileID: 0}
478 | m_GameObject: {fileID: 873084244}
479 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
480 | m_LocalPosition: {x: 0, y: 0, z: 0}
481 | m_LocalScale: {x: 1, y: 1, z: 1}
482 | m_Children: []
483 | m_Father: {fileID: 1899610334}
484 | m_RootOrder: 0
485 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
486 | m_AnchorMin: {x: 0, y: 0}
487 | m_AnchorMax: {x: 1, y: 1}
488 | m_AnchoredPosition: {x: 0, y: 0}
489 | m_SizeDelta: {x: 0, y: 0}
490 | m_Pivot: {x: 0.5, y: 0.5}
491 | --- !u!114 &873084246
492 | MonoBehaviour:
493 | m_ObjectHideFlags: 0
494 | m_CorrespondingSourceObject: {fileID: 0}
495 | m_PrefabInstance: {fileID: 0}
496 | m_PrefabAsset: {fileID: 0}
497 | m_GameObject: {fileID: 873084244}
498 | m_Enabled: 1
499 | m_EditorHideFlags: 0
500 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
501 | m_Name:
502 | m_EditorClassIdentifier:
503 | m_Material: {fileID: 0}
504 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
505 | m_RaycastTarget: 1
506 | m_OnCullStateChanged:
507 | m_PersistentCalls:
508 | m_Calls: []
509 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
510 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
511 | m_FontData:
512 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
513 | m_FontSize: 20
514 | m_FontStyle: 0
515 | m_BestFit: 0
516 | m_MinSize: 2
517 | m_MaxSize: 40
518 | m_Alignment: 4
519 | m_AlignByGeometry: 0
520 | m_RichText: 1
521 | m_HorizontalOverflow: 0
522 | m_VerticalOverflow: 0
523 | m_LineSpacing: 1
524 | m_Text: LocalHtml
525 | --- !u!222 &873084247
526 | CanvasRenderer:
527 | m_ObjectHideFlags: 0
528 | m_CorrespondingSourceObject: {fileID: 0}
529 | m_PrefabInstance: {fileID: 0}
530 | m_PrefabAsset: {fileID: 0}
531 | m_GameObject: {fileID: 873084244}
532 | m_CullTransparentMesh: 0
533 | --- !u!1 &894971511
534 | GameObject:
535 | m_ObjectHideFlags: 0
536 | m_CorrespondingSourceObject: {fileID: 0}
537 | m_PrefabInstance: {fileID: 0}
538 | m_PrefabAsset: {fileID: 0}
539 | serializedVersion: 6
540 | m_Component:
541 | - component: {fileID: 894971512}
542 | - component: {fileID: 894971515}
543 | - component: {fileID: 894971514}
544 | - component: {fileID: 894971513}
545 | - component: {fileID: 894971516}
546 | m_Layer: 5
547 | m_Name: InputField
548 | m_TagString: Untagged
549 | m_Icon: {fileID: 0}
550 | m_NavMeshLayer: 0
551 | m_StaticEditorFlags: 0
552 | m_IsActive: 1
553 | --- !u!224 &894971512
554 | RectTransform:
555 | m_ObjectHideFlags: 0
556 | m_CorrespondingSourceObject: {fileID: 0}
557 | m_PrefabInstance: {fileID: 0}
558 | m_PrefabAsset: {fileID: 0}
559 | m_GameObject: {fileID: 894971511}
560 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
561 | m_LocalPosition: {x: 0, y: 0, z: 0}
562 | m_LocalScale: {x: 1, y: 1, z: 1}
563 | m_Children:
564 | - {fileID: 421458611}
565 | - {fileID: 1006579149}
566 | m_Father: {fileID: 474122212}
567 | m_RootOrder: 0
568 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
569 | m_AnchorMin: {x: 0, y: 0}
570 | m_AnchorMax: {x: 0, y: 0}
571 | m_AnchoredPosition: {x: 0, y: 0}
572 | m_SizeDelta: {x: 0, y: 0}
573 | m_Pivot: {x: 0.5, y: 0.5}
574 | --- !u!114 &894971513
575 | MonoBehaviour:
576 | m_ObjectHideFlags: 0
577 | m_CorrespondingSourceObject: {fileID: 0}
578 | m_PrefabInstance: {fileID: 0}
579 | m_PrefabAsset: {fileID: 0}
580 | m_GameObject: {fileID: 894971511}
581 | m_Enabled: 1
582 | m_EditorHideFlags: 0
583 | m_Script: {fileID: 575553740, guid: f70555f144d8491a825f0804e09c671c, type: 3}
584 | m_Name:
585 | m_EditorClassIdentifier:
586 | m_Navigation:
587 | m_Mode: 3
588 | m_SelectOnUp: {fileID: 0}
589 | m_SelectOnDown: {fileID: 0}
590 | m_SelectOnLeft: {fileID: 0}
591 | m_SelectOnRight: {fileID: 0}
592 | m_Transition: 1
593 | m_Colors:
594 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
595 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
596 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
597 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
598 | m_ColorMultiplier: 1
599 | m_FadeDuration: 0.1
600 | m_SpriteState:
601 | m_HighlightedSprite: {fileID: 0}
602 | m_PressedSprite: {fileID: 0}
603 | m_DisabledSprite: {fileID: 0}
604 | m_AnimationTriggers:
605 | m_NormalTrigger: Normal
606 | m_HighlightedTrigger: Highlighted
607 | m_PressedTrigger: Pressed
608 | m_DisabledTrigger: Disabled
609 | m_Interactable: 1
610 | m_TargetGraphic: {fileID: 894971514}
611 | m_TextComponent: {fileID: 1006579150}
612 | m_Placeholder: {fileID: 421458612}
613 | m_ContentType: 0
614 | m_InputType: 0
615 | m_AsteriskChar: 42
616 | m_KeyboardType: 0
617 | m_LineType: 0
618 | m_HideMobileInput: 0
619 | m_CharacterValidation: 0
620 | m_CharacterLimit: 0
621 | m_OnEndEdit:
622 | m_PersistentCalls:
623 | m_Calls: []
624 | m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0,
625 | Culture=neutral, PublicKeyToken=null
626 | m_OnValueChanged:
627 | m_PersistentCalls:
628 | m_Calls: []
629 | m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0,
630 | Culture=neutral, PublicKeyToken=null
631 | m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
632 | m_CustomCaretColor: 0
633 | m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
634 | m_Text: http://www.baidu.com
635 | m_CaretBlinkRate: 0.85
636 | m_CaretWidth: 1
637 | m_ReadOnly: 0
638 | --- !u!114 &894971514
639 | MonoBehaviour:
640 | m_ObjectHideFlags: 0
641 | m_CorrespondingSourceObject: {fileID: 0}
642 | m_PrefabInstance: {fileID: 0}
643 | m_PrefabAsset: {fileID: 0}
644 | m_GameObject: {fileID: 894971511}
645 | m_Enabled: 1
646 | m_EditorHideFlags: 0
647 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
648 | m_Name:
649 | m_EditorClassIdentifier:
650 | m_Material: {fileID: 0}
651 | m_Color: {r: 1, g: 1, b: 1, a: 1}
652 | m_RaycastTarget: 1
653 | m_OnCullStateChanged:
654 | m_PersistentCalls:
655 | m_Calls: []
656 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
657 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
658 | m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
659 | m_Type: 1
660 | m_PreserveAspect: 0
661 | m_FillCenter: 1
662 | m_FillMethod: 4
663 | m_FillAmount: 1
664 | m_FillClockwise: 1
665 | m_FillOrigin: 0
666 | m_UseSpriteMesh: 0
667 | --- !u!222 &894971515
668 | CanvasRenderer:
669 | m_ObjectHideFlags: 0
670 | m_CorrespondingSourceObject: {fileID: 0}
671 | m_PrefabInstance: {fileID: 0}
672 | m_PrefabAsset: {fileID: 0}
673 | m_GameObject: {fileID: 894971511}
674 | m_CullTransparentMesh: 0
675 | --- !u!114 &894971516
676 | MonoBehaviour:
677 | m_ObjectHideFlags: 0
678 | m_CorrespondingSourceObject: {fileID: 0}
679 | m_PrefabInstance: {fileID: 0}
680 | m_PrefabAsset: {fileID: 0}
681 | m_GameObject: {fileID: 894971511}
682 | m_Enabled: 1
683 | m_EditorHideFlags: 0
684 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
685 | m_Name:
686 | m_EditorClassIdentifier:
687 | m_IgnoreLayout: 0
688 | m_MinWidth: 400
689 | m_MinHeight: -1
690 | m_PreferredWidth: 500
691 | m_PreferredHeight: -1
692 | m_FlexibleWidth: -1
693 | m_FlexibleHeight: -1
694 | m_LayoutPriority: 1
695 | --- !u!1 &998004921
696 | GameObject:
697 | m_ObjectHideFlags: 0
698 | m_CorrespondingSourceObject: {fileID: 0}
699 | m_PrefabInstance: {fileID: 0}
700 | m_PrefabAsset: {fileID: 0}
701 | serializedVersion: 6
702 | m_Component:
703 | - component: {fileID: 998004922}
704 | - component: {fileID: 998004924}
705 | - component: {fileID: 998004923}
706 | - component: {fileID: 998004925}
707 | m_Layer: 5
708 | m_Name: Text
709 | m_TagString: Untagged
710 | m_Icon: {fileID: 0}
711 | m_NavMeshLayer: 0
712 | m_StaticEditorFlags: 0
713 | m_IsActive: 1
714 | --- !u!224 &998004922
715 | RectTransform:
716 | m_ObjectHideFlags: 0
717 | m_CorrespondingSourceObject: {fileID: 0}
718 | m_PrefabInstance: {fileID: 0}
719 | m_PrefabAsset: {fileID: 0}
720 | m_GameObject: {fileID: 998004921}
721 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
722 | m_LocalPosition: {x: 0, y: 0, z: 0}
723 | m_LocalScale: {x: 1, y: 1, z: 1}
724 | m_Children: []
725 | m_Father: {fileID: 1671605696}
726 | m_RootOrder: 0
727 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
728 | m_AnchorMin: {x: 0, y: 0}
729 | m_AnchorMax: {x: 1, y: 1}
730 | m_AnchoredPosition: {x: 0, y: 0}
731 | m_SizeDelta: {x: 0, y: 0}
732 | m_Pivot: {x: 0.5, y: 0.5}
733 | --- !u!114 &998004923
734 | MonoBehaviour:
735 | m_ObjectHideFlags: 0
736 | m_CorrespondingSourceObject: {fileID: 0}
737 | m_PrefabInstance: {fileID: 0}
738 | m_PrefabAsset: {fileID: 0}
739 | m_GameObject: {fileID: 998004921}
740 | m_Enabled: 1
741 | m_EditorHideFlags: 0
742 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
743 | m_Name:
744 | m_EditorClassIdentifier:
745 | m_Material: {fileID: 0}
746 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
747 | m_RaycastTarget: 1
748 | m_OnCullStateChanged:
749 | m_PersistentCalls:
750 | m_Calls: []
751 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
752 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
753 | m_FontData:
754 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
755 | m_FontSize: 20
756 | m_FontStyle: 0
757 | m_BestFit: 0
758 | m_MinSize: 2
759 | m_MaxSize: 40
760 | m_Alignment: 4
761 | m_AlignByGeometry: 0
762 | m_RichText: 1
763 | m_HorizontalOverflow: 0
764 | m_VerticalOverflow: 0
765 | m_LineSpacing: 1
766 | m_Text: CallJS
767 | --- !u!222 &998004924
768 | CanvasRenderer:
769 | m_ObjectHideFlags: 0
770 | m_CorrespondingSourceObject: {fileID: 0}
771 | m_PrefabInstance: {fileID: 0}
772 | m_PrefabAsset: {fileID: 0}
773 | m_GameObject: {fileID: 998004921}
774 | m_CullTransparentMesh: 0
775 | --- !u!114 &998004925
776 | MonoBehaviour:
777 | m_ObjectHideFlags: 0
778 | m_CorrespondingSourceObject: {fileID: 0}
779 | m_PrefabInstance: {fileID: 0}
780 | m_PrefabAsset: {fileID: 0}
781 | m_GameObject: {fileID: 998004921}
782 | m_Enabled: 1
783 | m_EditorHideFlags: 0
784 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
785 | m_Name:
786 | m_EditorClassIdentifier:
787 | m_IgnoreLayout: 0
788 | m_MinWidth: -1
789 | m_MinHeight: -1
790 | m_PreferredWidth: 200
791 | m_PreferredHeight: -1
792 | m_FlexibleWidth: -1
793 | m_FlexibleHeight: -1
794 | m_LayoutPriority: 1
795 | --- !u!1 &1006579148
796 | GameObject:
797 | m_ObjectHideFlags: 0
798 | m_CorrespondingSourceObject: {fileID: 0}
799 | m_PrefabInstance: {fileID: 0}
800 | m_PrefabAsset: {fileID: 0}
801 | serializedVersion: 6
802 | m_Component:
803 | - component: {fileID: 1006579149}
804 | - component: {fileID: 1006579151}
805 | - component: {fileID: 1006579150}
806 | m_Layer: 5
807 | m_Name: Text
808 | m_TagString: Untagged
809 | m_Icon: {fileID: 0}
810 | m_NavMeshLayer: 0
811 | m_StaticEditorFlags: 0
812 | m_IsActive: 1
813 | --- !u!224 &1006579149
814 | RectTransform:
815 | m_ObjectHideFlags: 0
816 | m_CorrespondingSourceObject: {fileID: 0}
817 | m_PrefabInstance: {fileID: 0}
818 | m_PrefabAsset: {fileID: 0}
819 | m_GameObject: {fileID: 1006579148}
820 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
821 | m_LocalPosition: {x: 0, y: 0, z: 0}
822 | m_LocalScale: {x: 1, y: 1, z: 1}
823 | m_Children: []
824 | m_Father: {fileID: 894971512}
825 | m_RootOrder: 1
826 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
827 | m_AnchorMin: {x: 0, y: 0}
828 | m_AnchorMax: {x: 1, y: 1}
829 | m_AnchoredPosition: {x: 0, y: -0.5}
830 | m_SizeDelta: {x: -20, y: -13}
831 | m_Pivot: {x: 0.5, y: 0.5}
832 | --- !u!114 &1006579150
833 | MonoBehaviour:
834 | m_ObjectHideFlags: 0
835 | m_CorrespondingSourceObject: {fileID: 0}
836 | m_PrefabInstance: {fileID: 0}
837 | m_PrefabAsset: {fileID: 0}
838 | m_GameObject: {fileID: 1006579148}
839 | m_Enabled: 1
840 | m_EditorHideFlags: 0
841 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
842 | m_Name:
843 | m_EditorClassIdentifier:
844 | m_Material: {fileID: 0}
845 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
846 | m_RaycastTarget: 1
847 | m_OnCullStateChanged:
848 | m_PersistentCalls:
849 | m_Calls: []
850 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
851 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
852 | m_FontData:
853 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
854 | m_FontSize: 20
855 | m_FontStyle: 0
856 | m_BestFit: 0
857 | m_MinSize: 2
858 | m_MaxSize: 40
859 | m_Alignment: 3
860 | m_AlignByGeometry: 0
861 | m_RichText: 0
862 | m_HorizontalOverflow: 1
863 | m_VerticalOverflow: 0
864 | m_LineSpacing: 1
865 | m_Text: http://www.baidu.com
866 | --- !u!222 &1006579151
867 | CanvasRenderer:
868 | m_ObjectHideFlags: 0
869 | m_CorrespondingSourceObject: {fileID: 0}
870 | m_PrefabInstance: {fileID: 0}
871 | m_PrefabAsset: {fileID: 0}
872 | m_GameObject: {fileID: 1006579148}
873 | m_CullTransparentMesh: 0
874 | --- !u!1 &1041267669
875 | GameObject:
876 | m_ObjectHideFlags: 0
877 | m_CorrespondingSourceObject: {fileID: 0}
878 | m_PrefabInstance: {fileID: 0}
879 | m_PrefabAsset: {fileID: 0}
880 | serializedVersion: 6
881 | m_Component:
882 | - component: {fileID: 1041267670}
883 | - component: {fileID: 1041267672}
884 | - component: {fileID: 1041267671}
885 | m_Layer: 5
886 | m_Name: Text
887 | m_TagString: Untagged
888 | m_Icon: {fileID: 0}
889 | m_NavMeshLayer: 0
890 | m_StaticEditorFlags: 0
891 | m_IsActive: 1
892 | --- !u!224 &1041267670
893 | RectTransform:
894 | m_ObjectHideFlags: 0
895 | m_CorrespondingSourceObject: {fileID: 0}
896 | m_PrefabInstance: {fileID: 0}
897 | m_PrefabAsset: {fileID: 0}
898 | m_GameObject: {fileID: 1041267669}
899 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
900 | m_LocalPosition: {x: 0, y: 0, z: 0}
901 | m_LocalScale: {x: 1, y: 1, z: 1}
902 | m_Children: []
903 | m_Father: {fileID: 1511227495}
904 | m_RootOrder: 0
905 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
906 | m_AnchorMin: {x: 0, y: 0}
907 | m_AnchorMax: {x: 1, y: 1}
908 | m_AnchoredPosition: {x: 0, y: 0}
909 | m_SizeDelta: {x: 0, y: 0}
910 | m_Pivot: {x: 0.5, y: 0.5}
911 | --- !u!114 &1041267671
912 | MonoBehaviour:
913 | m_ObjectHideFlags: 0
914 | m_CorrespondingSourceObject: {fileID: 0}
915 | m_PrefabInstance: {fileID: 0}
916 | m_PrefabAsset: {fileID: 0}
917 | m_GameObject: {fileID: 1041267669}
918 | m_Enabled: 1
919 | m_EditorHideFlags: 0
920 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
921 | m_Name:
922 | m_EditorClassIdentifier:
923 | m_Material: {fileID: 0}
924 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
925 | m_RaycastTarget: 1
926 | m_OnCullStateChanged:
927 | m_PersistentCalls:
928 | m_Calls: []
929 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
930 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
931 | m_FontData:
932 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
933 | m_FontSize: 20
934 | m_FontStyle: 0
935 | m_BestFit: 0
936 | m_MinSize: 2
937 | m_MaxSize: 40
938 | m_Alignment: 4
939 | m_AlignByGeometry: 0
940 | m_RichText: 1
941 | m_HorizontalOverflow: 0
942 | m_VerticalOverflow: 0
943 | m_LineSpacing: 1
944 | m_Text: Load
945 | --- !u!222 &1041267672
946 | CanvasRenderer:
947 | m_ObjectHideFlags: 0
948 | m_CorrespondingSourceObject: {fileID: 0}
949 | m_PrefabInstance: {fileID: 0}
950 | m_PrefabAsset: {fileID: 0}
951 | m_GameObject: {fileID: 1041267669}
952 | m_CullTransparentMesh: 0
953 | --- !u!1 &1511227494
954 | GameObject:
955 | m_ObjectHideFlags: 0
956 | m_CorrespondingSourceObject: {fileID: 0}
957 | m_PrefabInstance: {fileID: 0}
958 | m_PrefabAsset: {fileID: 0}
959 | serializedVersion: 6
960 | m_Component:
961 | - component: {fileID: 1511227495}
962 | - component: {fileID: 1511227498}
963 | - component: {fileID: 1511227497}
964 | - component: {fileID: 1511227496}
965 | - component: {fileID: 1511227499}
966 | m_Layer: 5
967 | m_Name: BtnLoad
968 | m_TagString: Untagged
969 | m_Icon: {fileID: 0}
970 | m_NavMeshLayer: 0
971 | m_StaticEditorFlags: 0
972 | m_IsActive: 1
973 | --- !u!224 &1511227495
974 | RectTransform:
975 | m_ObjectHideFlags: 0
976 | m_CorrespondingSourceObject: {fileID: 0}
977 | m_PrefabInstance: {fileID: 0}
978 | m_PrefabAsset: {fileID: 0}
979 | m_GameObject: {fileID: 1511227494}
980 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
981 | m_LocalPosition: {x: 0, y: 0, z: 0}
982 | m_LocalScale: {x: 1, y: 1, z: 1}
983 | m_Children:
984 | - {fileID: 1041267670}
985 | m_Father: {fileID: 474122212}
986 | m_RootOrder: 1
987 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
988 | m_AnchorMin: {x: 0, y: 0}
989 | m_AnchorMax: {x: 0, y: 0}
990 | m_AnchoredPosition: {x: 0, y: 0}
991 | m_SizeDelta: {x: 0, y: 0}
992 | m_Pivot: {x: 0.5, y: 0.5}
993 | --- !u!114 &1511227496
994 | MonoBehaviour:
995 | m_ObjectHideFlags: 0
996 | m_CorrespondingSourceObject: {fileID: 0}
997 | m_PrefabInstance: {fileID: 0}
998 | m_PrefabAsset: {fileID: 0}
999 | m_GameObject: {fileID: 1511227494}
1000 | m_Enabled: 1
1001 | m_EditorHideFlags: 0
1002 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1003 | m_Name:
1004 | m_EditorClassIdentifier:
1005 | m_Navigation:
1006 | m_Mode: 3
1007 | m_SelectOnUp: {fileID: 0}
1008 | m_SelectOnDown: {fileID: 0}
1009 | m_SelectOnLeft: {fileID: 0}
1010 | m_SelectOnRight: {fileID: 0}
1011 | m_Transition: 1
1012 | m_Colors:
1013 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1014 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1015 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1016 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1017 | m_ColorMultiplier: 1
1018 | m_FadeDuration: 0.1
1019 | m_SpriteState:
1020 | m_HighlightedSprite: {fileID: 0}
1021 | m_PressedSprite: {fileID: 0}
1022 | m_DisabledSprite: {fileID: 0}
1023 | m_AnimationTriggers:
1024 | m_NormalTrigger: Normal
1025 | m_HighlightedTrigger: Highlighted
1026 | m_PressedTrigger: Pressed
1027 | m_DisabledTrigger: Disabled
1028 | m_Interactable: 1
1029 | m_TargetGraphic: {fileID: 1511227497}
1030 | m_OnClick:
1031 | m_PersistentCalls:
1032 | m_Calls:
1033 | - m_Target: {fileID: 1852291185}
1034 | m_MethodName: Load
1035 | m_Mode: 1
1036 | m_Arguments:
1037 | m_ObjectArgument: {fileID: 0}
1038 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1039 | m_IntArgument: 0
1040 | m_FloatArgument: 0
1041 | m_StringArgument:
1042 | m_BoolArgument: 0
1043 | m_CallState: 2
1044 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
1045 | Culture=neutral, PublicKeyToken=null
1046 | --- !u!114 &1511227497
1047 | MonoBehaviour:
1048 | m_ObjectHideFlags: 0
1049 | m_CorrespondingSourceObject: {fileID: 0}
1050 | m_PrefabInstance: {fileID: 0}
1051 | m_PrefabAsset: {fileID: 0}
1052 | m_GameObject: {fileID: 1511227494}
1053 | m_Enabled: 1
1054 | m_EditorHideFlags: 0
1055 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1056 | m_Name:
1057 | m_EditorClassIdentifier:
1058 | m_Material: {fileID: 0}
1059 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1060 | m_RaycastTarget: 1
1061 | m_OnCullStateChanged:
1062 | m_PersistentCalls:
1063 | m_Calls: []
1064 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1065 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1066 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1067 | m_Type: 1
1068 | m_PreserveAspect: 0
1069 | m_FillCenter: 1
1070 | m_FillMethod: 4
1071 | m_FillAmount: 1
1072 | m_FillClockwise: 1
1073 | m_FillOrigin: 0
1074 | m_UseSpriteMesh: 0
1075 | --- !u!222 &1511227498
1076 | CanvasRenderer:
1077 | m_ObjectHideFlags: 0
1078 | m_CorrespondingSourceObject: {fileID: 0}
1079 | m_PrefabInstance: {fileID: 0}
1080 | m_PrefabAsset: {fileID: 0}
1081 | m_GameObject: {fileID: 1511227494}
1082 | m_CullTransparentMesh: 0
1083 | --- !u!114 &1511227499
1084 | MonoBehaviour:
1085 | m_ObjectHideFlags: 0
1086 | m_CorrespondingSourceObject: {fileID: 0}
1087 | m_PrefabInstance: {fileID: 0}
1088 | m_PrefabAsset: {fileID: 0}
1089 | m_GameObject: {fileID: 1511227494}
1090 | m_Enabled: 1
1091 | m_EditorHideFlags: 0
1092 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1093 | m_Name:
1094 | m_EditorClassIdentifier:
1095 | m_IgnoreLayout: 0
1096 | m_MinWidth: 50
1097 | m_MinHeight: -1
1098 | m_PreferredWidth: 200
1099 | m_PreferredHeight: -1
1100 | m_FlexibleWidth: -1
1101 | m_FlexibleHeight: -1
1102 | m_LayoutPriority: 1
1103 | --- !u!1 &1671605695
1104 | GameObject:
1105 | m_ObjectHideFlags: 0
1106 | m_CorrespondingSourceObject: {fileID: 0}
1107 | m_PrefabInstance: {fileID: 0}
1108 | m_PrefabAsset: {fileID: 0}
1109 | serializedVersion: 6
1110 | m_Component:
1111 | - component: {fileID: 1671605696}
1112 | - component: {fileID: 1671605699}
1113 | - component: {fileID: 1671605698}
1114 | - component: {fileID: 1671605697}
1115 | - component: {fileID: 1671605700}
1116 | m_Layer: 5
1117 | m_Name: BtnCallJs
1118 | m_TagString: Untagged
1119 | m_Icon: {fileID: 0}
1120 | m_NavMeshLayer: 0
1121 | m_StaticEditorFlags: 0
1122 | m_IsActive: 1
1123 | --- !u!224 &1671605696
1124 | RectTransform:
1125 | m_ObjectHideFlags: 0
1126 | m_CorrespondingSourceObject: {fileID: 0}
1127 | m_PrefabInstance: {fileID: 0}
1128 | m_PrefabAsset: {fileID: 0}
1129 | m_GameObject: {fileID: 1671605695}
1130 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1131 | m_LocalPosition: {x: 0, y: 0, z: 0}
1132 | m_LocalScale: {x: 1, y: 1, z: 1}
1133 | m_Children:
1134 | - {fileID: 998004922}
1135 | m_Father: {fileID: 474122212}
1136 | m_RootOrder: 4
1137 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1138 | m_AnchorMin: {x: 0, y: 0}
1139 | m_AnchorMax: {x: 0, y: 0}
1140 | m_AnchoredPosition: {x: 0, y: 0}
1141 | m_SizeDelta: {x: 0, y: 0}
1142 | m_Pivot: {x: 0.5, y: 0.5}
1143 | --- !u!114 &1671605697
1144 | MonoBehaviour:
1145 | m_ObjectHideFlags: 0
1146 | m_CorrespondingSourceObject: {fileID: 0}
1147 | m_PrefabInstance: {fileID: 0}
1148 | m_PrefabAsset: {fileID: 0}
1149 | m_GameObject: {fileID: 1671605695}
1150 | m_Enabled: 1
1151 | m_EditorHideFlags: 0
1152 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1153 | m_Name:
1154 | m_EditorClassIdentifier:
1155 | m_Navigation:
1156 | m_Mode: 3
1157 | m_SelectOnUp: {fileID: 0}
1158 | m_SelectOnDown: {fileID: 0}
1159 | m_SelectOnLeft: {fileID: 0}
1160 | m_SelectOnRight: {fileID: 0}
1161 | m_Transition: 1
1162 | m_Colors:
1163 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1164 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1165 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1166 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1167 | m_ColorMultiplier: 1
1168 | m_FadeDuration: 0.1
1169 | m_SpriteState:
1170 | m_HighlightedSprite: {fileID: 0}
1171 | m_PressedSprite: {fileID: 0}
1172 | m_DisabledSprite: {fileID: 0}
1173 | m_AnimationTriggers:
1174 | m_NormalTrigger: Normal
1175 | m_HighlightedTrigger: Highlighted
1176 | m_PressedTrigger: Pressed
1177 | m_DisabledTrigger: Disabled
1178 | m_Interactable: 1
1179 | m_TargetGraphic: {fileID: 1671605698}
1180 | m_OnClick:
1181 | m_PersistentCalls:
1182 | m_Calls:
1183 | - m_Target: {fileID: 1852291185}
1184 | m_MethodName: CallJS
1185 | m_Mode: 1
1186 | m_Arguments:
1187 | m_ObjectArgument: {fileID: 0}
1188 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1189 | m_IntArgument: 0
1190 | m_FloatArgument: 0
1191 | m_StringArgument:
1192 | m_BoolArgument: 0
1193 | m_CallState: 2
1194 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
1195 | Culture=neutral, PublicKeyToken=null
1196 | --- !u!114 &1671605698
1197 | MonoBehaviour:
1198 | m_ObjectHideFlags: 0
1199 | m_CorrespondingSourceObject: {fileID: 0}
1200 | m_PrefabInstance: {fileID: 0}
1201 | m_PrefabAsset: {fileID: 0}
1202 | m_GameObject: {fileID: 1671605695}
1203 | m_Enabled: 1
1204 | m_EditorHideFlags: 0
1205 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1206 | m_Name:
1207 | m_EditorClassIdentifier:
1208 | m_Material: {fileID: 0}
1209 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1210 | m_RaycastTarget: 1
1211 | m_OnCullStateChanged:
1212 | m_PersistentCalls:
1213 | m_Calls: []
1214 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1215 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1216 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1217 | m_Type: 1
1218 | m_PreserveAspect: 0
1219 | m_FillCenter: 1
1220 | m_FillMethod: 4
1221 | m_FillAmount: 1
1222 | m_FillClockwise: 1
1223 | m_FillOrigin: 0
1224 | m_UseSpriteMesh: 0
1225 | --- !u!222 &1671605699
1226 | CanvasRenderer:
1227 | m_ObjectHideFlags: 0
1228 | m_CorrespondingSourceObject: {fileID: 0}
1229 | m_PrefabInstance: {fileID: 0}
1230 | m_PrefabAsset: {fileID: 0}
1231 | m_GameObject: {fileID: 1671605695}
1232 | m_CullTransparentMesh: 0
1233 | --- !u!114 &1671605700
1234 | MonoBehaviour:
1235 | m_ObjectHideFlags: 0
1236 | m_CorrespondingSourceObject: {fileID: 0}
1237 | m_PrefabInstance: {fileID: 0}
1238 | m_PrefabAsset: {fileID: 0}
1239 | m_GameObject: {fileID: 1671605695}
1240 | m_Enabled: 1
1241 | m_EditorHideFlags: 0
1242 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1243 | m_Name:
1244 | m_EditorClassIdentifier:
1245 | m_IgnoreLayout: 0
1246 | m_MinWidth: 50
1247 | m_MinHeight: -1
1248 | m_PreferredWidth: 200
1249 | m_PreferredHeight: -1
1250 | m_FlexibleWidth: -1
1251 | m_FlexibleHeight: -1
1252 | m_LayoutPriority: 1
1253 | --- !u!1 &1680241875
1254 | GameObject:
1255 | m_ObjectHideFlags: 0
1256 | m_CorrespondingSourceObject: {fileID: 0}
1257 | m_PrefabInstance: {fileID: 0}
1258 | m_PrefabAsset: {fileID: 0}
1259 | serializedVersion: 6
1260 | m_Component:
1261 | - component: {fileID: 1680241876}
1262 | - component: {fileID: 1680241879}
1263 | - component: {fileID: 1680241878}
1264 | - component: {fileID: 1680241877}
1265 | - component: {fileID: 1680241880}
1266 | m_Layer: 5
1267 | m_Name: BtnClose
1268 | m_TagString: Untagged
1269 | m_Icon: {fileID: 0}
1270 | m_NavMeshLayer: 0
1271 | m_StaticEditorFlags: 0
1272 | m_IsActive: 1
1273 | --- !u!224 &1680241876
1274 | RectTransform:
1275 | m_ObjectHideFlags: 0
1276 | m_CorrespondingSourceObject: {fileID: 0}
1277 | m_PrefabInstance: {fileID: 0}
1278 | m_PrefabAsset: {fileID: 0}
1279 | m_GameObject: {fileID: 1680241875}
1280 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1281 | m_LocalPosition: {x: 0, y: 0, z: 0}
1282 | m_LocalScale: {x: 1, y: 1, z: 1}
1283 | m_Children:
1284 | - {fileID: 1891139213}
1285 | m_Father: {fileID: 474122212}
1286 | m_RootOrder: 2
1287 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1288 | m_AnchorMin: {x: 0, y: 0}
1289 | m_AnchorMax: {x: 0, y: 0}
1290 | m_AnchoredPosition: {x: 0, y: 0}
1291 | m_SizeDelta: {x: 0, y: 0}
1292 | m_Pivot: {x: 0.5, y: 0.5}
1293 | --- !u!114 &1680241877
1294 | MonoBehaviour:
1295 | m_ObjectHideFlags: 0
1296 | m_CorrespondingSourceObject: {fileID: 0}
1297 | m_PrefabInstance: {fileID: 0}
1298 | m_PrefabAsset: {fileID: 0}
1299 | m_GameObject: {fileID: 1680241875}
1300 | m_Enabled: 1
1301 | m_EditorHideFlags: 0
1302 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1303 | m_Name:
1304 | m_EditorClassIdentifier:
1305 | m_Navigation:
1306 | m_Mode: 3
1307 | m_SelectOnUp: {fileID: 0}
1308 | m_SelectOnDown: {fileID: 0}
1309 | m_SelectOnLeft: {fileID: 0}
1310 | m_SelectOnRight: {fileID: 0}
1311 | m_Transition: 1
1312 | m_Colors:
1313 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1314 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1315 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1316 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1317 | m_ColorMultiplier: 1
1318 | m_FadeDuration: 0.1
1319 | m_SpriteState:
1320 | m_HighlightedSprite: {fileID: 0}
1321 | m_PressedSprite: {fileID: 0}
1322 | m_DisabledSprite: {fileID: 0}
1323 | m_AnimationTriggers:
1324 | m_NormalTrigger: Normal
1325 | m_HighlightedTrigger: Highlighted
1326 | m_PressedTrigger: Pressed
1327 | m_DisabledTrigger: Disabled
1328 | m_Interactable: 1
1329 | m_TargetGraphic: {fileID: 1680241878}
1330 | m_OnClick:
1331 | m_PersistentCalls:
1332 | m_Calls:
1333 | - m_Target: {fileID: 1852291185}
1334 | m_MethodName: Close
1335 | m_Mode: 1
1336 | m_Arguments:
1337 | m_ObjectArgument: {fileID: 0}
1338 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1339 | m_IntArgument: 0
1340 | m_FloatArgument: 0
1341 | m_StringArgument:
1342 | m_BoolArgument: 0
1343 | m_CallState: 2
1344 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
1345 | Culture=neutral, PublicKeyToken=null
1346 | --- !u!114 &1680241878
1347 | MonoBehaviour:
1348 | m_ObjectHideFlags: 0
1349 | m_CorrespondingSourceObject: {fileID: 0}
1350 | m_PrefabInstance: {fileID: 0}
1351 | m_PrefabAsset: {fileID: 0}
1352 | m_GameObject: {fileID: 1680241875}
1353 | m_Enabled: 1
1354 | m_EditorHideFlags: 0
1355 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1356 | m_Name:
1357 | m_EditorClassIdentifier:
1358 | m_Material: {fileID: 0}
1359 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1360 | m_RaycastTarget: 1
1361 | m_OnCullStateChanged:
1362 | m_PersistentCalls:
1363 | m_Calls: []
1364 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1365 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1366 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1367 | m_Type: 1
1368 | m_PreserveAspect: 0
1369 | m_FillCenter: 1
1370 | m_FillMethod: 4
1371 | m_FillAmount: 1
1372 | m_FillClockwise: 1
1373 | m_FillOrigin: 0
1374 | m_UseSpriteMesh: 0
1375 | --- !u!222 &1680241879
1376 | CanvasRenderer:
1377 | m_ObjectHideFlags: 0
1378 | m_CorrespondingSourceObject: {fileID: 0}
1379 | m_PrefabInstance: {fileID: 0}
1380 | m_PrefabAsset: {fileID: 0}
1381 | m_GameObject: {fileID: 1680241875}
1382 | m_CullTransparentMesh: 0
1383 | --- !u!114 &1680241880
1384 | MonoBehaviour:
1385 | m_ObjectHideFlags: 0
1386 | m_CorrespondingSourceObject: {fileID: 0}
1387 | m_PrefabInstance: {fileID: 0}
1388 | m_PrefabAsset: {fileID: 0}
1389 | m_GameObject: {fileID: 1680241875}
1390 | m_Enabled: 1
1391 | m_EditorHideFlags: 0
1392 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1393 | m_Name:
1394 | m_EditorClassIdentifier:
1395 | m_IgnoreLayout: 0
1396 | m_MinWidth: 50
1397 | m_MinHeight: -1
1398 | m_PreferredWidth: 200
1399 | m_PreferredHeight: -1
1400 | m_FlexibleWidth: -1
1401 | m_FlexibleHeight: -1
1402 | m_LayoutPriority: 1
1403 | --- !u!1 &1697719965
1404 | GameObject:
1405 | m_ObjectHideFlags: 0
1406 | m_CorrespondingSourceObject: {fileID: 0}
1407 | m_PrefabInstance: {fileID: 0}
1408 | m_PrefabAsset: {fileID: 0}
1409 | serializedVersion: 6
1410 | m_Component:
1411 | - component: {fileID: 1697719968}
1412 | - component: {fileID: 1697719967}
1413 | - component: {fileID: 1697719966}
1414 | m_Layer: 0
1415 | m_Name: EventSystem
1416 | m_TagString: Untagged
1417 | m_Icon: {fileID: 0}
1418 | m_NavMeshLayer: 0
1419 | m_StaticEditorFlags: 0
1420 | m_IsActive: 1
1421 | --- !u!114 &1697719966
1422 | MonoBehaviour:
1423 | m_ObjectHideFlags: 0
1424 | m_CorrespondingSourceObject: {fileID: 0}
1425 | m_PrefabInstance: {fileID: 0}
1426 | m_PrefabAsset: {fileID: 0}
1427 | m_GameObject: {fileID: 1697719965}
1428 | m_Enabled: 1
1429 | m_EditorHideFlags: 0
1430 | m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1431 | m_Name:
1432 | m_EditorClassIdentifier:
1433 | m_HorizontalAxis: Horizontal
1434 | m_VerticalAxis: Vertical
1435 | m_SubmitButton: Submit
1436 | m_CancelButton: Cancel
1437 | m_InputActionsPerSecond: 10
1438 | m_RepeatDelay: 0.5
1439 | m_ForceModuleActive: 0
1440 | --- !u!114 &1697719967
1441 | MonoBehaviour:
1442 | m_ObjectHideFlags: 0
1443 | m_CorrespondingSourceObject: {fileID: 0}
1444 | m_PrefabInstance: {fileID: 0}
1445 | m_PrefabAsset: {fileID: 0}
1446 | m_GameObject: {fileID: 1697719965}
1447 | m_Enabled: 1
1448 | m_EditorHideFlags: 0
1449 | m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1450 | m_Name:
1451 | m_EditorClassIdentifier:
1452 | m_FirstSelected: {fileID: 0}
1453 | m_sendNavigationEvents: 1
1454 | m_DragThreshold: 5
1455 | --- !u!4 &1697719968
1456 | Transform:
1457 | m_ObjectHideFlags: 0
1458 | m_CorrespondingSourceObject: {fileID: 0}
1459 | m_PrefabInstance: {fileID: 0}
1460 | m_PrefabAsset: {fileID: 0}
1461 | m_GameObject: {fileID: 1697719965}
1462 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1463 | m_LocalPosition: {x: 0, y: 0, z: 0}
1464 | m_LocalScale: {x: 1, y: 1, z: 1}
1465 | m_Children: []
1466 | m_Father: {fileID: 0}
1467 | m_RootOrder: 2
1468 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1469 | --- !u!1 &1852291183
1470 | GameObject:
1471 | m_ObjectHideFlags: 0
1472 | m_CorrespondingSourceObject: {fileID: 0}
1473 | m_PrefabInstance: {fileID: 0}
1474 | m_PrefabAsset: {fileID: 0}
1475 | serializedVersion: 6
1476 | m_Component:
1477 | - component: {fileID: 1852291184}
1478 | - component: {fileID: 1852291185}
1479 | m_Layer: 5
1480 | m_Name: Demo
1481 | m_TagString: Untagged
1482 | m_Icon: {fileID: 0}
1483 | m_NavMeshLayer: 0
1484 | m_StaticEditorFlags: 0
1485 | m_IsActive: 1
1486 | --- !u!224 &1852291184
1487 | RectTransform:
1488 | m_ObjectHideFlags: 0
1489 | m_CorrespondingSourceObject: {fileID: 0}
1490 | m_PrefabInstance: {fileID: 0}
1491 | m_PrefabAsset: {fileID: 0}
1492 | m_GameObject: {fileID: 1852291183}
1493 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1494 | m_LocalPosition: {x: 0, y: 0, z: 0}
1495 | m_LocalScale: {x: 1, y: 1, z: 1}
1496 | m_Children:
1497 | - {fileID: 474122212}
1498 | - {fileID: 688450071}
1499 | m_Father: {fileID: 456928241}
1500 | m_RootOrder: 0
1501 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1502 | m_AnchorMin: {x: 0, y: 0}
1503 | m_AnchorMax: {x: 1, y: 1}
1504 | m_AnchoredPosition: {x: 0, y: 0}
1505 | m_SizeDelta: {x: 0, y: 0}
1506 | m_Pivot: {x: 0.5, y: 0.5}
1507 | --- !u!114 &1852291185
1508 | MonoBehaviour:
1509 | m_ObjectHideFlags: 0
1510 | m_CorrespondingSourceObject: {fileID: 0}
1511 | m_PrefabInstance: {fileID: 0}
1512 | m_PrefabAsset: {fileID: 0}
1513 | m_GameObject: {fileID: 1852291183}
1514 | m_Enabled: 1
1515 | m_EditorHideFlags: 0
1516 | m_Script: {fileID: 11500000, guid: 80d79277b27a2f840b81c029d6bea908, type: 3}
1517 | m_Name:
1518 | m_EditorClassIdentifier:
1519 | top: 80
1520 | bottom: 10
1521 | left: 10
1522 | right: 10
1523 | inputField: {fileID: 894971513}
1524 | msgContent: {fileID: 688450072}
1525 | btnLoad: {fileID: 1511227494}
1526 | btnClose: {fileID: 1680241875}
1527 | btnLocalUrl: {fileID: 1899610333}
1528 | btnCallJs: {fileID: 1671605695}
1529 | --- !u!1 &1891139212
1530 | GameObject:
1531 | m_ObjectHideFlags: 0
1532 | m_CorrespondingSourceObject: {fileID: 0}
1533 | m_PrefabInstance: {fileID: 0}
1534 | m_PrefabAsset: {fileID: 0}
1535 | serializedVersion: 6
1536 | m_Component:
1537 | - component: {fileID: 1891139213}
1538 | - component: {fileID: 1891139215}
1539 | - component: {fileID: 1891139214}
1540 | m_Layer: 5
1541 | m_Name: Text
1542 | m_TagString: Untagged
1543 | m_Icon: {fileID: 0}
1544 | m_NavMeshLayer: 0
1545 | m_StaticEditorFlags: 0
1546 | m_IsActive: 1
1547 | --- !u!224 &1891139213
1548 | RectTransform:
1549 | m_ObjectHideFlags: 0
1550 | m_CorrespondingSourceObject: {fileID: 0}
1551 | m_PrefabInstance: {fileID: 0}
1552 | m_PrefabAsset: {fileID: 0}
1553 | m_GameObject: {fileID: 1891139212}
1554 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1555 | m_LocalPosition: {x: 0, y: 0, z: 0}
1556 | m_LocalScale: {x: 1, y: 1, z: 1}
1557 | m_Children: []
1558 | m_Father: {fileID: 1680241876}
1559 | m_RootOrder: 0
1560 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1561 | m_AnchorMin: {x: 0, y: 0}
1562 | m_AnchorMax: {x: 1, y: 1}
1563 | m_AnchoredPosition: {x: 0, y: 0}
1564 | m_SizeDelta: {x: 0, y: 0}
1565 | m_Pivot: {x: 0.5, y: 0.5}
1566 | --- !u!114 &1891139214
1567 | MonoBehaviour:
1568 | m_ObjectHideFlags: 0
1569 | m_CorrespondingSourceObject: {fileID: 0}
1570 | m_PrefabInstance: {fileID: 0}
1571 | m_PrefabAsset: {fileID: 0}
1572 | m_GameObject: {fileID: 1891139212}
1573 | m_Enabled: 1
1574 | m_EditorHideFlags: 0
1575 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1576 | m_Name:
1577 | m_EditorClassIdentifier:
1578 | m_Material: {fileID: 0}
1579 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
1580 | m_RaycastTarget: 1
1581 | m_OnCullStateChanged:
1582 | m_PersistentCalls:
1583 | m_Calls: []
1584 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1585 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1586 | m_FontData:
1587 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1588 | m_FontSize: 20
1589 | m_FontStyle: 0
1590 | m_BestFit: 0
1591 | m_MinSize: 2
1592 | m_MaxSize: 40
1593 | m_Alignment: 4
1594 | m_AlignByGeometry: 0
1595 | m_RichText: 1
1596 | m_HorizontalOverflow: 0
1597 | m_VerticalOverflow: 0
1598 | m_LineSpacing: 1
1599 | m_Text: Close
1600 | --- !u!222 &1891139215
1601 | CanvasRenderer:
1602 | m_ObjectHideFlags: 0
1603 | m_CorrespondingSourceObject: {fileID: 0}
1604 | m_PrefabInstance: {fileID: 0}
1605 | m_PrefabAsset: {fileID: 0}
1606 | m_GameObject: {fileID: 1891139212}
1607 | m_CullTransparentMesh: 0
1608 | --- !u!1 &1899610333
1609 | GameObject:
1610 | m_ObjectHideFlags: 0
1611 | m_CorrespondingSourceObject: {fileID: 0}
1612 | m_PrefabInstance: {fileID: 0}
1613 | m_PrefabAsset: {fileID: 0}
1614 | serializedVersion: 6
1615 | m_Component:
1616 | - component: {fileID: 1899610334}
1617 | - component: {fileID: 1899610338}
1618 | - component: {fileID: 1899610337}
1619 | - component: {fileID: 1899610336}
1620 | - component: {fileID: 1899610335}
1621 | m_Layer: 5
1622 | m_Name: BtnLocal
1623 | m_TagString: Untagged
1624 | m_Icon: {fileID: 0}
1625 | m_NavMeshLayer: 0
1626 | m_StaticEditorFlags: 0
1627 | m_IsActive: 1
1628 | --- !u!224 &1899610334
1629 | RectTransform:
1630 | m_ObjectHideFlags: 0
1631 | m_CorrespondingSourceObject: {fileID: 0}
1632 | m_PrefabInstance: {fileID: 0}
1633 | m_PrefabAsset: {fileID: 0}
1634 | m_GameObject: {fileID: 1899610333}
1635 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1636 | m_LocalPosition: {x: 0, y: 0, z: 0}
1637 | m_LocalScale: {x: 1.0000086, y: 1.0000086, z: 1.0000086}
1638 | m_Children:
1639 | - {fileID: 873084245}
1640 | m_Father: {fileID: 474122212}
1641 | m_RootOrder: 3
1642 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1643 | m_AnchorMin: {x: 0, y: 0}
1644 | m_AnchorMax: {x: 0, y: 0}
1645 | m_AnchoredPosition: {x: 0, y: 0}
1646 | m_SizeDelta: {x: 0, y: 0}
1647 | m_Pivot: {x: 0.5, y: 0.5}
1648 | --- !u!114 &1899610335
1649 | MonoBehaviour:
1650 | m_ObjectHideFlags: 0
1651 | m_CorrespondingSourceObject: {fileID: 0}
1652 | m_PrefabInstance: {fileID: 0}
1653 | m_PrefabAsset: {fileID: 0}
1654 | m_GameObject: {fileID: 1899610333}
1655 | m_Enabled: 1
1656 | m_EditorHideFlags: 0
1657 | m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1658 | m_Name:
1659 | m_EditorClassIdentifier:
1660 | m_IgnoreLayout: 0
1661 | m_MinWidth: 50
1662 | m_MinHeight: -1
1663 | m_PreferredWidth: 200
1664 | m_PreferredHeight: -1
1665 | m_FlexibleWidth: -1
1666 | m_FlexibleHeight: -1
1667 | m_LayoutPriority: 1
1668 | --- !u!114 &1899610336
1669 | MonoBehaviour:
1670 | m_ObjectHideFlags: 0
1671 | m_CorrespondingSourceObject: {fileID: 0}
1672 | m_PrefabInstance: {fileID: 0}
1673 | m_PrefabAsset: {fileID: 0}
1674 | m_GameObject: {fileID: 1899610333}
1675 | m_Enabled: 1
1676 | m_EditorHideFlags: 0
1677 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1678 | m_Name:
1679 | m_EditorClassIdentifier:
1680 | m_Navigation:
1681 | m_Mode: 3
1682 | m_SelectOnUp: {fileID: 0}
1683 | m_SelectOnDown: {fileID: 0}
1684 | m_SelectOnLeft: {fileID: 0}
1685 | m_SelectOnRight: {fileID: 0}
1686 | m_Transition: 1
1687 | m_Colors:
1688 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
1689 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
1690 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
1691 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
1692 | m_ColorMultiplier: 1
1693 | m_FadeDuration: 0.1
1694 | m_SpriteState:
1695 | m_HighlightedSprite: {fileID: 0}
1696 | m_PressedSprite: {fileID: 0}
1697 | m_DisabledSprite: {fileID: 0}
1698 | m_AnimationTriggers:
1699 | m_NormalTrigger: Normal
1700 | m_HighlightedTrigger: Highlighted
1701 | m_PressedTrigger: Pressed
1702 | m_DisabledTrigger: Disabled
1703 | m_Interactable: 1
1704 | m_TargetGraphic: {fileID: 1899610337}
1705 | m_OnClick:
1706 | m_PersistentCalls:
1707 | m_Calls:
1708 | - m_Target: {fileID: 1852291185}
1709 | m_MethodName: LocalHtml
1710 | m_Mode: 1
1711 | m_Arguments:
1712 | m_ObjectArgument: {fileID: 0}
1713 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
1714 | m_IntArgument: 0
1715 | m_FloatArgument: 0
1716 | m_StringArgument:
1717 | m_BoolArgument: 0
1718 | m_CallState: 2
1719 | m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
1720 | Culture=neutral, PublicKeyToken=null
1721 | --- !u!114 &1899610337
1722 | MonoBehaviour:
1723 | m_ObjectHideFlags: 0
1724 | m_CorrespondingSourceObject: {fileID: 0}
1725 | m_PrefabInstance: {fileID: 0}
1726 | m_PrefabAsset: {fileID: 0}
1727 | m_GameObject: {fileID: 1899610333}
1728 | m_Enabled: 1
1729 | m_EditorHideFlags: 0
1730 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
1731 | m_Name:
1732 | m_EditorClassIdentifier:
1733 | m_Material: {fileID: 0}
1734 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1735 | m_RaycastTarget: 1
1736 | m_OnCullStateChanged:
1737 | m_PersistentCalls:
1738 | m_Calls: []
1739 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
1740 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
1741 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1742 | m_Type: 1
1743 | m_PreserveAspect: 0
1744 | m_FillCenter: 1
1745 | m_FillMethod: 4
1746 | m_FillAmount: 1
1747 | m_FillClockwise: 1
1748 | m_FillOrigin: 0
1749 | m_UseSpriteMesh: 0
1750 | --- !u!222 &1899610338
1751 | CanvasRenderer:
1752 | m_ObjectHideFlags: 0
1753 | m_CorrespondingSourceObject: {fileID: 0}
1754 | m_PrefabInstance: {fileID: 0}
1755 | m_PrefabAsset: {fileID: 0}
1756 | m_GameObject: {fileID: 1899610333}
1757 | m_CullTransparentMesh: 0
1758 | --- !u!1 &1963733582
1759 | GameObject:
1760 | m_ObjectHideFlags: 0
1761 | m_CorrespondingSourceObject: {fileID: 0}
1762 | m_PrefabInstance: {fileID: 0}
1763 | m_PrefabAsset: {fileID: 0}
1764 | serializedVersion: 6
1765 | m_Component:
1766 | - component: {fileID: 1963733587}
1767 | - component: {fileID: 1963733586}
1768 | - component: {fileID: 1963733585}
1769 | - component: {fileID: 1963733584}
1770 | - component: {fileID: 1963733583}
1771 | m_Layer: 0
1772 | m_Name: Main Camera
1773 | m_TagString: MainCamera
1774 | m_Icon: {fileID: 0}
1775 | m_NavMeshLayer: 0
1776 | m_StaticEditorFlags: 0
1777 | m_IsActive: 1
1778 | --- !u!81 &1963733583
1779 | AudioListener:
1780 | m_ObjectHideFlags: 0
1781 | m_CorrespondingSourceObject: {fileID: 0}
1782 | m_PrefabInstance: {fileID: 0}
1783 | m_PrefabAsset: {fileID: 0}
1784 | m_GameObject: {fileID: 1963733582}
1785 | m_Enabled: 1
1786 | --- !u!124 &1963733584
1787 | Behaviour:
1788 | m_ObjectHideFlags: 0
1789 | m_CorrespondingSourceObject: {fileID: 0}
1790 | m_PrefabInstance: {fileID: 0}
1791 | m_PrefabAsset: {fileID: 0}
1792 | m_GameObject: {fileID: 1963733582}
1793 | m_Enabled: 1
1794 | --- !u!92 &1963733585
1795 | Behaviour:
1796 | m_ObjectHideFlags: 0
1797 | m_CorrespondingSourceObject: {fileID: 0}
1798 | m_PrefabInstance: {fileID: 0}
1799 | m_PrefabAsset: {fileID: 0}
1800 | m_GameObject: {fileID: 1963733582}
1801 | m_Enabled: 1
1802 | --- !u!20 &1963733586
1803 | Camera:
1804 | m_ObjectHideFlags: 0
1805 | m_CorrespondingSourceObject: {fileID: 0}
1806 | m_PrefabInstance: {fileID: 0}
1807 | m_PrefabAsset: {fileID: 0}
1808 | m_GameObject: {fileID: 1963733582}
1809 | m_Enabled: 1
1810 | serializedVersion: 2
1811 | m_ClearFlags: 1
1812 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
1813 | m_projectionMatrixMode: 1
1814 | m_SensorSize: {x: 36, y: 24}
1815 | m_LensShift: {x: 0, y: 0}
1816 | m_GateFitMode: 2
1817 | m_FocalLength: 50
1818 | m_NormalizedViewPortRect:
1819 | serializedVersion: 2
1820 | x: 0
1821 | y: 0
1822 | width: 1
1823 | height: 1
1824 | near clip plane: 0.3
1825 | far clip plane: 1000
1826 | field of view: 60
1827 | orthographic: 0
1828 | orthographic size: 5
1829 | m_Depth: -1
1830 | m_CullingMask:
1831 | serializedVersion: 2
1832 | m_Bits: 4294967295
1833 | m_RenderingPath: -1
1834 | m_TargetTexture: {fileID: 0}
1835 | m_TargetDisplay: 0
1836 | m_TargetEye: 3
1837 | m_HDR: 1
1838 | m_AllowMSAA: 1
1839 | m_AllowDynamicResolution: 0
1840 | m_ForceIntoRT: 0
1841 | m_OcclusionCulling: 1
1842 | m_StereoConvergence: 10
1843 | m_StereoSeparation: 0.022
1844 | --- !u!4 &1963733587
1845 | Transform:
1846 | m_ObjectHideFlags: 0
1847 | m_CorrespondingSourceObject: {fileID: 0}
1848 | m_PrefabInstance: {fileID: 0}
1849 | m_PrefabAsset: {fileID: 0}
1850 | m_GameObject: {fileID: 1963733582}
1851 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1852 | m_LocalPosition: {x: 0, y: 1, z: -10}
1853 | m_LocalScale: {x: 1, y: 1, z: 1}
1854 | m_Children: []
1855 | m_Father: {fileID: 0}
1856 | m_RootOrder: 0
1857 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1858 |
--------------------------------------------------------------------------------
/Assets/Demo/ULiteWebView.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7d83b8f5f02a3844bde09ee548ca893
3 | timeCreated: 1519885622
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5584344395dc73f44a0fc8b38b448f85
3 | folderAsset: yes
4 | timeCreated: 1519891548
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/Android.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd363f3f9a3a4ad45ba6ac058426ab76
3 | folderAsset: yes
4 | timeCreated: 1519891884
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/Android/ULiteWebView-debug.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinglikeblue/ULiteWebView/313d8995a2074374a2a6170edd32f6f729f2eae9/Assets/Plugins/Android/ULiteWebView-debug.aar
--------------------------------------------------------------------------------
/Assets/Plugins/Android/ULiteWebView-debug.aar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3554a54cf6594f849a111c68afa6b00c
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 |
--------------------------------------------------------------------------------
/Assets/Plugins/IOS.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 20f097a95e82c4d0c941a411555ffcdb
3 | folderAsset: yes
4 | timeCreated: 1520017730
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Plugins/IOS/ULiteWebView.mm:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 | #import
5 | #import
6 | #import
7 | #import
8 | #import
9 | #import
10 | #import
11 | #import
12 | #import
13 |
14 | @interface ULiteWebView : NSObject
15 | {
16 | WKWebView* _webView;
17 | NSString* _gameObjectName;
18 | }
19 | @end
20 |
21 | @implementation ULiteWebView
22 | //注册webview
23 | - (void)init:(const char*)gameObjectName{
24 | _gameObjectName = [NSString stringWithUTF8String:gameObjectName];
25 | }
26 |
27 | - (void)createWebView{
28 | if(_webView == nil){
29 | UIView* view = UnityGetGLViewController().view;
30 | _webView = [[WKWebView alloc] initWithFrame:view.frame];
31 | _webView.hidden = YES;
32 | _webView.navigationDelegate = self;
33 | // _webView.UIDelegate = self;
34 | [[_webView configuration].userContentController addScriptMessageHandler:self name:@"ULiteWebView"];
35 |
36 | // //创建网页配置对象
37 | // WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
38 | //
39 | // // 创建设置对象
40 | // WKPreferences *preference = [[WKPreferences alloc]init];
41 | // //最小字体大小 当将javaScriptEnabled属性设置为NO时,可以看到明显的效果
42 | // preference.minimumFontSize = 0;
43 | // //设置是否支持javaScript 默认是支持的
44 | // preference.javaScriptEnabled = YES;
45 | // // 在iOS上默认为NO,表示是否允许不经过用户交互由javaScript自动打开窗口
46 | // preference.javaScriptCanOpenWindowsAutomatically = YES;
47 | // config.preferences = preference;
48 | //
49 | // // 是使用h5的视频播放器在线播放, 还是使用原生播放器全屏播放
50 | // config.allowsInlineMediaPlayback = YES;
51 | // //设置视频是否需要用户手动播放 设置为NO则会允许自动播放
52 | // config.requiresUserActionForMediaPlayback = YES;
53 | // //设置是否允许画中画技术 在特定设备上有效
54 | // config.allowsPictureInPictureMediaPlayback = YES;
55 | // //设置请求的User-Agent信息中应用程序名称 iOS9后可用
56 | // config.applicationNameForUserAgent = @"ChinaDailyForiPad";
57 | //
58 | // //这个类主要用来做native与JavaScript的交互管理
59 | // WKUserContentController * wkUController = [[WKUserContentController alloc] init];
60 | // //注册一个name为jsToOcNoPrams的js方法
61 | // [wkUController addScriptMessageHandler:self name:@"ULiteWebView"];
62 | // config.userContentController = wkUController;
63 |
64 |
65 |
66 | [view addSubview:_webView];
67 | }
68 | }
69 |
70 | - (void)disposeWebView{
71 | if(_webView != nil){
72 | [_webView removeFromSuperview];
73 | [[_webView configuration].userContentController removeScriptMessageHandlerForName:@"ULiteWebView"];
74 | _webView.navigationDelegate = nil;
75 | _webView.UIDelegate = nil;
76 | _webView = nil;
77 | }
78 | }
79 |
80 | //显示webview
81 | - (void)show:(int)top bottom:(int)bottom left:(int)left right:(int)right {
82 | [self createWebView];
83 | UIView *view = UnityGetGLViewController().view;
84 | _webView.hidden = NO;
85 | CGRect frame = view.frame;
86 | CGFloat scale = view.contentScaleFactor;
87 | frame.size.width -= (left + right) / scale;
88 | frame.size.height -= (top + bottom) / scale;
89 | frame.origin.x += left / scale;
90 | frame.origin.y += top / scale;
91 | _webView.frame = frame;
92 | }
93 |
94 | //加载页面
95 | - (void)loadUrl:(const char*)url{
96 | [self createWebView];
97 | NSString *urlStr = [NSString stringWithUTF8String:url];
98 | NSURL *nsurl = [NSURL URLWithString:urlStr];
99 | NSURLRequest *request = [NSURLRequest requestWithURL:nsurl];
100 | [_webView loadRequest:request];
101 | [_webView reload];
102 | }
103 |
104 | //关闭webview窗口
105 | - (void)close{
106 | if(_webView == nil){
107 | return;
108 | }
109 | _webView.hidden = YES;
110 | [self disposeWebView];
111 | }
112 |
113 | //调用JS
114 | - (void)callJS:(const char*)funName msg:(const char*)msg{
115 | if(_webView == nil){
116 | return;
117 | }
118 |
119 | //OC调用JS completionHandler是异步回调block
120 | NSString *jsStr= [NSString stringWithFormat:@"%s(\"%s\")",funName,msg];
121 | [_webView evaluateJavaScript:jsStr completionHandler:^(id _Nullable data, NSError * _Nullable error) {
122 | NSLog(@"调用JS:%@", jsStr);
123 | }];
124 | }
125 |
126 | //被JS调用
127 | - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message {
128 |
129 | NSLog(@"方法名:%@", message.name);
130 | NSString* content = message.body;
131 | NSLog(@"参数:%@", content);
132 |
133 |
134 | UnitySendMessage([_gameObjectName UTF8String], "OnJsCall", [content UTF8String]);
135 | }
136 |
137 | //捕获链接请求
138 | //- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
139 | //{
140 | // NSString *url = [[request URL] absoluteString];
141 | //
142 | // UnitySendMessage([_gameObjectName UTF8String], "OnLoadingUrl", [url UTF8String]);
143 | //
144 | // NSRange range = [url rangeOfString:@"ulitewebview://"];
145 | // if(range.location != NSNotFound){
146 | // NSString *msg = [url substringFromIndex:range.length];
147 | // UnitySendMessage([_gameObjectName UTF8String], "OnJsCall", [msg UTF8String]);
148 | // return YES;
149 | // }
150 | // return YES;
151 | //}
152 |
153 | // 页面开始加载时调用
154 | - (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation {
155 |
156 | NSLog(@"页面开始加载: %@", webView.URL.absoluteString);
157 | UnitySendMessage([_gameObjectName UTF8String], "OnLoadingUrl", [webView.URL.absoluteString UTF8String]);
158 | }
159 | // 页面加载失败时调用
160 | - (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error {
161 | NSLog(@"页面加载失败");
162 | }
163 |
164 | // 当内容开始返回时调用
165 | - (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation {
166 | NSLog(@"页面内容开始加载");
167 | }
168 |
169 | // 页面加载完成之后调用
170 | - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
171 | NSLog(@"页面内容加载完成");
172 | }
173 | //提交发生错误时调用
174 | - (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error {
175 | NSLog(@"提交发生错误时调用");
176 | }
177 | // 接收到服务器跳转请求即服务重定向时之后调用
178 | - (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation {
179 |
180 | }
181 | // 根据WebView对于即将跳转的HTTP请求头信息和相关信息来决定是否跳转
182 | - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
183 |
184 | NSString * urlStr = navigationAction.request.URL.absoluteString;
185 | NSLog(@"发送跳转请求:%@",urlStr);
186 | //自己定义的协议头
187 | // NSString *htmlHeadString = @"github://";
188 | // if([urlStr hasPrefix:htmlHeadString]){
189 | // UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"通过截取URL调用OC" message:@"你想前往我的Github主页?" preferredStyle:UIAlertControllerStyleAlert];
190 | // [alertController addAction:([UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
191 | // }])];
192 | // [alertController addAction:([UIAlertAction actionWithTitle:@"打开" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
193 | // NSURL * url = [NSURL URLWithString:[urlStr stringByReplacingOccurrencesOfString:@"github://callName_?" withString:@""]];
194 | // [[UIApplication sharedApplication] openURL:url];
195 | // }])];
196 | //
197 | // decisionHandler(WKNavigationActionPolicyCancel);
198 | // }else{
199 | // decisionHandler(WKNavigationActionPolicyAllow);
200 | // }
201 |
202 | decisionHandler(WKNavigationActionPolicyAllow);
203 | }
204 |
205 | // 根据客户端受到的服务器响应头以及response相关信息来决定是否可以跳转
206 | - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler{
207 | NSString * urlStr = navigationResponse.response.URL.absoluteString;
208 | NSLog(@"当前跳转地址:%@",urlStr);
209 | //允许跳转
210 | decisionHandler(WKNavigationResponsePolicyAllow);
211 | //不允许跳转
212 | // decisionHandler(WKNavigationResponsePolicyCancel);
213 | }
214 |
215 | //需要响应身份验证时调用 同样在block中需要传入用户身份凭证
216 | //- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler{
217 | //
218 | //}
219 | //进程被终止时调用
220 | - (void)webViewWebContentProcessDidTerminate:(WKWebView *)webView{
221 | NSLog(@"进程终止了");
222 | }
223 |
224 | @end
225 |
226 |
227 | extern "C"
228 | {
229 | void _registResponseGameObject(const char* gameObjectName);
230 | void _show(int top, int bottom, int left, int right);
231 | void _loadUrl(const char* url);
232 | void _close();
233 | void _callJS(const char* funName, const char* msg);
234 |
235 |
236 | static ULiteWebView *ulite;
237 | const char* gameObjectName;
238 |
239 | void _registCallBackGameObjectName(const char* gameObjectName){
240 | if(ulite != nil){
241 | return;
242 | }
243 |
244 | ulite = [ULiteWebView alloc];
245 | [ulite init:gameObjectName];
246 | // NSLog(@"_registResponseGameObject");
247 | }
248 |
249 | void _show(int top, int bottom, int left, int right){
250 | if(ulite == nil){
251 | return;
252 | }
253 |
254 | [ulite show:top bottom:bottom left:left right:right];
255 | // NSLog(@"_show");
256 |
257 | }
258 |
259 | void _loadUrl(const char* url){
260 | if(ulite == nil){
261 | return;
262 | }
263 |
264 | [ulite loadUrl:url];
265 | // NSLog(@"_loadUrl");
266 | }
267 |
268 | void _close(){
269 | if(ulite == nil){
270 | return;
271 | }
272 |
273 | [ulite close];
274 | // NSLog(@"_close");
275 | }
276 |
277 | void _callJS(const char* funName, const char* msg){
278 | if(ulite == nil){
279 | return;
280 | }
281 |
282 | [ulite callJS:funName msg:msg];
283 | // NSLog(@"_callJS");
284 | }
285 | }
286 |
287 |
--------------------------------------------------------------------------------
/Assets/Plugins/IOS/ULiteWebView.mm.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 45ff22b9546d344a797bd67edab209e8
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 | '': Any
16 | second:
17 | enabled: 0
18 | settings:
19 | Exclude Editor: 1
20 | Exclude Linux: 1
21 | Exclude Linux64: 1
22 | Exclude LinuxUniversal: 1
23 | Exclude OSXUniversal: 1
24 | Exclude Win: 1
25 | Exclude Win64: 1
26 | Exclude iOS: 0
27 | - first:
28 | Any:
29 | second:
30 | enabled: 0
31 | settings: {}
32 | - first:
33 | Editor: Editor
34 | second:
35 | enabled: 0
36 | settings:
37 | CPU: AnyCPU
38 | DefaultValueInitialized: true
39 | OS: AnyOS
40 | - first:
41 | Facebook: Win
42 | second:
43 | enabled: 0
44 | settings:
45 | CPU: AnyCPU
46 | - first:
47 | Facebook: Win64
48 | second:
49 | enabled: 0
50 | settings:
51 | CPU: AnyCPU
52 | - first:
53 | Standalone: Linux
54 | second:
55 | enabled: 0
56 | settings:
57 | CPU: x86
58 | - first:
59 | Standalone: Linux64
60 | second:
61 | enabled: 0
62 | settings:
63 | CPU: x86_64
64 | - first:
65 | Standalone: OSXUniversal
66 | second:
67 | enabled: 0
68 | settings:
69 | CPU: AnyCPU
70 | - first:
71 | Standalone: Win
72 | second:
73 | enabled: 0
74 | settings:
75 | CPU: AnyCPU
76 | - first:
77 | Standalone: Win64
78 | second:
79 | enabled: 0
80 | settings:
81 | CPU: AnyCPU
82 | - first:
83 | iPhone: iOS
84 | second:
85 | enabled: 1
86 | settings:
87 | AddToEmbeddedBinaries: false
88 | CompileFlags:
89 | FrameworkDependencies: WebKit;
90 | userData:
91 | assetBundleName:
92 | assetBundleVariant:
93 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ea236e5ac0e644d5384c9bc9eadb8f72
3 | folderAsset: yes
4 | timeCreated: 1520068652
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets/ulitewebview_test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
12 | ULiteWebView
13 |
14 |
28 |
29 |
30 |
31 |
32 | Unity message will show here...
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Assets/StreamingAssets/ulitewebview_test.html.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e5e55618e61a245b4b8fb6d56878655a
3 | timeCreated: 1520068656
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ULiteWevView.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4918d7fd0032a12438e053a0cf36ecd7
3 | folderAsset: yes
4 | timeCreated: 1519885594
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/ULiteWevView/ReadMe.md:
--------------------------------------------------------------------------------
1 | # 「ULiteWebView」使用指南
2 |
3 | ## 1.简介
4 | ULiteWebView是一个极度轻量化的Unity内嵌WebView插件。
5 |
6 | 支持的平台:安卓/苹果
7 |
8 | 功能:
9 | * 网络浏览
10 | * 支持Html5
11 | * 支持Unity与JS自定义接口交互
12 | * 支持URL SCHEME
13 | * 可定制的显示窗体大小
14 |
15 | 特点:
16 | * 接入简单,核心文件仅3个,且无需额外配置
17 | * 轻量化,增加代码量仅20KB左右
18 | * 使用简单,复杂的功能已封装为几个调用简单的API接口
19 |
20 | ## 2.项目官网
21 |
22 | ## 3.在项目中使用
23 | ### 接入
24 | 至官网下载.unitypackage文件后,双击即可导入到项目中。如果不需要DEMO文件,只需要导入下方3个核心文件,插件即可正常使用。
25 |
26 | /Assets
27 | /Plugins
28 | /Android/ULiteWebView.aar
29 | /IOS/ULiteWebView.mm
30 | /ULiteWevView/ULiteWebView.cs
31 |
32 | ### 使用
33 | 在场景中任意位置创建GameObject对象,并添加「ULiteWebView.cs」脚本。即可通过API工作
34 |
35 | ## 4.API说明
36 | ### 显示WebView
37 | ///
38 | /// 显示ULiteWebView关联的WebView
39 | ///
40 | /// WebView距离屏幕上边缘的距离(单位:像素)
41 | /// WebView距离屏幕下边缘的距离(单位:像素)
42 | /// WebView距离屏幕左边缘的距离(单位:像素)
43 | /// WebView距离屏幕右边缘的距离(单位:像素)
44 | public void Show(int top, int bottom, int left, int right)
45 |
46 | ### 加载URL
47 | ///
48 | /// 使用WebView加载指定的URL,访问网页用Http://开头
49 | ///
50 | /// 访问的URL地址
51 | public void LoadUrl(string url)
52 |
53 | ### 加载本地资源
54 | ///
55 | /// 访问StreamingAssets文件夹中存放的资源
56 | ///
57 | /// 相对于StreamingAssets目录的文件路径,以"/"开头
58 | public void LoadLocal(string filePath)
59 |
60 | ### 关闭WebView
61 | ///
62 | /// 关闭ULiteWebView关联的WebView
63 | ///
64 | public void Close()
65 |
66 | ### 调用JS
67 | ///
68 | /// 请求当前WebView页面中对应的JS方法
69 | ///
70 | /// Fun name.
71 | /// Message.
72 | public void CallJS(string funName, string msg)
73 |
74 | ### 注册供JS调用的Unity方法
75 | ///
76 | /// 注册供JS调用的方法
77 | ///
78 | /// 方法名:JS通过该方法名调用对应方法
79 | /// 方法
80 | public void RegistJsInterfaceAction(string interfaceName, Action action)
81 |
82 | ### 注销供JS调用的Unity方法
83 | ///
84 | /// 注销供JS调用的方法
85 | ///
86 | /// 方法名:JS通过该方法名调用对应方法
87 | /// 方法
88 | public void UnregistJsInterfaceAction(string interfaceName, Action action)
89 |
--------------------------------------------------------------------------------
/Assets/ULiteWevView/ReadMe.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6593f30eb094b499e952fbb49254d0c5
3 | timeCreated: 1520096414
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ULiteWevView/ULiteWebView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Runtime.InteropServices;
4 | using UnityEngine;
5 |
6 | namespace Jing.ULiteWebView
7 | {
8 | ///
9 | /// Code By Jing 2018-03-04
10 | /// EMail:122300890@qq.com
11 | ///
12 | public class ULiteWebView : MonoBehaviour
13 | {
14 | private static ULiteWebView _ins;
15 | public static ULiteWebView Ins
16 | {
17 | get
18 | {
19 | if (null == _ins)
20 | {
21 | _ins = GameObject.FindObjectOfType();
22 |
23 | if (null == _ins)
24 | {
25 | var go = new GameObject();
26 | go.name = typeof(ULiteWebView).Name;
27 | _ins = go.AddComponent();
28 | _ins.Init();
29 | }
30 |
31 | DontDestroyOnLoad(_ins.gameObject);
32 | }
33 | return _ins;
34 | }
35 | }
36 |
37 | ///
38 | /// 销毁单例
39 | ///
40 | public static void DisposeIns()
41 | {
42 | if (null != _ins)
43 | {
44 | if(null != _ins.gameObject)
45 | {
46 | GameObject.Destroy(_ins.gameObject);
47 | }
48 | _ins.Dispose();
49 | _ins = null;
50 | }
51 | }
52 |
53 | AULite4Platform _ulite;
54 | Dictionary> _jsActionsDic = new Dictionary>();
55 |
56 | ///
57 | /// 正在加载Url的事件
58 | ///
59 | public event Action onLoadingUrl;
60 |
61 | void Init()
62 | {
63 | if (null == _ulite)
64 | {
65 | Debug.Log("ULiteWebView所在位置:" + getFullName(gameObject));
66 |
67 | #if !UNITY_EDITOR
68 | #if UNITY_ANDROID
69 | Debug.Log("ULiteWebView:Android");
70 | _ulite = new ULiteAndroidWebView(getFullName(this.gameObject));
71 | #elif UNITY_IOS
72 | Debug.Log("ULiteWebView:iOS");
73 | _ulite = new ULiteIosWebView(getFullName(this.gameObject));
74 | #endif
75 | #endif
76 | }
77 | }
78 |
79 | void Dispose()
80 | {
81 | Close();
82 | _ulite = null;
83 | }
84 |
85 | ///
86 | /// 显示
87 | ///
88 | ///
89 | ///
90 | ///
91 | ///
92 | public void Show(int top = 0, int bottom = 0, int left = 0, int right = 0)
93 | {
94 | if (null == _ulite)
95 | {
96 | return;
97 | }
98 |
99 | _ulite.Show(top, bottom, left, right);
100 | }
101 |
102 | ///
103 | /// 使用WebView加载指定的URL,访问网页用Http://开头
104 | ///
105 | /// 访问的URL地址
106 | public void LoadUrl(string url)
107 | {
108 | if (null == _ulite)
109 | {
110 | Application.OpenURL(url);
111 | return;
112 | }
113 |
114 | _ulite.LoadUrl(url);
115 | }
116 |
117 | ///
118 | /// 访问StreamingAssets文件夹中存放的资源
119 | ///
120 | /// 相对于StreamingAssets目录的文件路径,以"/"开头
121 | public void LoadLocal(string filePath)
122 | {
123 | #if UNITY_ANDROID
124 | filePath = "file:///android_asset" + filePath;
125 | #else
126 | filePath = "file://" + Application.streamingAssetsPath + filePath;
127 | #endif
128 | LoadUrl(filePath);
129 | }
130 |
131 | ///
132 | /// 关闭ULiteWebView关联的WebView
133 | ///
134 | public void Close()
135 | {
136 | if (null == _ulite)
137 | {
138 | return;
139 | }
140 |
141 | _ulite.Close();
142 | }
143 |
144 | ///
145 | /// 请求当前WebView页面中对应的JS方法
146 | ///
147 | /// Fun name.
148 | /// Message.
149 | public void CallJS(string funName, string msg)
150 | {
151 | if (null == _ulite)
152 | {
153 | return;
154 | }
155 |
156 | _ulite.CallJS(funName, msg);
157 | }
158 |
159 | ///
160 | /// 当webview加载页面时的回调
161 | ///
162 | ///
163 | void OnLoadingUrl(string url)
164 | {
165 | Debug.LogFormat("loading url: {0} 对象ID:{1}", url, this.GetInstanceID());
166 | onLoadingUrl?.Invoke(url);
167 | }
168 |
169 | void OnJsCall(string msg)
170 | {
171 | Debug.Log("js call unity: " + msg);
172 | string iName = null;
173 | string paramsStr = null;
174 |
175 | try
176 | {
177 | int flag = msg.IndexOf("?");
178 | if (-1 == flag)
179 | {
180 | iName = msg;
181 | }
182 | else
183 | {
184 | iName = msg.Substring(0, flag);
185 | paramsStr = msg.Substring(flag + 1);
186 | }
187 |
188 | if (_jsActionsDic.ContainsKey(iName))
189 | {
190 | _jsActionsDic[iName](paramsStr);
191 | }
192 | }
193 | catch (Exception e)
194 | {
195 | Debug.Log(string.Format("ULiteWebView:Wrong JS Msg [{0}]", msg));
196 | }
197 | }
198 |
199 |
200 |
201 | ///
202 | /// 注册供JS调用的方法
203 | ///
204 | /// 方法名:JS通过该方法名调用对应方法
205 | /// 方法
206 | public void RegistJsInterfaceAction(string interfaceName, Action action)
207 | {
208 | _jsActionsDic[interfaceName] = action;
209 | }
210 |
211 |
212 | ///
213 | /// 注销供JS调用的方法
214 | ///
215 | /// 方法名:JS通过该方法名调用对应方法
216 | /// 方法
217 | public void UnregistJsInterfaceAction(string interfaceName, Action action)
218 | {
219 | if (_jsActionsDic.ContainsKey(interfaceName))
220 | {
221 | _jsActionsDic.Remove(interfaceName);
222 | }
223 | }
224 |
225 |
226 | ///
227 | /// 获取GameObject的完整路径名
228 | ///
229 | ///
230 | ///
231 | string getFullName(GameObject obj)
232 | {
233 | string fullName = gameObject.name;
234 | Transform temp = transform;
235 | do
236 | {
237 | temp = temp.parent;
238 | if (null != temp)
239 | {
240 | fullName = temp.name + "/" + fullName;
241 | }
242 | }
243 | while (temp != null);
244 | return fullName;
245 | }
246 | }
247 |
248 | abstract class AULite4Platform
249 | {
250 |
251 | ///
252 | /// 显示
253 | ///
254 | ///
255 | ///
256 | ///
257 | ///
258 | abstract public void Show(int top, int bottom, int left, int right);
259 |
260 | ///
261 | /// 加载页面
262 | ///
263 | ///
264 | abstract public void LoadUrl(string url);
265 |
266 | ///
267 | /// 关闭
268 | ///
269 | abstract public void Close();
270 |
271 | ///
272 | /// 调用JS
273 | ///
274 | /// 方法名
275 | /// 消息内容
276 | abstract public void CallJS(string funName, string msg);
277 |
278 |
279 | }
280 |
281 | class ULiteAndroidWebView : AULite4Platform
282 | {
283 | AndroidJavaObject _ajo;
284 |
285 | ///
286 | ///
287 | ///
288 | /// Game object name.
289 | public ULiteAndroidWebView(string gameObjectName)
290 | {
291 | _ajo = new AndroidJavaObject("com.jing.unity.ulitewebview.ULiteWebView");
292 | _ajo.Call("registCallBackGameObjectName", gameObjectName);
293 | }
294 |
295 | public override void CallJS(string funName, string msg)
296 | {
297 | _ajo.Call("callJs", funName, msg);
298 | }
299 |
300 | public override void Close()
301 | {
302 | _ajo.Call("close");
303 | }
304 |
305 | public override void LoadUrl(string url)
306 | {
307 | _ajo.Call("loadUrl", url);
308 | }
309 |
310 | public override void Show(int top, int bottom, int left, int right)
311 | {
312 | _ajo.Call("show", top, bottom, left, right);
313 | }
314 | }
315 |
316 | class ULiteIosWebView : AULite4Platform
317 | {
318 | [DllImport("__Internal")]
319 | private static extern void _registCallBackGameObjectName(string gameObjectName);
320 |
321 | [DllImport("__Internal")]
322 | private static extern void _show(int top, int bottom, int left, int right);
323 |
324 | [DllImport("__Internal")]
325 | private static extern void _loadUrl(string url);
326 |
327 | [DllImport("__Internal")]
328 | private static extern void _close();
329 |
330 | [DllImport("__Internal")]
331 | private static extern void _callJS(string funName, string msg);
332 |
333 |
334 | public ULiteIosWebView(string gameObjectName)
335 | {
336 | _registCallBackGameObjectName(gameObjectName);
337 | }
338 |
339 | public override void CallJS(string funName, string msg)
340 | {
341 | _callJS(funName, msg);
342 | }
343 |
344 | public override void Close()
345 | {
346 | _close();
347 | }
348 |
349 | public override void LoadUrl(string url)
350 | {
351 | _loadUrl(url);
352 | }
353 |
354 | public override void Show(int top, int bottom, int left, int right)
355 | {
356 | _show(top, bottom, left, right);
357 | }
358 | }
359 | }
360 |
--------------------------------------------------------------------------------
/Assets/ULiteWevView/ULiteWebView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ec77f352bd42fa44b2a5214193e3f43
3 | timeCreated: 1519885655
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.2.2",
5 | "com.unity.collab-proxy": "1.2.15",
6 | "com.unity.package-manager-ui": "2.0.7",
7 | "com.unity.purchasing": "2.0.3",
8 | "com.unity.textmeshpro": "1.3.0",
9 | "com.unity.modules.ai": "1.0.0",
10 | "com.unity.modules.animation": "1.0.0",
11 | "com.unity.modules.assetbundle": "1.0.0",
12 | "com.unity.modules.audio": "1.0.0",
13 | "com.unity.modules.cloth": "1.0.0",
14 | "com.unity.modules.director": "1.0.0",
15 | "com.unity.modules.imageconversion": "1.0.0",
16 | "com.unity.modules.imgui": "1.0.0",
17 | "com.unity.modules.jsonserialize": "1.0.0",
18 | "com.unity.modules.particlesystem": "1.0.0",
19 | "com.unity.modules.physics": "1.0.0",
20 | "com.unity.modules.physics2d": "1.0.0",
21 | "com.unity.modules.screencapture": "1.0.0",
22 | "com.unity.modules.terrain": "1.0.0",
23 | "com.unity.modules.terrainphysics": "1.0.0",
24 | "com.unity.modules.tilemap": "1.0.0",
25 | "com.unity.modules.ui": "1.0.0",
26 | "com.unity.modules.uielements": "1.0.0",
27 | "com.unity.modules.umbra": "1.0.0",
28 | "com.unity.modules.unityanalytics": "1.0.0",
29 | "com.unity.modules.unitywebrequest": "1.0.0",
30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
31 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
32 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
33 | "com.unity.modules.unitywebrequestwww": "1.0.0",
34 | "com.unity.modules.vehicles": "1.0.0",
35 | "com.unity.modules.video": "1.0.0",
36 | "com.unity.modules.vr": "1.0.0",
37 | "com.unity.modules.wind": "1.0.0",
38 | "com.unity.modules.xr": "1.0.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/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: 1024
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/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: 7
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_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 1
23 | m_ClothInterCollisionSettingsToggle: 0
24 | m_ContactPairsMode: 0
25 | m_BroadphaseType: 0
26 | m_WorldBounds:
27 | m_Center: {x: 0, y: 0, z: 0}
28 | m_Extent: {x: 250, y: 250, z: 250}
29 | m_WorldSubdivisions: 8
30 |
--------------------------------------------------------------------------------
/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/Demo/ULiteWebView.unity
10 | guid: f7d83b8f5f02a3844bde09ee548ca893
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/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: 7
7 | m_ExternalVersionControlSupport: Hidden Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 | m_EnableTextureStreamingInPlayMode: 1
23 |
--------------------------------------------------------------------------------
/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: 17000, guid: 0000000000000000f000000000000000, type: 0}
40 | m_PreloadedShaders: []
41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
42 | type: 0}
43 | m_CustomRenderPipeline: {fileID: 0}
44 | m_TransparencySortMode: 0
45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
46 | m_DefaultRenderingPath: 1
47 | m_DefaultMobileRenderingPath: 1
48 | m_TierSettings: []
49 | m_LightmapStripping: 0
50 | m_FogStripping: 0
51 | m_InstancingStripping: 0
52 | m_LightmapKeepPlain: 1
53 | m_LightmapKeepDirCombined: 1
54 | m_LightmapKeepDynamicPlain: 1
55 | m_LightmapKeepDynamicDirCombined: 1
56 | m_LightmapKeepShadowMask: 1
57 | m_LightmapKeepSubtractive: 1
58 | m_FogKeepLinear: 1
59 | m_FogKeepExp: 1
60 | m_FogKeepExp2: 1
61 | m_AlbedoSwatchInfos: []
62 | m_LightsUseLinearIntensity: 0
63 | m_LightsUseColorTemperature: 0
64 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/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_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_AutoSyncTransforms: 1
46 | m_AlwaysShowColliders: 0
47 | m_ShowColliderSleep: 1
48 | m_ShowColliderContacts: 0
49 | m_ShowColliderAABB: 0
50 | m_ContactArrowScale: 0.2
51 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
52 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
53 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
54 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
55 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
56 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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: 15
7 | productGUID: bb1ee286f0584dd4686d44a52826fe5f
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: PieceS
16 | productName: ULiteWevView
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 | iosAppInBackgroundBehavior: 0
56 | displayResolutionDialog: 1
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: 0
68 | androidBlitType: 0
69 | defaultIsNativeResolution: 1
70 | macRetinaSupport: 1
71 | runInBackground: 0
72 | captureSingleScreen: 0
73 | muteOtherAudioSources: 1
74 | Prepare IOS For Recording: 0
75 | Force IOS Speakers When Recording: 0
76 | deferSystemGesturesMode: 0
77 | hideHomeButton: 0
78 | submitAnalytics: 1
79 | usePlayerLog: 1
80 | bakeCollisionMeshes: 0
81 | forceSingleInstance: 0
82 | resizableWindow: 0
83 | useMacAppStoreValidation: 0
84 | macAppStoreCategory: public.app-category.games
85 | gpuSkinning: 0
86 | graphicsJobs: 0
87 | xboxPIXTextureCapture: 0
88 | xboxEnableAvatar: 0
89 | xboxEnableKinect: 0
90 | xboxEnableKinectAutoTracking: 0
91 | xboxEnableFitness: 0
92 | visibleInBackground: 1
93 | allowFullscreenSwitch: 1
94 | graphicsJobMode: 0
95 | fullscreenMode: 1
96 | xboxSpeechDB: 0
97 | xboxEnableHeadOrientation: 0
98 | xboxEnableGuest: 0
99 | xboxEnablePIXSampling: 0
100 | metalFramebufferOnly: 0
101 | xboxOneResolution: 0
102 | xboxOneSResolution: 0
103 | xboxOneXResolution: 3
104 | xboxOneMonoLoggingLevel: 0
105 | xboxOneLoggingLevel: 1
106 | xboxOneDisableEsram: 0
107 | xboxOnePresentImmediateThreshold: 0
108 | switchQueueCommandMemory: 0
109 | switchQueueControlMemory: 16384
110 | switchQueueComputeMemory: 262144
111 | switchNVNShaderPoolsGranularity: 33554432
112 | switchNVNDefaultPoolsGranularity: 16777216
113 | switchNVNOtherPoolsGranularity: 16777216
114 | vulkanEnableSetSRGBWrite: 0
115 | m_SupportedAspectRatios:
116 | 4:3: 1
117 | 5:4: 1
118 | 16:10: 1
119 | 16:9: 1
120 | Others: 1
121 | bundleVersion: 1.0
122 | preloadedAssets: []
123 | metroInputSource: 0
124 | wsaTransparentSwapchain: 0
125 | m_HolographicPauseOnTrackingLoss: 1
126 | xboxOneDisableKinectGpuReservation: 0
127 | xboxOneEnable7thCore: 1
128 | isWsaHolographicRemotingEnabled: 0
129 | vrSettings:
130 | cardboard:
131 | depthFormat: 0
132 | enableTransitionView: 0
133 | daydream:
134 | depthFormat: 0
135 | useSustainedPerformanceMode: 0
136 | enableVideoLayer: 0
137 | useProtectedVideoMemory: 0
138 | minimumSupportedHeadTracking: 0
139 | maximumSupportedHeadTracking: 1
140 | hololens:
141 | depthFormat: 1
142 | depthBufferSharingEnabled: 0
143 | oculus:
144 | sharedDepthBuffer: 0
145 | dashSupport: 0
146 | enable360StereoCapture: 0
147 | protectGraphicsMemory: 0
148 | enableFrameTimingStats: 0
149 | useHDRDisplay: 0
150 | m_ColorGamuts: 00000000
151 | targetPixelDensity: 30
152 | resolutionScalingMode: 0
153 | androidSupportedAspectRatio: 1
154 | androidMaxAspectRatio: 2.1
155 | applicationIdentifier:
156 | Android: pieces.jing.ulitewebview
157 | iOS: pieces.jing.ulitewebviewdemo
158 | buildNumber: {}
159 | AndroidBundleVersionCode: 1
160 | AndroidMinSdkVersion: 17
161 | AndroidTargetSdkVersion: 0
162 | AndroidPreferredInstallLocation: 1
163 | aotOptions:
164 | stripEngineCode: 1
165 | iPhoneStrippingLevel: 0
166 | iPhoneScriptCallOptimization: 0
167 | ForceInternetPermission: 0
168 | ForceSDCardPermission: 0
169 | CreateWallpaper: 0
170 | APKExpansionFiles: 0
171 | keepLoadedShadersAlive: 0
172 | StripUnusedMeshComponents: 0
173 | VertexChannelCompressionMask: 4054
174 | iPhoneSdkVersion: 988
175 | iOSTargetOSVersionString: 9.0
176 | tvOSSdkVersion: 0
177 | tvOSRequireExtendedGameController: 0
178 | tvOSTargetOSVersionString: 9.0
179 | uIPrerenderedIcon: 0
180 | uIRequiresPersistentWiFi: 0
181 | uIRequiresFullScreen: 1
182 | uIStatusBarHidden: 1
183 | uIExitOnSuspend: 0
184 | uIStatusBarStyle: 0
185 | iPhoneSplashScreen: {fileID: 0}
186 | iPhoneHighResSplashScreen: {fileID: 0}
187 | iPhoneTallHighResSplashScreen: {fileID: 0}
188 | iPhone47inSplashScreen: {fileID: 0}
189 | iPhone55inPortraitSplashScreen: {fileID: 0}
190 | iPhone55inLandscapeSplashScreen: {fileID: 0}
191 | iPhone58inPortraitSplashScreen: {fileID: 0}
192 | iPhone58inLandscapeSplashScreen: {fileID: 0}
193 | iPadPortraitSplashScreen: {fileID: 0}
194 | iPadHighResPortraitSplashScreen: {fileID: 0}
195 | iPadLandscapeSplashScreen: {fileID: 0}
196 | iPadHighResLandscapeSplashScreen: {fileID: 0}
197 | appleTVSplashScreen: {fileID: 0}
198 | appleTVSplashScreen2x: {fileID: 0}
199 | tvOSSmallIconLayers: []
200 | tvOSSmallIconLayers2x: []
201 | tvOSLargeIconLayers: []
202 | tvOSLargeIconLayers2x: []
203 | tvOSTopShelfImageLayers: []
204 | tvOSTopShelfImageLayers2x: []
205 | tvOSTopShelfImageWideLayers: []
206 | tvOSTopShelfImageWideLayers2x: []
207 | iOSLaunchScreenType: 0
208 | iOSLaunchScreenPortrait: {fileID: 0}
209 | iOSLaunchScreenLandscape: {fileID: 0}
210 | iOSLaunchScreenBackgroundColor:
211 | serializedVersion: 2
212 | rgba: 0
213 | iOSLaunchScreenFillPct: 100
214 | iOSLaunchScreenSize: 100
215 | iOSLaunchScreenCustomXibPath:
216 | iOSLaunchScreeniPadType: 0
217 | iOSLaunchScreeniPadImage: {fileID: 0}
218 | iOSLaunchScreeniPadBackgroundColor:
219 | serializedVersion: 2
220 | rgba: 0
221 | iOSLaunchScreeniPadFillPct: 100
222 | iOSLaunchScreeniPadSize: 100
223 | iOSLaunchScreeniPadCustomXibPath:
224 | iOSUseLaunchScreenStoryboard: 0
225 | iOSLaunchScreenCustomStoryboardPath:
226 | iOSDeviceRequirements: []
227 | iOSURLSchemes: []
228 | iOSBackgroundModes: 0
229 | iOSMetalForceHardShadows: 0
230 | metalEditorSupport: 1
231 | metalAPIValidation: 1
232 | iOSRenderExtraFrameOnPause: 0
233 | appleDeveloperTeamID:
234 | iOSManualSigningProvisioningProfileID:
235 | tvOSManualSigningProvisioningProfileID:
236 | iOSManualSigningProvisioningProfileType: 0
237 | tvOSManualSigningProvisioningProfileType: 0
238 | appleEnableAutomaticSigning: 0
239 | iOSRequireARKit: 0
240 | iOSAutomaticallyDetectAndAddCapabilities: 1
241 | appleEnableProMotion: 0
242 | clonedFromGUID: 00000000000000000000000000000000
243 | templatePackageId:
244 | templateDefaultScene:
245 | AndroidTargetArchitectures: 1
246 | AndroidSplashScreenScale: 0
247 | androidSplashScreen: {fileID: 0}
248 | AndroidKeystoreName:
249 | AndroidKeyaliasName:
250 | AndroidBuildApkPerCpuArchitecture: 0
251 | AndroidTVCompatibility: 1
252 | AndroidIsGame: 1
253 | AndroidEnableTango: 0
254 | androidEnableBanner: 1
255 | androidUseLowAccuracyLocation: 0
256 | m_AndroidBanners:
257 | - width: 320
258 | height: 180
259 | banner: {fileID: 0}
260 | androidGamepadSupportLevel: 0
261 | resolutionDialogBanner: {fileID: 0}
262 | m_BuildTargetIcons: []
263 | m_BuildTargetPlatformIcons:
264 | - m_BuildTarget: Android
265 | m_Icons:
266 | - m_Textures: []
267 | m_Width: 432
268 | m_Height: 432
269 | m_Kind: 2
270 | m_SubKind:
271 | - m_Textures: []
272 | m_Width: 324
273 | m_Height: 324
274 | m_Kind: 2
275 | m_SubKind:
276 | - m_Textures: []
277 | m_Width: 216
278 | m_Height: 216
279 | m_Kind: 2
280 | m_SubKind:
281 | - m_Textures: []
282 | m_Width: 162
283 | m_Height: 162
284 | m_Kind: 2
285 | m_SubKind:
286 | - m_Textures: []
287 | m_Width: 108
288 | m_Height: 108
289 | m_Kind: 2
290 | m_SubKind:
291 | - m_Textures: []
292 | m_Width: 81
293 | m_Height: 81
294 | m_Kind: 2
295 | m_SubKind:
296 | - m_Textures: []
297 | m_Width: 192
298 | m_Height: 192
299 | m_Kind: 0
300 | m_SubKind:
301 | - m_Textures: []
302 | m_Width: 144
303 | m_Height: 144
304 | m_Kind: 0
305 | m_SubKind:
306 | - m_Textures: []
307 | m_Width: 96
308 | m_Height: 96
309 | m_Kind: 0
310 | m_SubKind:
311 | - m_Textures: []
312 | m_Width: 72
313 | m_Height: 72
314 | m_Kind: 0
315 | m_SubKind:
316 | - m_Textures: []
317 | m_Width: 48
318 | m_Height: 48
319 | m_Kind: 0
320 | m_SubKind:
321 | - m_Textures: []
322 | m_Width: 36
323 | m_Height: 36
324 | m_Kind: 0
325 | m_SubKind:
326 | - m_Textures: []
327 | m_Width: 192
328 | m_Height: 192
329 | m_Kind: 1
330 | m_SubKind:
331 | - m_Textures: []
332 | m_Width: 144
333 | m_Height: 144
334 | m_Kind: 1
335 | m_SubKind:
336 | - m_Textures: []
337 | m_Width: 96
338 | m_Height: 96
339 | m_Kind: 1
340 | m_SubKind:
341 | - m_Textures: []
342 | m_Width: 72
343 | m_Height: 72
344 | m_Kind: 1
345 | m_SubKind:
346 | - m_Textures: []
347 | m_Width: 48
348 | m_Height: 48
349 | m_Kind: 1
350 | m_SubKind:
351 | - m_Textures: []
352 | m_Width: 36
353 | m_Height: 36
354 | m_Kind: 1
355 | m_SubKind:
356 | m_BuildTargetBatching: []
357 | m_BuildTargetGraphicsAPIs: []
358 | m_BuildTargetVRSettings: []
359 | m_BuildTargetEnableVuforiaSettings: []
360 | openGLRequireES31: 0
361 | openGLRequireES31AEP: 0
362 | m_TemplateCustomTags: {}
363 | mobileMTRendering:
364 | Android: 1
365 | iPhone: 1
366 | tvOS: 1
367 | m_BuildTargetGroupLightmapEncodingQuality: []
368 | m_BuildTargetGroupLightmapSettings: []
369 | playModeTestRunnerEnabled: 0
370 | runPlayModeTestAsEditModeTest: 0
371 | actionOnDotNetUnhandledException: 1
372 | enableInternalProfiler: 0
373 | logObjCUncaughtExceptions: 1
374 | enableCrashReportAPI: 0
375 | cameraUsageDescription:
376 | locationUsageDescription:
377 | microphoneUsageDescription:
378 | switchNetLibKey:
379 | switchSocketMemoryPoolSize: 6144
380 | switchSocketAllocatorPoolSize: 128
381 | switchSocketConcurrencyLimit: 14
382 | switchScreenResolutionBehavior: 2
383 | switchUseCPUProfiler: 0
384 | switchApplicationID: 0x01004b9000490000
385 | switchNSODependencies:
386 | switchTitleNames_0:
387 | switchTitleNames_1:
388 | switchTitleNames_2:
389 | switchTitleNames_3:
390 | switchTitleNames_4:
391 | switchTitleNames_5:
392 | switchTitleNames_6:
393 | switchTitleNames_7:
394 | switchTitleNames_8:
395 | switchTitleNames_9:
396 | switchTitleNames_10:
397 | switchTitleNames_11:
398 | switchTitleNames_12:
399 | switchTitleNames_13:
400 | switchTitleNames_14:
401 | switchPublisherNames_0:
402 | switchPublisherNames_1:
403 | switchPublisherNames_2:
404 | switchPublisherNames_3:
405 | switchPublisherNames_4:
406 | switchPublisherNames_5:
407 | switchPublisherNames_6:
408 | switchPublisherNames_7:
409 | switchPublisherNames_8:
410 | switchPublisherNames_9:
411 | switchPublisherNames_10:
412 | switchPublisherNames_11:
413 | switchPublisherNames_12:
414 | switchPublisherNames_13:
415 | switchPublisherNames_14:
416 | switchIcons_0: {fileID: 0}
417 | switchIcons_1: {fileID: 0}
418 | switchIcons_2: {fileID: 0}
419 | switchIcons_3: {fileID: 0}
420 | switchIcons_4: {fileID: 0}
421 | switchIcons_5: {fileID: 0}
422 | switchIcons_6: {fileID: 0}
423 | switchIcons_7: {fileID: 0}
424 | switchIcons_8: {fileID: 0}
425 | switchIcons_9: {fileID: 0}
426 | switchIcons_10: {fileID: 0}
427 | switchIcons_11: {fileID: 0}
428 | switchIcons_12: {fileID: 0}
429 | switchIcons_13: {fileID: 0}
430 | switchIcons_14: {fileID: 0}
431 | switchSmallIcons_0: {fileID: 0}
432 | switchSmallIcons_1: {fileID: 0}
433 | switchSmallIcons_2: {fileID: 0}
434 | switchSmallIcons_3: {fileID: 0}
435 | switchSmallIcons_4: {fileID: 0}
436 | switchSmallIcons_5: {fileID: 0}
437 | switchSmallIcons_6: {fileID: 0}
438 | switchSmallIcons_7: {fileID: 0}
439 | switchSmallIcons_8: {fileID: 0}
440 | switchSmallIcons_9: {fileID: 0}
441 | switchSmallIcons_10: {fileID: 0}
442 | switchSmallIcons_11: {fileID: 0}
443 | switchSmallIcons_12: {fileID: 0}
444 | switchSmallIcons_13: {fileID: 0}
445 | switchSmallIcons_14: {fileID: 0}
446 | switchManualHTML:
447 | switchAccessibleURLs:
448 | switchLegalInformation:
449 | switchMainThreadStackSize: 1048576
450 | switchPresenceGroupId:
451 | switchLogoHandling: 0
452 | switchReleaseVersion: 0
453 | switchDisplayVersion: 1.0.0
454 | switchStartupUserAccount: 0
455 | switchTouchScreenUsage: 0
456 | switchSupportedLanguagesMask: 0
457 | switchLogoType: 0
458 | switchApplicationErrorCodeCategory:
459 | switchUserAccountSaveDataSize: 0
460 | switchUserAccountSaveDataJournalSize: 0
461 | switchApplicationAttribute: 0
462 | switchCardSpecSize: -1
463 | switchCardSpecClock: -1
464 | switchRatingsMask: 0
465 | switchRatingsInt_0: 0
466 | switchRatingsInt_1: 0
467 | switchRatingsInt_2: 0
468 | switchRatingsInt_3: 0
469 | switchRatingsInt_4: 0
470 | switchRatingsInt_5: 0
471 | switchRatingsInt_6: 0
472 | switchRatingsInt_7: 0
473 | switchRatingsInt_8: 0
474 | switchRatingsInt_9: 0
475 | switchRatingsInt_10: 0
476 | switchRatingsInt_11: 0
477 | switchLocalCommunicationIds_0:
478 | switchLocalCommunicationIds_1:
479 | switchLocalCommunicationIds_2:
480 | switchLocalCommunicationIds_3:
481 | switchLocalCommunicationIds_4:
482 | switchLocalCommunicationIds_5:
483 | switchLocalCommunicationIds_6:
484 | switchLocalCommunicationIds_7:
485 | switchParentalControl: 0
486 | switchAllowsScreenshot: 1
487 | switchAllowsVideoCapturing: 1
488 | switchAllowsRuntimeAddOnContentInstall: 0
489 | switchDataLossConfirmation: 0
490 | switchUserAccountLockEnabled: 0
491 | switchSystemResourceMemory: 16777216
492 | switchSupportedNpadStyles: 3
493 | switchNativeFsCacheSize: 32
494 | switchIsHoldTypeHorizontal: 0
495 | switchSupportedNpadCount: 8
496 | switchSocketConfigEnabled: 0
497 | switchTcpInitialSendBufferSize: 32
498 | switchTcpInitialReceiveBufferSize: 64
499 | switchTcpAutoSendBufferSizeMax: 256
500 | switchTcpAutoReceiveBufferSizeMax: 256
501 | switchUdpSendBufferSize: 9
502 | switchUdpReceiveBufferSize: 42
503 | switchSocketBufferEfficiency: 4
504 | switchSocketInitializeEnabled: 1
505 | switchNetworkInterfaceManagerInitializeEnabled: 1
506 | switchPlayerConnectionEnabled: 1
507 | ps4NPAgeRating: 12
508 | ps4NPTitleSecret:
509 | ps4NPTrophyPackPath:
510 | ps4ParentalLevel: 11
511 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
512 | ps4Category: 0
513 | ps4MasterVersion: 01.00
514 | ps4AppVersion: 01.00
515 | ps4AppType: 0
516 | ps4ParamSfxPath:
517 | ps4VideoOutPixelFormat: 0
518 | ps4VideoOutInitialWidth: 1920
519 | ps4VideoOutBaseModeInitialWidth: 1920
520 | ps4VideoOutReprojectionRate: 60
521 | ps4PronunciationXMLPath:
522 | ps4PronunciationSIGPath:
523 | ps4BackgroundImagePath:
524 | ps4StartupImagePath:
525 | ps4StartupImagesFolder:
526 | ps4IconImagesFolder:
527 | ps4SaveDataImagePath:
528 | ps4SdkOverride:
529 | ps4BGMPath:
530 | ps4ShareFilePath:
531 | ps4ShareOverlayImagePath:
532 | ps4PrivacyGuardImagePath:
533 | ps4NPtitleDatPath:
534 | ps4RemotePlayKeyAssignment: -1
535 | ps4RemotePlayKeyMappingDir:
536 | ps4PlayTogetherPlayerCount: 0
537 | ps4EnterButtonAssignment: 2
538 | ps4ApplicationParam1: 0
539 | ps4ApplicationParam2: 0
540 | ps4ApplicationParam3: 0
541 | ps4ApplicationParam4: 0
542 | ps4DownloadDataSize: 0
543 | ps4GarlicHeapSize: 2048
544 | ps4ProGarlicHeapSize: 2560
545 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
546 | ps4pnSessions: 1
547 | ps4pnPresence: 1
548 | ps4pnFriends: 1
549 | ps4pnGameCustomData: 1
550 | playerPrefsSupport: 0
551 | enableApplicationExit: 0
552 | resetTempFolder: 1
553 | restrictedAudioUsageRights: 0
554 | ps4UseResolutionFallback: 0
555 | ps4ReprojectionSupport: 0
556 | ps4UseAudio3dBackend: 0
557 | ps4SocialScreenEnabled: 0
558 | ps4ScriptOptimizationLevel: 2
559 | ps4Audio3dVirtualSpeakerCount: 14
560 | ps4attribCpuUsage: 0
561 | ps4PatchPkgPath:
562 | ps4PatchLatestPkgPath:
563 | ps4PatchChangeinfoPath:
564 | ps4PatchDayOne: 0
565 | ps4attribUserManagement: 0
566 | ps4attribMoveSupport: 0
567 | ps4attrib3DSupport: 0
568 | ps4attribShareSupport: 0
569 | ps4attribExclusiveVR: 0
570 | ps4disableAutoHideSplash: 0
571 | ps4videoRecordingFeaturesUsed: 0
572 | ps4contentSearchFeaturesUsed: 0
573 | ps4attribEyeToEyeDistanceSettingVR: 0
574 | ps4IncludedModules: []
575 | monoEnv:
576 | splashScreenBackgroundSourceLandscape: {fileID: 0}
577 | splashScreenBackgroundSourcePortrait: {fileID: 0}
578 | spritePackerPolicy:
579 | webGLMemorySize: 256
580 | webGLExceptionSupport: 1
581 | webGLNameFilesAsHashes: 0
582 | webGLDataCaching: 1
583 | webGLDebugSymbols: 0
584 | webGLEmscriptenArgs:
585 | webGLModulesDirectory:
586 | webGLTemplate: APPLICATION:Default
587 | webGLAnalyzeBuildSize: 0
588 | webGLUseEmbeddedResources: 0
589 | webGLCompressionFormat: 1
590 | webGLLinkerTarget: 1
591 | webGLThreadsSupport: 0
592 | scriptingDefineSymbols: {}
593 | platformArchitecture:
594 | iOS: 1
595 | scriptingBackend: {}
596 | il2cppCompilerConfiguration: {}
597 | managedStrippingLevel: {}
598 | incrementalIl2cppBuild: {}
599 | allowUnsafeCode: 0
600 | additionalIl2CppArgs:
601 | scriptingRuntimeVersion: 1
602 | apiCompatibilityLevelPerPlatform:
603 | Android: 3
604 | m_RenderingPath: 1
605 | m_MobileRenderingPath: 1
606 | metroPackageName: ULiteWevView
607 | metroPackageVersion:
608 | metroCertificatePath:
609 | metroCertificatePassword:
610 | metroCertificateSubject:
611 | metroCertificateIssuer:
612 | metroCertificateNotAfter: 0000000000000000
613 | metroApplicationDescription: ULiteWevView
614 | wsaImages: {}
615 | metroTileShortName:
616 | metroTileShowName: 0
617 | metroMediumTileShowName: 0
618 | metroLargeTileShowName: 0
619 | metroWideTileShowName: 0
620 | metroSupportStreamingInstall: 0
621 | metroLastRequiredScene: 0
622 | metroDefaultTileSize: 1
623 | metroTileForegroundText: 2
624 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
625 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
626 | a: 1}
627 | metroSplashScreenUseBackgroundColor: 0
628 | platformCapabilities: {}
629 | metroTargetDeviceFamilies: {}
630 | metroFTAName:
631 | metroFTAFileTypes: []
632 | metroProtocolName:
633 | metroCompilationOverrides: 1
634 | XboxOneProductId:
635 | XboxOneUpdateKey:
636 | XboxOneSandboxId:
637 | XboxOneContentId:
638 | XboxOneTitleId:
639 | XboxOneSCId:
640 | XboxOneGameOsOverridePath:
641 | XboxOnePackagingOverridePath:
642 | XboxOneAppManifestOverridePath:
643 | XboxOneVersion: 1.0.0.0
644 | XboxOnePackageEncryption: 0
645 | XboxOnePackageUpdateGranularity: 2
646 | XboxOneDescription:
647 | XboxOneLanguage:
648 | - enus
649 | XboxOneCapability: []
650 | XboxOneGameRating: {}
651 | XboxOneIsContentPackage: 0
652 | XboxOneEnableGPUVariability: 1
653 | XboxOneSockets: {}
654 | XboxOneSplashScreen: {fileID: 0}
655 | XboxOneAllowedProductIds: []
656 | XboxOnePersistentLocalStorageSize: 0
657 | XboxOneXTitleMemory: 8
658 | xboxOneScriptCompiler: 0
659 | XboxOneOverrideIdentityName:
660 | vrEditorSettings:
661 | daydream:
662 | daydreamIconForeground: {fileID: 0}
663 | daydreamIconBackground: {fileID: 0}
664 | cloudServicesEnabled: {}
665 | luminIcon:
666 | m_Name:
667 | m_ModelFolderPath:
668 | m_PortalFolderPath:
669 | luminCert:
670 | m_CertPath:
671 | m_PrivateKeyPath:
672 | luminIsChannelApp: 0
673 | luminVersion:
674 | m_VersionCode: 1
675 | m_VersionName:
676 | facebookSdkVersion: 7.9.4
677 | facebookAppId:
678 | facebookCookies: 1
679 | facebookLogging: 1
680 | facebookStatus: 1
681 | facebookXfbml: 0
682 | facebookFrictionlessRequests: 1
683 | apiCompatibilityLevel: 6
684 | cloudProjectId:
685 | framebufferDepthMemorylessMode: 0
686 | projectName:
687 | organizationId:
688 | cloudEnabled: 0
689 | enableNativePlatformBackendsForNewInputSystem: 0
690 | disableOldInputManagerSupport: 0
691 | legacyClampBlendShapeWeights: 1
692 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.4.0f1
2 |
--------------------------------------------------------------------------------
/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 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 4
41 | resolutionScalingFixedDPIFactor: 1
42 | excludedTargetPlatforms: []
43 | - serializedVersion: 2
44 | name: Low
45 | pixelLightCount: 0
46 | shadows: 0
47 | shadowResolution: 0
48 | shadowProjection: 1
49 | shadowCascades: 1
50 | shadowDistance: 20
51 | shadowNearPlaneOffset: 3
52 | shadowCascade2Split: 0.33333334
53 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
54 | shadowmaskMode: 0
55 | blendWeights: 2
56 | textureQuality: 0
57 | anisotropicTextures: 0
58 | antiAliasing: 0
59 | softParticles: 0
60 | softVegetation: 0
61 | realtimeReflectionProbes: 0
62 | billboardsFaceCameraPosition: 0
63 | vSyncCount: 0
64 | lodBias: 0.4
65 | maximumLODLevel: 0
66 | streamingMipmapsActive: 0
67 | streamingMipmapsAddAllCameras: 1
68 | streamingMipmapsMemoryBudget: 512
69 | streamingMipmapsRenderersPerFrame: 512
70 | streamingMipmapsMaxLevelReduction: 2
71 | streamingMipmapsMaxFileIORequests: 1024
72 | particleRaycastBudget: 16
73 | asyncUploadTimeSlice: 2
74 | asyncUploadBufferSize: 4
75 | resolutionScalingFixedDPIFactor: 1
76 | excludedTargetPlatforms: []
77 | - serializedVersion: 2
78 | name: Medium
79 | pixelLightCount: 1
80 | shadows: 1
81 | shadowResolution: 0
82 | shadowProjection: 1
83 | shadowCascades: 1
84 | shadowDistance: 20
85 | shadowNearPlaneOffset: 3
86 | shadowCascade2Split: 0.33333334
87 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
88 | shadowmaskMode: 0
89 | blendWeights: 2
90 | textureQuality: 0
91 | anisotropicTextures: 1
92 | antiAliasing: 0
93 | softParticles: 0
94 | softVegetation: 0
95 | realtimeReflectionProbes: 0
96 | billboardsFaceCameraPosition: 0
97 | vSyncCount: 1
98 | lodBias: 0.7
99 | maximumLODLevel: 0
100 | streamingMipmapsActive: 0
101 | streamingMipmapsAddAllCameras: 1
102 | streamingMipmapsMemoryBudget: 512
103 | streamingMipmapsRenderersPerFrame: 512
104 | streamingMipmapsMaxLevelReduction: 2
105 | streamingMipmapsMaxFileIORequests: 1024
106 | particleRaycastBudget: 64
107 | asyncUploadTimeSlice: 2
108 | asyncUploadBufferSize: 4
109 | resolutionScalingFixedDPIFactor: 1
110 | excludedTargetPlatforms: []
111 | - serializedVersion: 2
112 | name: High
113 | pixelLightCount: 2
114 | shadows: 2
115 | shadowResolution: 1
116 | shadowProjection: 1
117 | shadowCascades: 2
118 | shadowDistance: 40
119 | shadowNearPlaneOffset: 3
120 | shadowCascade2Split: 0.33333334
121 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
122 | shadowmaskMode: 1
123 | blendWeights: 2
124 | textureQuality: 0
125 | anisotropicTextures: 1
126 | antiAliasing: 0
127 | softParticles: 0
128 | softVegetation: 1
129 | realtimeReflectionProbes: 1
130 | billboardsFaceCameraPosition: 1
131 | vSyncCount: 1
132 | lodBias: 1
133 | maximumLODLevel: 0
134 | streamingMipmapsActive: 0
135 | streamingMipmapsAddAllCameras: 1
136 | streamingMipmapsMemoryBudget: 512
137 | streamingMipmapsRenderersPerFrame: 512
138 | streamingMipmapsMaxLevelReduction: 2
139 | streamingMipmapsMaxFileIORequests: 1024
140 | particleRaycastBudget: 256
141 | asyncUploadTimeSlice: 2
142 | asyncUploadBufferSize: 4
143 | resolutionScalingFixedDPIFactor: 1
144 | excludedTargetPlatforms: []
145 | - serializedVersion: 2
146 | name: Very High
147 | pixelLightCount: 3
148 | shadows: 2
149 | shadowResolution: 2
150 | shadowProjection: 1
151 | shadowCascades: 2
152 | shadowDistance: 70
153 | shadowNearPlaneOffset: 3
154 | shadowCascade2Split: 0.33333334
155 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
156 | shadowmaskMode: 1
157 | blendWeights: 4
158 | textureQuality: 0
159 | anisotropicTextures: 2
160 | antiAliasing: 2
161 | softParticles: 1
162 | softVegetation: 1
163 | realtimeReflectionProbes: 1
164 | billboardsFaceCameraPosition: 1
165 | vSyncCount: 1
166 | lodBias: 1.5
167 | maximumLODLevel: 0
168 | streamingMipmapsActive: 0
169 | streamingMipmapsAddAllCameras: 1
170 | streamingMipmapsMemoryBudget: 512
171 | streamingMipmapsRenderersPerFrame: 512
172 | streamingMipmapsMaxLevelReduction: 2
173 | streamingMipmapsMaxFileIORequests: 1024
174 | particleRaycastBudget: 1024
175 | asyncUploadTimeSlice: 2
176 | asyncUploadBufferSize: 4
177 | resolutionScalingFixedDPIFactor: 1
178 | excludedTargetPlatforms: []
179 | - serializedVersion: 2
180 | name: Ultra
181 | pixelLightCount: 4
182 | shadows: 2
183 | shadowResolution: 2
184 | shadowProjection: 1
185 | shadowCascades: 4
186 | shadowDistance: 150
187 | shadowNearPlaneOffset: 3
188 | shadowCascade2Split: 0.33333334
189 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
190 | shadowmaskMode: 1
191 | blendWeights: 4
192 | textureQuality: 0
193 | anisotropicTextures: 2
194 | antiAliasing: 2
195 | softParticles: 1
196 | softVegetation: 1
197 | realtimeReflectionProbes: 1
198 | billboardsFaceCameraPosition: 1
199 | vSyncCount: 1
200 | lodBias: 2
201 | maximumLODLevel: 0
202 | streamingMipmapsActive: 0
203 | streamingMipmapsAddAllCameras: 1
204 | streamingMipmapsMemoryBudget: 512
205 | streamingMipmapsRenderersPerFrame: 512
206 | streamingMipmapsMaxLevelReduction: 2
207 | streamingMipmapsMaxFileIORequests: 1024
208 | particleRaycastBudget: 4096
209 | asyncUploadTimeSlice: 2
210 | asyncUploadBufferSize: 4
211 | resolutionScalingFixedDPIFactor: 1
212 | excludedTargetPlatforms: []
213 | m_PerPlatformDefaultQuality:
214 | Android: 2
215 | Nintendo 3DS: 5
216 | Nintendo Switch: 5
217 | PS4: 5
218 | PSP2: 2
219 | Standalone: 5
220 | WebGL: 3
221 | Windows Store Apps: 5
222 | XboxOne: 5
223 | iPhone: 2
224 | tvOS: 2
225 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 「ULiteWebView」使用指南
2 |
3 | ## 更新日志
4 |
5 | ### 2020-10-29
6 | - iOS中将UIWebView升级为WKWebView
7 |
8 | ---
9 |
10 | ## 1.简介
11 | ULiteWebView是一个极度轻量化的Unity内嵌WebView插件
12 |
13 | 支持的平台:安卓/苹果
14 |
15 | 功能:
16 | * 网络浏览
17 | * 支持Html5
18 | * 支持Unity与JS自定义接口交互
19 | * 支持URL SCHEME
20 | * 可定制的显示窗体大小
21 |
22 | 特点:
23 | * 接入简单,核心文件仅3个,且无需额外配置
24 | * 轻量化,增加代码量仅20KB左右
25 | * 使用简单,复杂的功能已封装为几个调用简单的API接口
26 |
27 | ## 2.相关地址
28 |
29 | 功能介绍:[https://www.jianshu.com/p/bf2728d7e116](https://www.jianshu.com/p/bf2728d7e116)
30 |
31 | Demo:[https://fir.im/vstq](https://fir.im/vstq)
32 |
33 | ## 3.在项目中使用
34 | ### 接入
35 | 只需要导入下方3个核心文件,插件即可正常使用。
36 |
37 | /Assets/Plugins/Android/ULiteWebView.aar
38 |
39 | /Assets/Plugins/IOS/ULiteWebView.mm
40 |
41 | /Assets/ULiteWevView/ULiteWebView.cs
42 |
43 | ### 使用
44 | >项目代码任意位置通过调用「ULiteWebView.Ins」单例即可使用
45 |
46 | ## 4.API说明
47 |
48 | ### 加载Url时的事件
49 | ```
50 | ///
51 | /// 正在加载Url的事件
52 | ///
53 | public event Action onLoadingUrl;
54 | ```
55 |
56 | ### 显示WebView
57 | ```
58 | ///
59 | /// 显示ULiteWebView关联的WebView
60 | ///
61 | /// WebView距离屏幕上边缘的距离(单位:像素)
62 | /// WebView距离屏幕下边缘的距离(单位:像素)
63 | /// WebView距离屏幕左边缘的距离(单位:像素)
64 | /// WebView距离屏幕右边缘的距离(单位:像素)
65 | public void Show(int top, int bottom, int left, int right)
66 | ```
67 |
68 | ### 加载URL
69 | ```
70 | ///
71 | /// 使用WebView加载指定的URL,访问网页用Http://开头
72 | ///
73 | /// 访问的URL地址
74 | public void LoadUrl(string url)
75 | ```
76 |
77 | ### 加载本地资源
78 | ```
79 | ///
80 | /// 访问StreamingAssets文件夹中存放的资源
81 | ///
82 | /// 相对于StreamingAssets目录的文件路径,以"/"开头
83 | public void LoadLocal(string filePath)
84 | ```
85 |
86 | ### 关闭WebView
87 | ```
88 | ///
89 | /// 关闭ULiteWebView关联的WebView
90 | ///
91 | public void Close()
92 | ```
93 |
94 | ### 调用JS
95 | ```
96 | ///
97 | /// 请求当前WebView页面中对应的JS方法
98 | ///
99 | /// Fun name.
100 | /// Message.
101 | public void CallJS(string funName, string msg)
102 | ```
103 |
104 | ### 注册供JS调用的Unity方法
105 | ```
106 | ///
107 | /// 注册供JS调用的方法
108 | ///
109 | /// 方法名:JS通过该方法名调用对应方法
110 | /// 方法
111 | public void RegistJsInterfaceAction(string interfaceName, Action action)
112 | ```
113 |
114 | ### 注销供JS调用的Unity方法
115 | ```
116 | ///
117 | /// 注销供JS调用的方法
118 | ///
119 | /// 方法名:JS通过该方法名调用对应方法
120 | /// 方法
121 | public void UnregistJsInterfaceAction(string interfaceName, Action action)
122 | ```
123 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------