android support fuctional

This commit is contained in:
Rex Momoh 2019-03-10 23:53:08 +01:00
parent 5ed6c932b6
commit c9230bae89
10 changed files with 273 additions and 218 deletions

View File

@ -6,7 +6,18 @@
</configurations> </configurations>
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="5b770e99-c943-40ae-b47c-98736ca22cbe" name="Default" comment="" /> <list default="true" id="5b770e99-c943-40ae-b47c-98736ca22cbe" name="Default" comment="">
<change afterPath="$PROJECT_DIR$/android/.idea/vcs.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/caches/build_file_checksums.ser" beforeDir="false" afterPath="$PROJECT_DIR$/android/.idea/caches/build_file_checksums.ser" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/caches/gradle_models.ser" beforeDir="false" afterPath="$PROJECT_DIR$/android/.idea/caches/gradle_models.ser" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/android/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/libs/unity-classes.jar" beforeDir="false" afterPath="$PROJECT_DIR$/android/libs/unity-classes.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/example/lib/main.dart" beforeDir="false" afterPath="$PROJECT_DIR$/example/lib/main.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/flutter_unity_widget.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/flutter_unity_widget.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.yaml" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.dart_tool/" /> <ignored path="$PROJECT_DIR$/.dart_tool/" />
<ignored path="$PROJECT_DIR$/.idea/" /> <ignored path="$PROJECT_DIR$/.idea/" />
<ignored path="$PROJECT_DIR$/.pub/" /> <ignored path="$PROJECT_DIR$/.pub/" />
@ -23,39 +34,48 @@
<session id="380208103"> <session id="380208103">
<usages-collector id="statistics.lifecycle.project"> <usages-collector id="statistics.lifecycle.project">
<counts> <counts>
<entry key="project.closed" value="1" /> <entry key="project.closed" value="5" />
<entry key="project.open.time.15" value="1" /> <entry key="project.open.time.15" value="2" />
<entry key="project.open.time.25" value="1" /> <entry key="project.open.time.17" value="2" />
<entry key="project.open.time.25" value="2" />
<entry key="project.open.time.90" value="1" /> <entry key="project.open.time.90" value="1" />
<entry key="project.opened" value="3" /> <entry key="project.opened" value="7" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.extensions.open"> <usages-collector id="statistics.file.extensions.open">
<counts> <counts>
<entry key="gradle" value="2" /> <entry key="dart" value="2" />
<entry key="java" value="11" /> <entry key="gradle" value="4" />
<entry key="java" value="13" />
<entry key="md" value="1" />
<entry key="properties" value="1" /> <entry key="properties" value="1" />
<entry key="yaml" value="3" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.types.open"> <usages-collector id="statistics.file.types.open">
<counts> <counts>
<entry key="Groovy" value="2" /> <entry key="Dart" value="2" />
<entry key="JAVA" value="11" /> <entry key="Groovy" value="4" />
<entry key="JAVA" value="13" />
<entry key="PLAIN_TEXT" value="1" />
<entry key="Properties" value="1" /> <entry key="Properties" value="1" />
<entry key="YAML" value="3" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.extensions.edit"> <usages-collector id="statistics.file.extensions.edit">
<counts> <counts>
<entry key="dart" value="66" /> <entry key="dart" value="264" />
<entry key="gradle" value="7" /> <entry key="gradle" value="133" />
<entry key="java" value="177" /> <entry key="java" value="202" />
<entry key="yaml" value="42" />
</counts> </counts>
</usages-collector> </usages-collector>
<usages-collector id="statistics.file.types.edit"> <usages-collector id="statistics.file.types.edit">
<counts> <counts>
<entry key="Dart" value="66" /> <entry key="Dart" value="264" />
<entry key="Groovy" value="7" /> <entry key="Groovy" value="133" />
<entry key="JAVA" value="177" /> <entry key="JAVA" value="202" />
<entry key="YAML" value="42" />
</counts> </counts>
</usages-collector> </usages-collector>
</session> </session>
@ -65,17 +85,8 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/flutter_unity_widget.dart"> <entry file="file://$PROJECT_DIR$/lib/flutter_unity_widget.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="685"> <state relative-caret-position="174">
<caret line="62" column="5" selection-start-line="62" selection-start-column="5" selection-end-line="62" selection-end-column="5" /> <caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="29" column="33" selection-start-line="29" selection-start-column="33" selection-end-line="29" selection-end-column="33" />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -83,28 +94,21 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityWidgetPlugin.java"> <entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityWidgetPlugin.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75"> <state relative-caret-position="150">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" /> <caret line="14" column="31" selection-start-line="14" selection-start-column="21" selection-end-line="14" selection-end-column="31" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityEventListener.java"> <entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75"> <state relative-caret-position="186">
<caret line="5" selection-start-line="5" selection-end-line="5" /> <caret line="69" column="22" lean-forward="true" selection-start-line="69" selection-start-column="22" selection-end-line="69" selection-end-column="22" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityViewFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="299">
<caret line="21" column="28" selection-start-line="21" selection-start-column="28" selection-end-line="21" selection-end-column="28" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#2239#2240#0" expanded="true" />
<element signature="e#2271#2272#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -113,48 +117,62 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java"> <entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120"> <state relative-caret-position="90">
<caret line="8" column="34" lean-forward="true" selection-start-line="8" selection-start-column="34" selection-end-line="8" selection-end-column="34" /> <caret line="10" column="23" selection-start-line="10" selection-start-column="12" selection-end-line="10" selection-end-column="23" />
<folding> </state>
<element signature="imports" expanded="true" /> </provider>
<element signature="e#356#357#0" expanded="true" /> </entry>
<element signature="e#386#387#0" expanded="true" /> </file>
</folding> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/settings.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="1" selection-start-line="1" selection-end-line="1" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/example/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234">
<caret line="20" column="4" selection-start-line="20" selection-start-column="4" selection-end-line="20" selection-end-column="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java"> <entry file="file://$PROJECT_DIR$/android/build.gradle">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="184"> <state relative-caret-position="344">
<caret line="46" column="41" lean-forward="true" selection-start-line="46" selection-start-column="41" selection-end-line="46" selection-end-column="41" /> <caret line="38" column="97" selection-start-line="38" selection-start-column="97" selection-end-line="38" selection-end-column="97" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/example/test/widget_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="10" column="44" selection-start-line="10" selection-start-column="16" selection-end-line="10" selection-end-column="44" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="e#0#920#0" expanded="true" />
<element signature="e#1340#1341#0" expanded="true" />
<element signature="e#1416#1417#0" expanded="true" />
<element signature="e#1072#1073#0" expanded="true" />
<element signature="e#1103#1104#0" expanded="true" />
<element signature="e#3558#3559#0" expanded="true" />
<element signature="e#3641#3642#0" expanded="true" />
<element signature="e#1858#1859#0" expanded="true" />
<element signature="e#1913#1914#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/build.gradle"> <entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="21" column="35" selection-start-line="21" selection-start-column="35" selection-end-line="21" selection-end-column="35" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/local.properties">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
</file> </file>
@ -171,20 +189,25 @@
<findStrings> <findStrings>
<find>unityView</find> <find>unityView</find>
<find>UnityUtils</find> <find>UnityUtils</find>
<find>getUnityView</find>
</findStrings> </findStrings>
</component> </component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityEventListener.java" /> <option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityEventListener.java" />
<option value="$PROJECT_DIR$/lib/flutter_unity_widget.dart" />
<option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityWidgetPlugin.java" /> <option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityWidgetPlugin.java" />
<option value="$PROJECT_DIR$/android/build.gradle" />
<option value="$PROJECT_DIR$/example/lib/main.dart" />
<option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java" /> <option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java" />
<option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityUtils.java" /> <option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityUtils.java" />
<option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityViewFactory.java" /> <option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityViewFactory.java" />
<option value="$PROJECT_DIR$/example/lib/main.dart" />
<option value="$PROJECT_DIR$/lib/flutter_unity_widget.dart" />
<option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java" /> <option value="$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java" />
<option value="$PROJECT_DIR$/pubspec.yaml" />
<option value="$PROJECT_DIR$/android/build.gradle" />
</list> </list>
</option> </option>
</component> </component>
@ -193,11 +216,28 @@
<option name="width" value="1440" /> <option name="width" value="1440" />
<option name="height" value="849" /> <option name="height" value="849" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectView"> <component name="ProjectView">
<navigator currentView="Scope" currentSubView="Scope 'Project Files'; set:Project Files; class com.intellij.psi.search.scope.ProjectFilesScope" proportions="" version="1"> <navigator currentView="Scope" currentSubView="Scope 'Project Files'; set:Project Files; class com.intellij.psi.search.scope.ProjectFilesScope" proportions="" version="1">
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="PackagesPane">
<subPane>
<expand>
<path>
<item name="flutter_unity_widget" type="58d84e3e:PackageViewProjectNode" />
<item name="flutter_unity_widget_android" type="616d4139:PackageViewModuleNode" />
</path>
<path>
<item name="flutter_unity_widget" type="58d84e3e:PackageViewProjectNode" />
<item name="flutter_unity_widget_android" type="616d4139:PackageViewModuleNode" />
<item name="com.rexraphael.flutterunitywidget" type="1f31426a:PackageElementNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope"> <pane id="Scope">
<subPane subId="Scope 'Project Files'; set:Project Files; class com.intellij.psi.search.scope.ProjectFilesScope"> <subPane subId="Scope 'Project Files'; set:Project Files; class com.intellij.psi.search.scope.ProjectFilesScope">
<expand> <expand>
@ -210,12 +250,6 @@
<item name="" type="442cc68d:ScopeViewTreeModel$RootNode" /> <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
<item name="android" type="9f88c78c:ScopeViewTreeModel$FileNode" /> <item name="android" type="9f88c78c:ScopeViewTreeModel$FileNode" />
</path> </path>
<path>
<item name="flutter_unity_widget" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
<item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
<item name="android" type="9f88c78c:ScopeViewTreeModel$FileNode" />
<item name="libs" type="9f88c78c:ScopeViewTreeModel$FileNode" />
</path>
<path> <path>
<item name="flutter_unity_widget" type="3d21c010:ScopeViewTreeModel$ProjectNode" /> <item name="flutter_unity_widget" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
<item name="" type="442cc68d:ScopeViewTreeModel$RootNode" /> <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
@ -276,6 +310,28 @@
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="AndroidView">
<subPane>
<expand>
<path>
<item name="flutter_unity_widget" type="1abcf292:AndroidViewProjectNode" />
<item name="flutter_unity_widget_android" type="e9137016:NonAndroidModuleNode" />
</path>
<path>
<item name="flutter_unity_widget" type="1abcf292:AndroidViewProjectNode" />
<item name="flutter_unity_widget_android" type="e9137016:NonAndroidModuleNode" />
<item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
</path>
<path>
<item name="flutter_unity_widget" type="1abcf292:AndroidViewProjectNode" />
<item name="flutter_unity_widget_android" type="e9137016:NonAndroidModuleNode" />
<item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
<item name="flutterunitywidget" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
@ -299,44 +355,6 @@
</subPane> </subPane>
<option name="show-excluded-files" value="false" /> <option name="show-excluded-files" value="false" />
</pane> </pane>
<pane id="PackagesPane">
<subPane>
<expand>
<path>
<item name="flutter_unity_widget" type="58d84e3e:PackageViewProjectNode" />
<item name="flutter_unity_widget_android" type="616d4139:PackageViewModuleNode" />
</path>
<path>
<item name="flutter_unity_widget" type="58d84e3e:PackageViewProjectNode" />
<item name="flutter_unity_widget_android" type="616d4139:PackageViewModuleNode" />
<item name="com.rexraphael.flutterunitywidget" type="1f31426a:PackageElementNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="AndroidView">
<subPane>
<expand>
<path>
<item name="flutter_unity_widget" type="1abcf292:AndroidViewProjectNode" />
<item name="flutter_unity_widget_android" type="e9137016:NonAndroidModuleNode" />
</path>
<path>
<item name="flutter_unity_widget" type="1abcf292:AndroidViewProjectNode" />
<item name="flutter_unity_widget_android" type="e9137016:NonAndroidModuleNode" />
<item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
</path>
<path>
<item name="flutter_unity_widget" type="1abcf292:AndroidViewProjectNode" />
<item name="flutter_unity_widget_android" type="e9137016:NonAndroidModuleNode" />
<item name="java" type="f7eae187:NonAndroidSourceTypeNode" />
<item name="flutterunitywidget" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@ -395,7 +413,7 @@
<frame x="0" y="23" width="1440" height="849" extended-state="0" /> <frame x="0" y="23" width="1440" height="849" extended-state="0" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.23390558" /> <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.23390558" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Designer" order="2" /> <window_info id="Designer" order="2" />
<window_info id="Build Variants" order="3" side_tool="true" /> <window_info id="Build Variants" order="3" side_tool="true" />
@ -405,18 +423,19 @@
<window_info id="Capture Tool" order="7" /> <window_info id="Capture Tool" order="7" />
<window_info anchor="bottom" id="Message" order="0" /> <window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" /> <window_info anchor="bottom" id="Find" order="1" />
<window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.32893" /> <window_info anchor="bottom" id="Run" order="2" weight="0.32893" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" /> <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" /> <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="6" /> <window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Terminal" order="7" /> <window_info active="true" anchor="bottom" id="Terminal" order="7" visible="true" weight="0.32893" />
<window_info anchor="bottom" id="Dart Analysis" order="8" weight="0.32893" /> <window_info anchor="bottom" id="Dart Analysis" order="8" weight="0.32893" />
<window_info anchor="bottom" id="Android Profiler" order="9" show_stripe_button="false" /> <window_info anchor="bottom" id="Android Profiler" order="9" show_stripe_button="false" />
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" /> <window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
<window_info anchor="bottom" id="Logcat" order="11" /> <window_info anchor="bottom" id="Logcat" order="11" />
<window_info anchor="bottom" id="Version Control" order="12" show_stripe_button="false" /> <window_info anchor="bottom" id="Version Control" order="12" show_stripe_button="false" />
<window_info anchor="bottom" id="Flutter Performance" order="13" side_tool="true" /> <window_info anchor="bottom" id="Flutter Performance" order="13" side_tool="true" />
<window_info anchor="bottom" id="Messages" order="14" weight="0.32893" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" /> <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
@ -435,68 +454,13 @@
<option name="myLimit" value="2678400000" /> <option name="myLimit" value="2678400000" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/lib/flutter_unity_widget.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="685">
<caret line="62" column="5" selection-start-line="62" selection-start-column="5" selection-end-line="62" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/local.properties"> <entry file="file://$PROJECT_DIR$/android/local.properties">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/build.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="21" column="35" selection-start-line="21" selection-start-column="35" selection-end-line="21" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/example/lib/main.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="29" column="33" selection-start-line="29" selection-start-column="33" selection-end-line="29" selection-end-column="33" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="8" column="34" lean-forward="true" selection-start-line="8" selection-start-column="34" selection-end-line="8" selection-end-column="34" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#356#357#0" expanded="true" />
<element signature="e#386#387#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityWidgetPlugin.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityViewFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="299">
<caret line="21" column="28" selection-start-line="21" selection-start-column="28" selection-end-line="21" selection-end-column="28" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityUtils.java"> <entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityUtils.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="144"> <state relative-caret-position="144">
<caret line="33" column="26" selection-start-line="33" selection-start-column="26" selection-end-line="33" selection-end-column="26" /> <caret line="33" column="26" selection-start-line="33" selection-start-column="26" selection-end-line="33" selection-end-column="26" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#897#898#0" expanded="true" />
<element signature="e#933#934#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -507,23 +471,99 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java"> <entry file="file://$PROJECT_DIR$/example/lib/main.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="184"> <state relative-caret-position="285">
<caret line="46" column="41" lean-forward="true" selection-start-line="46" selection-start-column="41" selection-end-line="46" selection-end-column="41" /> <caret line="19" selection-start-line="19" selection-end-line="19" />
<folding>
<element signature="e#0#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityViewFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
<caret line="21" column="28" selection-start-line="21" selection-start-column="28" selection-end-line="21" selection-end-column="28" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
<element signature="e#1340#1341#0" expanded="true" />
<element signature="e#1416#1417#0" expanded="true" />
<element signature="e#1072#1073#0" expanded="true" />
<element signature="e#1103#1104#0" expanded="true" />
<element signature="e#3558#3559#0" expanded="true" />
<element signature="e#3641#3642#0" expanded="true" />
<element signature="e#1858#1859#0" expanded="true" />
<element signature="e#1913#1914#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityWidgetPlugin.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="14" column="31" selection-start-line="14" selection-start-column="21" selection-end-line="14" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/settings.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="1" selection-start-line="1" selection-end-line="1" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/example/test/widget_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="10" column="44" selection-start-line="10" selection-start-column="16" selection-end-line="10" selection-end-column="44" />
<folding>
<element signature="e#0#920#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/example/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234">
<caret line="20" column="4" selection-start-line="20" selection-start-column="4" selection-end-line="20" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/flutter_unity_widget.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="174">
<caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/FlutterUnityView.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="186">
<caret line="69" column="22" lean-forward="true" selection-start-line="69" selection-start-column="22" selection-end-line="69" selection-end-column="22" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2239#2240#0" expanded="true" />
<element signature="e#2271#2272#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/main/java/com/rexraphael/flutterunitywidget/UnityView.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="10" column="23" selection-start-line="10" selection-start-column="12" selection-end-line="10" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/build.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="344">
<caret line="38" column="97" selection-start-line="38" selection-start-column="97" selection-end-line="38" selection-end-column="97" />
</state>
</provider>
</entry>
</component> </component>
</project> </project>

