From debee6bb89f6bd28326a65ed5c65a5c36746409f Mon Sep 17 00:00:00 2001 From: Thiago Filipe Soares da Rocha Date: Sat, 18 Feb 2017 15:29:45 -0300 Subject: [PATCH] Finish RunTime Permission --- Assets/Plugins/Android/AndroidManifest.xml | 5 +++-- Assets/Plugins/Android/AndroidPermission.jar | Bin 0 -> 4031 bytes Assets/Plugins/Android/AndroidPermission.jar.meta | 23 +++++++++++++++++++++++ Assets/Plugins/Android/file_paths.xml | 5 ----- Assets/Plugins/Android/file_paths.xml.meta | 8 -------- Assets/Scenes/Main.unity | 817 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------- Assets/Scripts/Export Video/AndroidPermission.cs | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Assets/Scripts/Export Video/AndroidPermission.cs.meta | 12 ++++++++++++ Assets/Scripts/Export Video/AndroidToast.cs | 8 +++++--- Assets/Scripts/Export Video/ExportVideo.cs | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------- Assets/Scripts/Export Video/MediaShareAndroid.cs | 29 ++++++++++++++++------------- Assets/Scripts/UI/ScreenManager.cs | 12 ++++++++++++ 12 files changed, 1062 insertions(+), 167 deletions(-) create mode 100644 Assets/Plugins/Android/AndroidPermission.jar create mode 100644 Assets/Plugins/Android/AndroidPermission.jar.meta delete mode 100644 Assets/Plugins/Android/file_paths.xml delete mode 100644 Assets/Plugins/Android/file_paths.xml.meta create mode 100644 Assets/Scripts/Export Video/AndroidPermission.cs create mode 100644 Assets/Scripts/Export Video/AndroidPermission.cs.meta diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml index 89c3a4c..2e6974e 100644 --- a/Assets/Plugins/Android/AndroidManifest.xml +++ b/Assets/Plugins/Android/AndroidManifest.xml @@ -8,8 +8,7 @@ - - + + + \ No newline at end of file diff --git a/Assets/Plugins/Android/AndroidPermission.jar b/Assets/Plugins/Android/AndroidPermission.jar new file mode 100644 index 0000000..75067fe Binary files /dev/null and b/Assets/Plugins/Android/AndroidPermission.jar differ diff --git a/Assets/Plugins/Android/AndroidPermission.jar.meta b/Assets/Plugins/Android/AndroidPermission.jar.meta new file mode 100644 index 0000000..8622965 --- /dev/null +++ b/Assets/Plugins/Android/AndroidPermission.jar.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: cf879d096d390154ea31f35802494b01 +timeCreated: 1487428138 +licenseType: Free +PluginImporter: + serializedVersion: 1 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + platformData: + Android: + enabled: 1 + settings: {} + Any: + enabled: 0 + settings: {} + Editor: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/file_paths.xml b/Assets/Plugins/Android/file_paths.xml deleted file mode 100644 index 9202b04..0000000 --- a/Assets/Plugins/Android/file_paths.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Assets/Plugins/Android/file_paths.xml.meta b/Assets/Plugins/Android/file_paths.xml.meta deleted file mode 100644 index 6d8385a..0000000 --- a/Assets/Plugins/Android/file_paths.xml.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3efe7884117ce2a42ab53ef3041426fc -timeCreated: 1486638270 -licenseType: Free -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 22bd268..aebc304 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -2972,6 +2972,148 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 459724683} +--- !u!1 &462530645 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 155430, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 462530646} + - 222: {fileID: 462530650} + - 114: {fileID: 462530649} + - 114: {fileID: 462530648} + - 114: {fileID: 462530647} + m_Layer: 5 + m_Name: confirm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &462530646 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22443822, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 462530645} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1488521623} + m_Father: {fileID: 1278391374} + m_RootOrder: 4 + m_AnchorMin: {x: 0.34, y: 0.1} + m_AnchorMax: {x: 0.66, y: 0.36} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &462530647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11468344, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 462530645} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &462530648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11419756, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 462530645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 462530649} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2003336562} + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &462530649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11427914, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 462530645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &462530650 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22290152, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 462530645} --- !u!1 &486636721 GameObject: m_ObjectHideFlags: 0 @@ -3450,53 +3592,53 @@ Animation: m_GameObject: {fileID: 535548070} m_Enabled: 1 serializedVersion: 3 - m_Animation: {fileID: 7400000, guid: d7ed17c702b9a5f429a0d0f911deb512, type: 2} + m_Animation: {fileID: 7400000, guid: 365e5f41595503c48915848d883fabfe, type: 2} m_Animations: - - {fileID: 7400000, guid: c3116900301035d4d9ab965355a7d2da, type: 2} - - {fileID: 7400000, guid: bbc708a006c53b247950ec8d5e9d13ca, type: 2} - - {fileID: 7400000, guid: 41aad2b17985ec44f950327c98de3a61, type: 2} - - {fileID: 7400000, guid: 1bcb5872b8a9bfd4f99715b6b9a30ed1, type: 2} - - {fileID: 7400000, guid: b8cd2882336a803428d076ed421784cc, type: 2} - - {fileID: 7400000, guid: b9bc2da25c0a4bd4abce7e4102cc6840, type: 2} - - {fileID: 7400000, guid: 435cc9d222543014c95bdb031557363c, type: 2} - - {fileID: 7400000, guid: 81d578e216e55a74792ebd7ff24572a6, type: 2} - - {fileID: 7400000, guid: e01ded23bec2edf4e993362444d0c9f3, type: 2} - - {fileID: 7400000, guid: 2b852a34df329ad47ae0de994304272b, type: 2} - - {fileID: 7400000, guid: e261cb657cadf544ab682441cdf6daa2, type: 2} - - {fileID: 7400000, guid: 8171ffb55afebb248ae9dfec89dfa6d3, type: 2} - - {fileID: 7400000, guid: c3ee01c5c4f7fa844b4cbff88640774a, type: 2} - - {fileID: 7400000, guid: c89c2ac5fdcc7134e9fea639bfa0d3ee, type: 2} - - {fileID: 7400000, guid: 827c0be57e23e654693b18e8be4b9aa6, type: 2} - - {fileID: 7400000, guid: 5b096066f65f50543847312c860bdde0, type: 2} - - {fileID: 7400000, guid: ee10f576fd52c224fbb94ef465f0eca9, type: 2} - - {fileID: 7400000, guid: 0b8210c664cb429459b3b143ab958271, type: 2} - - {fileID: 7400000, guid: 1d8184f650080c94f8eb61c051fa3068, type: 2} - - {fileID: 7400000, guid: c5af08f6a6b63b64f97fa60213bae749, type: 2} - - {fileID: 7400000, guid: 76ee87d8ead47e540a41e8f816214a19, type: 2} - - {fileID: 7400000, guid: a2e5047999f55454a95de53a2576f181, type: 2} - - {fileID: 7400000, guid: a2f76c1a91828fb42853b4dbcf0b883d, type: 2} - - {fileID: 7400000, guid: 0966c5eae482c8e4c925ce47e1cc6b50, type: 2} - - {fileID: 7400000, guid: 275f1dfa6460f8c4191e7b93826387c4, type: 2} - - {fileID: 7400000, guid: c08d534bc615ee244a6e357018332fdb, type: 2} - - {fileID: 7400000, guid: 8c7eb97b053e0854987a526faa03b12b, type: 2} - - {fileID: 7400000, guid: 3bd4e3dbcfd03a643a9d714a4b878cd7, type: 2} - - {fileID: 7400000, guid: f077ebeba29221b4592ba5e2cd4a008b, type: 2} - - {fileID: 7400000, guid: b216803c06badb44ebd515779f3bcfbc, type: 2} - - {fileID: 7400000, guid: 99acc6dc112fda943a2dcec036c68d9a, type: 2} - - {fileID: 7400000, guid: a2fdbfdc90f3a2e4aafa769025f30bd8, type: 2} - - {fileID: 7400000, guid: 34a9ee8dd38b0e74dbea96b7b2dffe60, type: 2} - - {fileID: 7400000, guid: 029da2add803b0c44a3b2844b0aabf98, type: 2} - - {fileID: 7400000, guid: 9a27c7adf2e14834fba322b71ec6d32d, type: 2} - - {fileID: 7400000, guid: c3e17dadf693a9e4fac16a26cc85809d, type: 2} - - {fileID: 7400000, guid: 41bb63bd8f199f747997bfc6866e1985, type: 2} - - {fileID: 7400000, guid: 1bccc94e1444f2f43b6500725e036d99, type: 2} - - {fileID: 7400000, guid: 92290e8e121f9aa42a8105896870497c, type: 2} - - {fileID: 7400000, guid: c695109e70aa1eb46a341994fbe77947, type: 2} - - {fileID: 7400000, guid: bc2299fe63314e14397f7ea049cc5813, type: 2} - - {fileID: 7400000, guid: 4b04975fc39e6d1499f44e0de7ad5b51, type: 2} - - {fileID: 7400000, guid: 6cffd5bfbb65bc740b10b09610162a79, type: 2} - - {fileID: 7400000, guid: 07d58fffb535d124d8714c6a4504f95c, type: 2} - - {fileID: 7400000, guid: d7ed17c702b9a5f429a0d0f911deb512, type: 2} + - {fileID: 7400000, guid: f1f36f20657e5244e9c1e21117d9a452, type: 2} + - {fileID: 7400000, guid: 55bec2c04d14e74488ef127ee380a080, type: 2} + - {fileID: 7400000, guid: b368bfe0efa37c04bb9c661058ccedb9, type: 2} + - {fileID: 7400000, guid: 365e5f41595503c48915848d883fabfe, type: 2} + - {fileID: 7400000, guid: fa9ef8a15fe08a143bc89dc00289fc17, type: 2} + - {fileID: 7400000, guid: 939bebf16bb2dba44894c5745c5dc1f8, type: 2} + - {fileID: 7400000, guid: aecdf652be04b444f84644ba7c403960, type: 2} + - {fileID: 7400000, guid: 53ed20623f5573345a4fb057db454b05, type: 2} + - {fileID: 7400000, guid: b0bafda258c57414ebfbc4cf89719795, type: 2} + - {fileID: 7400000, guid: 67caa6e2d05387848a9448b57fffcb0f, type: 2} + - {fileID: 7400000, guid: a79227e28dd60fa4c9812a51ab9d455e, type: 2} + - {fileID: 7400000, guid: 8b1d930398178064795f5d23af67dce4, type: 2} + - {fileID: 7400000, guid: af8192a32a30ab746be40ff1dcb8bc0a, type: 2} + - {fileID: 7400000, guid: e282c734045b47241988e2b9fdf0dc7e, type: 2} + - {fileID: 7400000, guid: 698d03f46785361449a10cc0003862eb, type: 2} + - {fileID: 7400000, guid: e193836512c744c4299651990fc3ca10, type: 2} + - {fileID: 7400000, guid: c4d452a56e2f4ee4a83e5679f969a354, type: 2} + - {fileID: 7400000, guid: 220a675640cc72d4f9c8d364c9a377b4, type: 2} + - {fileID: 7400000, guid: 9a1e34a6954967f4fb3982394bf61eef, type: 2} + - {fileID: 7400000, guid: 039911b68664f7b40b97e2665893a1e5, type: 2} + - {fileID: 7400000, guid: b4a4a507b5b85404f9ca30cf2855b359, type: 2} + - {fileID: 7400000, guid: 3b67cb87e08f4e34badc00f7b49d2591, type: 2} + - {fileID: 7400000, guid: dc854de773a9e3f488c7a1b42d6a460b, type: 2} + - {fileID: 7400000, guid: 21b376087ddd4ec46a1da0c3ba1181d9, type: 2} + - {fileID: 7400000, guid: db84b318b67dbc54fa1fab6d31dfeb6e, type: 2} + - {fileID: 7400000, guid: 47e5da18eda740844ba111cfab49d0eb, type: 2} + - {fileID: 7400000, guid: ba9dc32834cf193429f27449b1d9d701, type: 2} + - {fileID: 7400000, guid: 22f7b3c892f0e5e41b120798d7953026, type: 2} + - {fileID: 7400000, guid: 9396f2d833a082446b36b0cda61ba87c, type: 2} + - {fileID: 7400000, guid: 289449396bffd4045b8657269df378f2, type: 2} + - {fileID: 7400000, guid: 99bb7e6adbe6d5f4984c51d5d5e92045, type: 2} + - {fileID: 7400000, guid: b6faf58a03a0dc24cb9777c70fda828b, type: 2} + - {fileID: 7400000, guid: b2b18bfa970783a4ab32945b1c4bc54b, type: 2} + - {fileID: 7400000, guid: a8b0488b23a43b3499d2b1d8b81f0707, type: 2} + - {fileID: 7400000, guid: ccdf6bab5e56c0447abfc0a8f745b62c, type: 2} + - {fileID: 7400000, guid: 8d2c7cdb67fea144e9660db7edd82239, type: 2} + - {fileID: 7400000, guid: 6191f3fb2e8027b48ac60aa48c11065d, type: 2} + - {fileID: 7400000, guid: dbf77a3c567182846bad50598584109d, type: 2} + - {fileID: 7400000, guid: d2f41e4d1ce31a4458ccdab2cd91faae, type: 2} + - {fileID: 7400000, guid: fc72e7fd88de0b94fb9b050fc1368547, type: 2} + - {fileID: 7400000, guid: 5b7bf0ae891107f4aaa366ba42eac9ee, type: 2} + - {fileID: 7400000, guid: d9c72b1fb167df045ae7ac711d1dee6c, type: 2} + - {fileID: 7400000, guid: d927185f3fb021844834f7086d346e3a, type: 2} + - {fileID: 7400000, guid: e62d77cfc7d0d104b84d8beb5ef72c33, type: 2} + - {fileID: 7400000, guid: 1dd400df2179f94469eb2480a313a8cf, type: 2} m_WrapMode: 0 m_PlayAutomatically: 1 m_AnimatePhysics: 0 @@ -5665,15 +5807,15 @@ RectTransform: m_GameObject: {fileID: 860133481} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 0.9998621, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 581668677} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 1.7} - m_AnchorMax: {x: 0.97, y: 2.2} - m_AnchoredPosition: {x: 16.081665, y: -194.28574} - m_SizeDelta: {x: 16.083801, y: 57.142853} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 41.42856, y: 0} m_Pivot: {x: 1, y: 0} --- !u!114 &860133483 MonoBehaviour: @@ -6069,15 +6211,15 @@ RectTransform: m_GameObject: {fileID: 926124761} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -0} - m_LocalScale: {x: 0.9998621, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_Children: [] m_Father: {fileID: 160532052} m_RootOrder: 0 - m_AnchorMin: {x: 0, y: 1.7} - m_AnchorMax: {x: 0.97, y: 2.2} - m_AnchoredPosition: {x: 16.081665, y: -194.28574} - m_SizeDelta: {x: 16.083801, y: 57.142853} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 41.42856, y: 0} m_Pivot: {x: 1, y: 0} --- !u!114 &926124763 MonoBehaviour: @@ -7333,7 +7475,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1059619783 RectTransform: m_ObjectHideFlags: 0 @@ -7915,6 +8057,76 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1124983616} +--- !u!1 &1149810474 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 198352, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1149810475} + - 222: {fileID: 1149810477} + - 114: {fileID: 1149810476} + m_Layer: 5 + m_Name: line + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1149810475 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22426370, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1149810474} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1278391374} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0.78} + m_AnchorMax: {x: 1, y: 0.78} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1149810476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11463618, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1149810474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.375, g: 0.6527778, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &1149810477 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22250052, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1149810474} --- !u!1 &1152273569 GameObject: m_ObjectHideFlags: 0 @@ -8294,50 +8506,128 @@ CanvasRenderer: type: 2} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1164416485} ---- !u!1 &1173561060 +--- !u!1 &1169914713 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 137576, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabParentObject: {fileID: 106982, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 224: {fileID: 1173561061} + - 224: {fileID: 1169914714} + - 222: {fileID: 1169914716} + - 114: {fileID: 1169914715} m_Layer: 5 - m_Name: LOGO + m_Name: message m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1173561061 +--- !u!224 &1169914714 RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 22427224, guid: 5ccb0ba277304a14b9bb8d4e34161675, + m_PrefabParentObject: {fileID: 22431032, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1173561060} + m_GameObject: {fileID: 1169914713} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1516956731} - - {fileID: 1201374061} - m_Father: {fileID: 263018772} - m_RootOrder: 1 - m_AnchorMin: {x: 0, y: 0.62} - m_AnchorMax: {x: 1, y: 0.98} + m_Children: [] + m_Father: {fileID: 1278391374} + m_RootOrder: 3 + m_AnchorMin: {x: 0.04, y: 0.44} + m_AnchorMax: {x: 0.96, y: 0.74} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1175405160 +--- !u!114 &1169914715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11439960, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169914713} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.35294116, g: 0.35294116, b: 0.35294116, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 6853687dd34f0ea458955b404d43e48e, type: 3} + m_FontSize: 46 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 0 + m_MaxSize: 105 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 0.88 + m_Text: "Para salvar e compartilhar as anima\xE7\xF5es, permita que o Vlibras acesse + m\xEDdia e arquivos de seu aparelho." +--- !u!222 &1169914716 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22292394, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1169914713} +--- !u!1 &1173561060 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 114728, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabParentObject: {fileID: 137576, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} m_PrefabInternal: {fileID: 0} serializedVersion: 4 m_Component: - - 224: {fileID: 1175405161} + - 224: {fileID: 1173561061} + m_Layer: 5 + m_Name: LOGO + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1173561061 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22427224, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1173561060} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1516956731} + - {fileID: 1201374061} + m_Father: {fileID: 263018772} + m_RootOrder: 1 + m_AnchorMin: {x: 0, y: 0.62} + m_AnchorMax: {x: 1, y: 0.98} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1175405160 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114728, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1175405161} - 222: {fileID: 1175405164} - 114: {fileID: 1175405163} - 114: {fileID: 1175405162} @@ -9507,6 +9797,69 @@ CanvasRenderer: type: 2} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1277329010} +--- !u!1 &1278391373 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 124302, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1278391374} + - 222: {fileID: 1278391376} + - 114: {fileID: 1278391375} + m_Layer: 5 + m_Name: container + m_TagString: conn_err + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1278391374 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22424302, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1278391373} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1380805871} + - {fileID: 1149810475} + - {fileID: 1424875929} + - {fileID: 1169914714} + - {fileID: 462530646} + m_Father: {fileID: 2003336563} + m_RootOrder: 0 + m_AnchorMin: {x: 0.03, y: 0.42} + m_AnchorMax: {x: 0.97, y: 0.7} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1278391375 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11466940, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1278391373} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.091} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!222 &1278391376 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22267502, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1278391373} --- !u!1 &1315164543 GameObject: m_ObjectHideFlags: 0 @@ -9831,7 +10184,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 41.42856, y: 0} m_Pivot: {x: 1, y: 0} --- !u!114 &1371075866 MonoBehaviour: @@ -9881,6 +10234,92 @@ CanvasRenderer: type: 2} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1371075864} +--- !u!1 &1380805870 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 112800, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1380805871} + - 222: {fileID: 1380805874} + - 114: {fileID: 1380805873} + - 114: {fileID: 1380805872} + m_Layer: 5 + m_Name: background + m_TagString: conn_err + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1380805871 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22419314, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380805870} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1278391374} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1380805872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11489216, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380805870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -900027084, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.091} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &1380805873 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11475762, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380805870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -98529514, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!222 &1380805874 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22258706, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1380805870} --- !u!1 &1382683268 GameObject: m_ObjectHideFlags: 0 @@ -10503,6 +10942,83 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1417181880} +--- !u!1 &1424875928 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 127762, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1424875929} + - 222: {fileID: 1424875931} + - 114: {fileID: 1424875930} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1424875929 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22420128, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424875928} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 1278391374} + m_RootOrder: 2 + m_AnchorMin: {x: 0, y: 0.8} + m_AnchorMax: {x: 1, y: 0.99} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1424875930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11436304, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424875928} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20000002, g: 0.4666667, b: 0.8000001, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 195abaf1001bde54db32dfcefbcc33e8, type: 3} + m_FontSize: 52 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 52 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "Exportar V\xEDdeo" +--- !u!222 &1424875931 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22268030, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1424875928} --- !u!1 &1431182273 GameObject: m_ObjectHideFlags: 0 @@ -11198,6 +11714,83 @@ RectTransform: m_AnchoredPosition: {x: 3, y: 0} m_SizeDelta: {x: -26, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1488521622 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 101538, guid: 5ccb0ba277304a14b9bb8d4e34161675, type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 1488521623} + - 222: {fileID: 1488521625} + - 114: {fileID: 1488521624} + m_Layer: 5 + m_Name: ok + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1488521623 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22497820, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1488521622} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: [] + m_Father: {fileID: 462530646} + m_RootOrder: 0 + m_AnchorMin: {x: 0, y: 0.12} + m_AnchorMax: {x: 1, y: 0.88} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1488521624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 11468028, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1488521622} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.35294116, g: 0.35294116, b: 0.35294116, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: 195abaf1001bde54db32dfcefbcc33e8, type: 3} + m_FontSize: 46 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 60 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: OK +--- !u!222 &1488521625 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 22294826, guid: 5ccb0ba277304a14b9bb8d4e34161675, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1488521622} --- !u!1 &1494144143 GameObject: m_ObjectHideFlags: 0 @@ -12042,6 +12635,7 @@ RectTransform: - {fileID: 861767965} - {fileID: 1530408465} - {fileID: 848083143} + - {fileID: 2003336563} m_Father: {fileID: 1414104007} m_RootOrder: 2 m_AnchorMin: {x: 0, y: 0} @@ -14496,6 +15090,75 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2002966283} +--- !u!1 &2003336562 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 4 + m_Component: + - 224: {fileID: 2003336563} + - 222: {fileID: 2003336565} + - 114: {fileID: 2003336564} + m_Layer: 5 + m_Name: layer_permission_dialog + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2003336563 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2003336562} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1278391374} + m_Father: {fileID: 1620867682} + m_RootOrder: 6 + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2003336564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2003336562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2003336565 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2003336562} --- !u!1 &2010584309 GameObject: m_ObjectHideFlags: 0 @@ -16137,7 +16800,11 @@ MonoBehaviour: infoButtonImage: {fileID: 2079280005} loadingSnippet: {fileID: 1265043069} connectionErrorDialog: {fileID: 848083142} + connectionErrorTitle: {fileID: 142212436} connectionErrorText: {fileID: 163763091} + permissionDialog: {fileID: 2003336562} + permissionTitle: {fileID: 1424875930} + permissionText: {fileID: 1169914715} pauseMenu: {fileID: 1024302431} repeatLayer: {fileID: 861767964} exportContainer: {fileID: 1530408464} diff --git a/Assets/Scripts/Export Video/AndroidPermission.cs b/Assets/Scripts/Export Video/AndroidPermission.cs new file mode 100644 index 0000000..076fa90 --- /dev/null +++ b/Assets/Scripts/Export Video/AndroidPermission.cs @@ -0,0 +1,122 @@ +/////////////////////////////////////////////////////////// +///////////////// NoodlePermissionGranter ///////////////// +/// Implements runtime granting of Android permissions. /// +/// This is necessary for Android M (6.0) and above. ////// +/////////////////////////////////////////////////////////// +//////////////////// Noodlecake Studios /////////////////// +/////////////////////////////////////////////////////////// + +using UnityEngine; +using System.Collections; +using System; + +public class NoodlePermissionGranter : MonoBehaviour +{ + + // subscribe to this callback to see if your permission was granted. + public static Action PermissionRequestCallback; + public static Action PermittedAction; + + + // for now, it only implements the external storage permission + public enum NoodleAndroidPermission + { + WRITE_EXTERNAL_STORAGE + } + + public static void IsPermitted(NoodleAndroidPermission permission) + { + if (!initialized) + initialize(); + noodlePermissionGranterClass.CallStatic("CheckPermission", activity, (int)permission); + + } + public static void GrantPermission(NoodleAndroidPermission permission) + { + if (!initialized) + initialize(); + + noodlePermissionGranterClass.CallStatic("grantPermission", activity, (int)permission); + + + + } + + ////////////////////////////// + /// Initialization Stuff ///// + ////////////////////////////// + + // it's a singleton, but no one needs to know about it. hush hush. dont touch me. + private static NoodlePermissionGranter instance; + private static bool initialized = false; + + public void Awake() + { + // instance is also set in initialize. + // having it here ensures this thing doesnt break + // if you added this component to the scene manually + instance = this; + DontDestroyOnLoad(this.gameObject); + // object name must match UnitySendMessage call in NoodlePermissionGranter.java + if (name != NOODLE_PERMISSION_GRANTER) + name = NOODLE_PERMISSION_GRANTER; + } + + + private static void initialize() + { + // runs once when you call GrantPermission + + // add object to scene + if (instance == null) + { + GameObject go = new GameObject(); + // instance will also be set in awake, but having it here as well seems extra safe + instance = go.AddComponent(); + // object name must match UnitySendMessage call in NoodlePermissionGranter.java + go.name = NOODLE_PERMISSION_GRANTER; + } + + // get the jni stuff. we need the activty class and the NoodlePermissionGranter class. + noodlePermissionGranterClass = new AndroidJavaClass("com.vlibras.permissionplugin.NoodlePermissionGranter"); + AndroidJavaClass u3d = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + activity = u3d.GetStatic("currentActivity"); + + initialized = true; + } + + + + + + + + /////////////////// + //// JNI Stuff //// + /////////////////// + + static AndroidJavaClass noodlePermissionGranterClass; + static AndroidJavaObject activity; + private const string WRITE_EXTERNAL_STORAGE = "WRITE_EXTERNAL_STORAGE"; + private const string PERMISSION_GRANTED = "PERMISSION_GRANTED"; // must match NoodlePermissionGranter.java + private const string PERMISSION_DENIED = "PERMISSION_DENIED"; // must match NoodlePermissionGranter.java + private const string NOODLE_PERMISSION_GRANTER = "NoodlePermissionGranter"; // must match UnitySendMessage call in NoodlePermissionGranter.java + + private void permissionRequestCallbackInternal(string message) + { + // were calling this method from the java side. + // the method name and gameobject must match NoodlePermissionGranter.java's UnitySendMessage + bool permissionGranted = (message == PERMISSION_GRANTED); + if (PermissionRequestCallback != null) + PermissionRequestCallback(permissionGranted); + } + + private void permittedActionCallBack(string message) + { + bool permissionGranted = (message == PERMISSION_GRANTED); + if (PermittedAction != null) + PermittedAction(permissionGranted); + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Export Video/AndroidPermission.cs.meta b/Assets/Scripts/Export Video/AndroidPermission.cs.meta new file mode 100644 index 0000000..19b2de1 --- /dev/null +++ b/Assets/Scripts/Export Video/AndroidPermission.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a7fa4a3e85ddd024f98f4f9f78540b35 +timeCreated: 1487423780 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Export Video/AndroidToast.cs b/Assets/Scripts/Export Video/AndroidToast.cs index 7c64b81..9c3cd89 100644 --- a/Assets/Scripts/Export Video/AndroidToast.cs +++ b/Assets/Scripts/Export Video/AndroidToast.cs @@ -24,8 +24,9 @@ public class AndroidToast AndroidJavaClass UnityPlayer; AndroidJavaObject context; - public void showToast(string toastString){ - if (Application.platform == RuntimePlatform.Android) + public void showToast(string toastString,string lenght){ +#if UNITY_ANDROID + if (Application.platform == RuntimePlatform.Android) { UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); currentActivity = UnityPlayer.GetStatic("currentActivity"); @@ -33,9 +34,10 @@ public class AndroidToast AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast"); AndroidJavaObject javaString = new AndroidJavaObject("java.lang.String", toastString); - AndroidJavaObject toast = Toast.CallStatic("makeText", context, javaString, Toast.GetStatic("LENGTH_LONG")); //Toast Duration Time + AndroidJavaObject toast = Toast.CallStatic("makeText", context, javaString, Toast.GetStatic("LENGTH_" + lenght)); //Toast Duration Time toast.Call("show"); } } +#endif } diff --git a/Assets/Scripts/Export Video/ExportVideo.cs b/Assets/Scripts/Export Video/ExportVideo.cs index 8df50b5..3c90449 100644 --- a/Assets/Scripts/Export Video/ExportVideo.cs +++ b/Assets/Scripts/Export Video/ExportVideo.cs @@ -27,16 +27,16 @@ using LAViD.Unity.Utils; public class ExportVideo : MonoBehaviour { - + public ScreenManager screenManager; public MediaShareAndroid MediaShareAndroid; private const string SERVER_URL = "http://150.165.205.57/video/"; - + private static string gloss = "Gloss"; - + /* Strings related to the Android Dialog*/ private string title = "Download"; @@ -48,14 +48,16 @@ public class ExportVideo : MonoBehaviour { private int videoSize = 0; private int bytes = 0; - private string videoId = ""; + private string videoId = ""; private byte[] videoContent = null; - /*Coroutine flags */ + /*Coroutine flags */ private bool videoRequestRunning = false; private bool videoDownloadRunning = false; - + + + /*Getting called by PlayerManager, setting the gloss property*/ @@ -63,28 +65,94 @@ public class ExportVideo : MonoBehaviour { { PlayerLogger.Log("ExportVideo", "SetGloss", "Setting current gloss to gloss property from ExportVideo"); gloss = _gloss; + } + + + private void onClickExport() + { + PlayerLogger.Log("ExportVideo", "OnClickExport", "Starting Export..."); + + NoodlePermissionGranter.PermissionRequestCallback = Permitted; + NoodlePermissionGranter.GrantPermission(NoodlePermissionGranter.NoodleAndroidPermission.WRITE_EXTERNAL_STORAGE); + + } - /* Function that hides the export button and - * shows the progress bar while getting video info*/ - public void onClickExport() + /* RunTime Android Permission being asked*/ + private void Permitted(bool PermissionGranted) { + if (PermissionGranted) + { + bool accepted = false; + + string message = "A geração do vídeo pode levar algum tempo."; + if (PlayerPrefs.HasKey("exportDialog")) + { + accepted = PlayerPrefs.GetString("exportDialog").Equals("accepted"); + } + + if (!accepted) + { + MobileNativeDialog nativeDialog; + nativeDialog = new MobileNativeDialog("Exportar", message, "Continuar", "Cancelar"); + nativeDialog.OnComplete = OnExportDialog; + + } + else + { + startExport(); + } + + } + else + { + screenManager.showPermissionDialog("Para salvar e compartilhar as animações, permita que o Vlibras acesse mídia e arquivos de seu aparelho.", "Exportar Vìdeo"); + // new AndroidToast().showToast("Você precisa dá permissão ao aplicativo.", "LONG"); + } + + } + + private void OnExportDialog(MNDialogResult result) + { + if (result == MNDialogResult.YES) + { + PlayerPrefs.SetString("exportDialog", "accepted"); + PlayerPrefs.Save(); + startExport(); + + } + else if (result == MNDialogResult.NO) + { + PlayerLogger.Log("ExportVideo", "OnExportDialog", "Resetting states to default..."); + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); + + } + + + } + + /* Function that hides the export button and + * shows the progress bar while getting video info*/ + public void startExport() + { + new AndroidToast().showToast("Gerando Video...", "SHORT"); + screenManager.changeExportStates(ExportLayers.ExportLayer.Export_Layer, false); - PlayerLogger.Log("ExportVideo", "OnClickExport", "Starting Export..."); - screenManager.changeExportStates(ExportLayers.ExportLayer.Export_Layer,false); screenManager.changeExportStates(ExportLayers.ExportLayer.Progress_Layer, true); StartCoroutine("requestVideoInfo"); PlayerLogger.Log("ExportVideo", "OnClickExport", "Making request to server."); - } + } + + /* Function that gets called by the web request * hiding the progress bar and showing the download * button*/ public void OnFinishGetVideoInfo() { - PlayerLogger.Log("ExportVideo","OnFinishGetVideoInfo","Video is ready to be downloaded."); + PlayerLogger.Log("ExportVideo", "OnFinishGetVideoInfo", "Video is ready to be downloaded."); screenManager.changeExportStates(ExportLayers.ExportLayer.Progress_Layer, false); screenManager.changeExportStates(ExportLayers.ExportLayer.Download_Layer, true); PlayerLogger.Log("ExportVideo", "OnFinishGetVideoInfo", "Hiding progress loading and showing download button"); @@ -93,32 +161,33 @@ public class ExportVideo : MonoBehaviour { /* Function that asks the user whether downlaod or not * the video by presenting a Dialog Box.**/ - + public void onDownloadClick() { - MobileNativeDialog nativeDialog; + MobileNativeDialog nativeDialog; - nativeDialog = new MobileNativeDialog(title, message + ((videoSize/1024f)/1024f).ToString("0.00") + " MB.", yesOp, noOp); - nativeDialog.OnComplete = OnComplete; + nativeDialog = new MobileNativeDialog(title, message + ((videoSize / 1024f) / 1024f).ToString("0.00") + " MB.", yesOp, noOp); + nativeDialog.OnComplete = OnComplete; - } + } /** Delegate function which waits for YES or NO from the MobileDialog * and attach a action to each option**/ public void OnComplete(MNDialogResult result) { - if(result == MNDialogResult.YES) + if (result == MNDialogResult.YES) { + new AndroidToast().showToast("Download iniciado.", "SHORT"); PlayerLogger.Log("ExportVideo", "OnDownloadClick", "Starting Video Download..."); StartCoroutine("videoDownload"); screenManager.changeExportStates(ExportLayers.ExportLayer.Download_Layer, false); screenManager.changeExportStates(ExportLayers.ExportLayer.Progress_Download_Layer, true); - }else if(result == MNDialogResult.NO) + } else if (result == MNDialogResult.NO) { PlayerLogger.Log("ExportVideo", "OnDownloadClick", "Resetting states to default..."); screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); - + } } @@ -139,8 +208,8 @@ public class ExportVideo : MonoBehaviour { { StopCoroutine("requestVideoInfo"); PlayerLogger.Log("ExportVideo", "OnRequestCancel", "User canceled the request, resetting states to default."); - - }else if (videoDownloadRunning) + + } else if (videoDownloadRunning) { StopCoroutine("videoDownload"); PlayerLogger.Log("ExportVideo", "videoDownload", "User canceled the download, resetting states to default."); @@ -157,29 +226,24 @@ public class ExportVideo : MonoBehaviour { public void OnShareVideo() { - - try + if (videoContent != null) { - if (videoContent != null) + Action errorAction = () => { - Action errorAction = () => { screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); - new AndroidToast().showToast("Erro ao compartilhar mídia."); }; - - StartCoroutine(MediaShareAndroid.ShareIntent(errorAction)); - } - else - { - new AndroidToast().showToast("Erro ao compartilhar mídia."); screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); - } + new AndroidToast().showToast("Erro ao compartilhar mídia.", "LONG"); + }; + + StartCoroutine(MediaShareAndroid.ShareIntent(errorAction)); } - catch (Exception e) + + else { - PlayerLogger.Log("ExportVideo", "Share", "Exception thrown: " + e.Message); - // new AndroidToast().showToast(e.Message); - new AndroidToast().showToast("É necessário dá permissão ao aplicativo."); - + new AndroidToast().showToast("Erro ao compartilhar mídia.", "LONG"); + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); } + + } /*Coroutine that makes the video information request*/ @@ -216,7 +280,7 @@ public class ExportVideo : MonoBehaviour { screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); PlayerLogger.Log("ExportVideo", "requestVideoInfo", "(WWW) Unsucessful Answer"); GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE); - + } else if (!videoInfoRequest.responseHeaders["STATUS"].Contains("200")) @@ -224,7 +288,7 @@ public class ExportVideo : MonoBehaviour { screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Unsuccessful answer (" + videoInfoRequest.responseHeaders["STATUS"] + ")."); GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE); - + } else if (String.IsNullOrEmpty(videoInfoRequest.text)) @@ -258,30 +322,32 @@ public class ExportVideo : MonoBehaviour { } } + + /*Coroutine that downloads the video and update the progress download layer*/ private IEnumerator videoDownload() { videoDownloadRunning = true; WWW DownloadVideo = new WWW(SERVER_URL + videoId); - + while (!DownloadVideo.isDone) { screenManager.updateProgressDownloadSprite(DownloadVideo.progress); - + yield return null; } try { - if(DownloadVideo.error != null) + if (DownloadVideo.error != null) { GetConnectionStatusError(ExportLayers.ConnectionStatusError.INTERNET_CONNECTION_FAILURE); ErrorDownloading(); } - else if(DownloadVideo.responseHeaders.Count == 0) + else if (DownloadVideo.responseHeaders.Count == 0) { GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE); ErrorDownloading(); @@ -293,23 +359,23 @@ public class ExportVideo : MonoBehaviour { ErrorDownloading(); } - else if ( DownloadVideo.bytesDownloaded == videoSize) + else if (DownloadVideo.bytesDownloaded == videoSize) { bytes = DownloadVideo.bytesDownloaded; videoContent = DownloadVideo.bytes; - Action callBack = () => { OnDownloadFinished(); new AndroidToast().showToast("Vídeo salvo na Galeria."); }; + Action callBack = () => { OnDownloadFinished(); new AndroidToast().showToast("Vídeo salvo na Galeria.", "SHORT"); }; Action errorWriting = () => { screenManager.changeExportStates(ExportLayers.ExportLayer.All, true); }; videoDownloadRunning = false; - StartCoroutine(MediaShareAndroid.WriteOnAndroid(videoContent, bytes, System.DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss"),callBack,errorWriting)); - + StartCoroutine(MediaShareAndroid.WriteOnAndroid(videoContent, bytes, System.DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss"), callBack, errorWriting)); + } else { GetConnectionStatusError(ExportLayers.ConnectionStatusError.DOWNLOAD_CONNECTION_FAILURE); ErrorDownloading(); } - - + + } finally { @@ -326,14 +392,14 @@ public class ExportVideo : MonoBehaviour { screenManager.changeExportStates(ExportLayers.ExportLayer.OnLockExport, false); screenManager.changeExportStates(ExportLayers.ExportLayer.OnLockShare, false); } - + public IEnumerator WaitForResponse(WWW www, Events.RequestSuccess success, Events.RequestError error) { - yield return Methods.WaitForResponse(www, 60*5f, success, error); - + yield return Methods.WaitForResponse(www, 60 * 5f, success, error); + } - protected IEnumerator WaitForResponse(WWW www) + protected IEnumerator WaitForResponse(WWW www) { yield return WaitForResponse(www, null, null); } @@ -344,19 +410,19 @@ public class ExportVideo : MonoBehaviour { switch (error) { case ExportLayers.ConnectionStatusError.CONNECTION_TIMEOUT_FAILURE: - new AndroidToast().showToast("Erro de conexão. Tente novamente."); + new AndroidToast().showToast("Erro de conexão. Tente novamente.", "LONG"); break; case ExportLayers.ConnectionStatusError.DOWNLOAD_CONNECTION_FAILURE: - new AndroidToast().showToast("Erro ao efetuar download, tente novamente."); + new AndroidToast().showToast("Erro ao efetuar download, tente novamente.", "LONG"); break; case ExportLayers.ConnectionStatusError.INTERNET_CONNECTION_FAILURE: - new AndroidToast().showToast("Não há acesso à internet. Verifique sua conexão"); + new AndroidToast().showToast("Não há acesso à internet. Verifique sua conexão", "LONG"); break; case ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE: - new AndroidToast().showToast("Problema na conexão. Aguarde e tente novamente."); + new AndroidToast().showToast("Problema na conexão. Aguarde e tente novamente.", "LONG"); break; default: - new AndroidToast().showToast("Ocorreu um erro. Estamos trabalhando para solucioná-lo!"); + new AndroidToast().showToast("Ocorreu um erro. Estamos trabalhando para solucioná-lo!", "LONG"); break; } diff --git a/Assets/Scripts/Export Video/MediaShareAndroid.cs b/Assets/Scripts/Export Video/MediaShareAndroid.cs index b536553..8c35680 100644 --- a/Assets/Scripts/Export Video/MediaShareAndroid.cs +++ b/Assets/Scripts/Export Video/MediaShareAndroid.cs @@ -50,6 +50,7 @@ public class MediaShareAndroid : MonoBehaviour public IEnumerator WriteOnAndroid(byte[] videoContent, int bytes,string CurrentTime, Action finishWriting, Action errorWriting) { #if UNITY_ANDROID + FilePath = Filen + CurrentTime + ".mp4"; destination = Path.Combine(AndroidPath, Vlibras); @@ -77,7 +78,7 @@ public class MediaShareAndroid : MonoBehaviour } else { - new AndroidToast().showToast("Erro ao salvar vídeo."); + new AndroidToast().showToast("Erro ao salvar vídeo.","LONG"); errorWriting(); } @@ -87,7 +88,7 @@ public class MediaShareAndroid : MonoBehaviour { PlayerLogger.Log("MediaShareAndroid", "WriteOnAndroid","Message: " + e.Message); PlayerLogger.Log("MediaShareAndroid", "WriteOnAndroid", "Message: " + e.StackTrace); - new AndroidToast().showToast("Você precisa dá permissão ao aplicativo"); + new AndroidToast().showToast("Você precisa dá permissão ao aplicativo","LONG"); errorWriting(); } @@ -103,9 +104,10 @@ public class MediaShareAndroid : MonoBehaviour /* Calling Android Services to refresh the video path, making available to show in gallery*/ private void Refresh(string FilePath) - { - - AndroidJavaClass jcUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + { +#if UNITY_ANDROID + + AndroidJavaClass jcUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject joActivity = jcUnityPlayer.GetStatic("currentActivity"); AndroidJavaObject joContext = joActivity.Call("getApplicationContext"); AndroidJavaClass jcMediaScannerConnection = new AndroidJavaClass("android.media.MediaScannerConnection"); @@ -113,18 +115,18 @@ public class MediaShareAndroid : MonoBehaviour // AndroidJavaObject joExDir = jcEnvironment.CallStatic("getExternalStorageDirectory"); string path = destination; jcMediaScannerConnection.CallStatic("scanFile", joContext, new string[] { path }, new string[] { "video/mp4" },null ); - - + +#endif } /* Calling Android Services to create Share Intent*/ - public IEnumerator ShareIntent(Action errorAction) { - - - if(File.Exists(Path.Combine(destination, FilePath))) + public IEnumerator ShareIntent(Action errorAction) { + +#if UNITY_ANDROID + if (File.Exists(Path.Combine(destination, FilePath))) { // block to open the file and share it ------------START @@ -153,9 +155,10 @@ public class MediaShareAndroid : MonoBehaviour yield break; } - +#endif } + } - + diff --git a/Assets/Scripts/UI/ScreenManager.cs b/Assets/Scripts/UI/ScreenManager.cs index 30d596c..653fb75 100644 --- a/Assets/Scripts/UI/ScreenManager.cs +++ b/Assets/Scripts/UI/ScreenManager.cs @@ -22,7 +22,11 @@ public class ScreenManager : MonoBehaviour { public GameObject loadingSnippet; public GameObject connectionErrorDialog; + public Text connectionErrorTitle; public Text connectionErrorText; + public GameObject permissionDialog; + public Text permissionTitle; + public Text permissionText; public GameObject pauseMenu; public GameObject repeatLayer; public GameObject exportContainer; @@ -266,9 +270,17 @@ public class ScreenManager : MonoBehaviour { this.connectionErrorDialog.SetActive(true); } + public void showPermissionDialog(string permissionMessage, string permissionTitle) + { + this.permissionDialog.SetActive(true); + this.permissionText.text = permissionMessage; + this.permissionTitle.text = permissionTitle; + } + public void showConnectionErrorDialog(PlayerManager.ERROR_STATUS_MESSAGE msg)//int error_code { this.connectionErrorDialog.SetActive(true); + this.connectionErrorTitle.text = "Conexão falhou"; this.connectionErrorText.text = PlayerManager.get_connection_status_message(msg); } -- libgit2 0.21.2