6
android/.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@ -34,5 +34,8 @@ android {
} }
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':UnityExport')
//Remember to add unity jar from unity export as a module dependency and add the module below
// implementation project(':unity-jar')
} }

Binary file not shown.

View File

@ -12,8 +12,7 @@ import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.platform.PlatformView; import io.flutter.plugin.platform.PlatformView;
@SuppressLint("NewApi") @SuppressLint("NewApi")
public class FlutterUnityView implements PlatformView, MethodChannel.MethodCallHandler, public class FlutterUnityView implements PlatformView, MethodChannel.MethodCallHandler, UnityEventListener {
View.OnAttachStateChangeListener, UnityEventListener {
private final Context context; private final Context context;
UnityView unityView; UnityView unityView;
MethodChannel channel; MethodChannel channel;
@ -24,13 +23,13 @@ public class FlutterUnityView implements PlatformView, MethodChannel.MethodCallH
this.registrar = registrar; this.registrar = registrar;
unityView = getUnityView(registrar); unityView = getUnityView(registrar);
channel = new MethodChannel(registrar.messenger(), "nativeweb_" + id); channel = new MethodChannel(registrar.messenger(), "unity_view");
channel.setMethodCallHandler(this); channel.setMethodCallHandler(this);
} }
@Override @Override
public void onMethodCall(MethodCall methodCall, MethodChannel.Result result) { public void onMethodCall(MethodCall methodCall, final MethodChannel.Result result) {
switch (methodCall.method) { switch (methodCall.method) {
case "createUnity": case "createUnity":
UnityUtils.createPlayer(registrar.activity(), new UnityUtils.CreateCallback() { UnityUtils.createPlayer(registrar.activity(), new UnityUtils.CreateCallback() {
@ -76,12 +75,12 @@ public class FlutterUnityView implements PlatformView, MethodChannel.MethodCallH
private UnityView getUnityView(PluginRegistry.Registrar registrar) { private UnityView getUnityView(PluginRegistry.Registrar registrar) {
final UnityView view = new UnityView(registrar.context()); final UnityView view = new UnityView(registrar.context());
view.addOnAttachStateChangeListener(this); // view.addOnAttachStateChangeListener(this);
if (UnityUtils.getPlayer() != null) { if (UnityUtils.getPlayer() != null) {
view.setUnityPlayer(UnityUtils.getPlayer()); view.setUnityPlayer(UnityUtils.getPlayer());
} else { } else {
UnityUtils.createPlayer((Activity) context, new UnityUtils.CreateCallback() { UnityUtils.createPlayer(registrar.activity(), new UnityUtils.CreateCallback() {
@Override @Override
public void onReady() { public void onReady() {
view.setUnityPlayer(UnityUtils.getPlayer()); view.setUnityPlayer(UnityUtils.getPlayer());
@ -106,17 +105,6 @@ public class FlutterUnityView implements PlatformView, MethodChannel.MethodCallH
} }
} }
@Override
public void onViewAttachedToWindow(View view) {
restoreUnityUserState();
}
@Override
public void onViewDetachedFromWindow(View view) {
}
@Override @Override
public void onMessage(String message) { public void onMessage(String message) {

View File

@ -12,7 +12,6 @@ class MyApp extends StatefulWidget {
} }
class _MyAppState extends State<MyApp> { class _MyAppState extends State<MyApp> {
String _platformVersion = 'Unknown';
@override @override
void initState() { void initState() {
@ -27,7 +26,7 @@ class _MyAppState extends State<MyApp> {
title: const Text('Unity example app'), title: const Text('Unity example app'),
), ),
body: Center( body: Center(
child: Text('Running on'), child: UnityWidget(),
), ),
), ),
); );

View File

@ -4,28 +4,46 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
typedef void FlutterUnityWidgetCreatedCallback(UnityWidgetController controller); typedef void UnityWidgetCreatedCallback(UnityWidgetController controller);
class UnityWidgetController { class UnityWidgetController {
static MethodChannel _channel = static MethodChannel _channel =
const MethodChannel('flutter_unity_widget'); const MethodChannel('unity_view');
UnityWidgetController(); UnityWidgetController();
init(int id) { init(int id) {
_channel = new MethodChannel('nativeweb_$id'); _channel = new MethodChannel('unity_view');
} }
static Future<String> get platformVersion async { Future<bool> isReady() async {
final String version = await _channel.invokeMethod('getPlatformVersion'); final bool isReady = await _channel.invokeMethod('isReady');
return version; return isReady;
}
Future<bool> createUnity() async {
final bool isReady = await _channel.invokeMethod('createUnity');
return isReady;
}
postMessage(String gameObject, methodName, message){
_channel.invokeMethod('postMessage', [gameObject, methodName, message]);
}
pause() async{
await _channel.invokeMethod('pause');
}
resume() async{
await _channel.invokeMethod('resume');
} }
} }
class UnityWidget extends StatefulWidget { class UnityWidget extends StatefulWidget {
UnityWidgetController onUnityViewCreated; UnityWidgetCreatedCallback onUnityViewCreated;
UnityWidget({ UnityWidget({
Key key, Key key,
@ -41,14 +59,14 @@ class _UnityWidgetState extends State<UnityWidget> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
if(defaultTargetPlatform == TargetPlatform.android) { if(defaultTargetPlatform == TargetPlatform.android) {
return AndroidView( return AndroidView(
viewType: 'unityview', viewType: 'unity_view',
onPlatformViewCreated: onPlatformViewCreated, onPlatformViewCreated: onPlatformViewCreated,
creationParamsCodec: const StandardMessageCodec(), creationParamsCodec: const StandardMessageCodec(),
); );
} else if(defaultTargetPlatform == TargetPlatform.iOS) { } else if(defaultTargetPlatform == TargetPlatform.iOS) {
return UiKitView( return UiKitView(
viewType: 'unityview', viewType: 'unity_view',
onPlatformViewCreated: onPlatformViewCreated, onPlatformViewCreated: onPlatformViewCreated,
creationParamsCodec: const StandardMessageCodec(), creationParamsCodec: const StandardMessageCodec(),
); );
@ -61,7 +79,7 @@ class _UnityWidgetState extends State<UnityWidget> {
if (widget.onUnityViewCreated == null) { if (widget.onUnityViewCreated == null) {
return; return;
} }
widget.onUnityViewCreated = new UnityWidgetController().init(id); widget.onUnityViewCreated(new UnityWidgetController().init(id));
} }
} }

View File

@ -1,8 +1,9 @@
name: flutter_unity_widget name: flutter_unity_widget
description: Flutter unity 3D widget for embedding unity in flutter description: Flutter unity 3D widget for embedding unity in flutter
version: 0.0.1 version: 0.1.2
author: authors:
homepage: - Rex Raphael <rex.raphael@outlook.com>
homepage: https://github.com/juicycleff/flutter-unity-view-widget/tree/master
environment: environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0" sdk: ">=2.0.0-dev.68.0 <3.0.0"