From b344445fe36a765db6064275c75f2b6c5f1d1595 Mon Sep 17 00:00:00 2001 From: alexiscatnip Date: Tue, 19 Jul 2022 00:10:56 +0800 Subject: [PATCH] refactor: move MainThreadDispatcher to base bootstrapper --- .../Raindrop/Bootstrap/BootstrapScene.unity | 43 +++ Assets/Raindrop/Bootstrap/MainScene.unity | 328 +----------------- Assets/Raindrop/Bootstrap/References.cs | 8 +- Assets/Raindrop/Bootstrap/UIBootstrapper.cs | 10 +- 4 files changed, 70 insertions(+), 319 deletions(-) diff --git a/Assets/Raindrop/Bootstrap/BootstrapScene.unity b/Assets/Raindrop/Bootstrap/BootstrapScene.unity index e675073..3a234ea 100644 --- a/Assets/Raindrop/Bootstrap/BootstrapScene.unity +++ b/Assets/Raindrop/Bootstrap/BootstrapScene.unity @@ -167,3 +167,46 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &762138925 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 762138927} + - component: {fileID: 762138926} + m_Layer: 0 + m_Name: MainThreadDispatcher + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &762138926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 762138925} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 166e46cf3e858f546afb5238ba99e9bd, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &762138927 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 762138925} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Raindrop/Bootstrap/MainScene.unity b/Assets/Raindrop/Bootstrap/MainScene.unity index f897eac..9ee9729 100644 --- a/Assets/Raindrop/Bootstrap/MainScene.unity +++ b/Assets/Raindrop/Bootstrap/MainScene.unity @@ -175,7 +175,7 @@ Transform: - {fileID: 1777795271} - {fileID: 1192334716} m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!224 &309942950 stripped RectTransform: @@ -554,49 +554,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: d9f1d0e9f0a4662469d9fcf5842cd416, type: 3} ---- !u!1 &424157930 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 424157932} - - component: {fileID: 424157933} - m_Layer: 0 - m_Name: MainThreadDispatcher - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &424157932 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 424157930} - 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_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &424157933 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 424157930} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 166e46cf3e858f546afb5238ba99e9bd, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &438293268 GameObject: m_ObjectHideFlags: 0 @@ -672,7 +629,7 @@ GameObject: - component: {fileID: 505369350} - component: {fileID: 505369351} m_Layer: 0 - m_Name: GameManager + m_Name: UIManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -690,7 +647,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5dbfabecbcda5bb47b7800f9d748db3b, type: 3} m_Name: m_EditorClassIdentifier: - references: {fileID: 505369349} + uiReferences: {fileID: 505369349} --- !u!4 &505369348 Transform: m_ObjectHideFlags: 0 @@ -1070,7 +1027,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 14 + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &609529405 GameObject: @@ -1101,7 +1058,7 @@ Transform: m_Children: - {fileID: 829731402} m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &655540271 GameObject: @@ -1393,7 +1350,7 @@ Transform: m_Children: - {fileID: 1917910580} m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &882044899 GameObject: @@ -1438,7 +1395,7 @@ Transform: m_Children: - {fileID: 664965076} m_Father: {fileID: 0} - m_RootOrder: 15 + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &925789288 PrefabInstance: @@ -1590,140 +1547,6 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 5860998757229806556, guid: f2b25cb15d7106745aa1742eb73c7c2c, type: 3} m_PrefabInstance: {fileID: 925789288} m_PrefabAsset: {fileID: 0} ---- !u!1 &941435048 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 941435049} - - component: {fileID: 941435051} - - component: {fileID: 941435050} - m_Layer: 5 - m_Name: VersionText - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &941435049 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 941435048} - 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_Children: [] - m_Father: {fileID: 1264899454} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.0014038086, y: -0.00012207031} - m_SizeDelta: {x: -0.0029297, y: -0.00023651} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &941435050 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 941435048} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: RD Optimistic v1 - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &941435051 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 941435048} - m_CullTransparentMesh: 1 --- !u!1 &1000355794 GameObject: m_ObjectHideFlags: 0 @@ -1950,7 +1773,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1114054337 GameObject: @@ -2104,81 +1927,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: cam: {fileID: 1114054342} ---- !u!1 &1114870288 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1114870289} - - component: {fileID: 1114870291} - - component: {fileID: 1114870290} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1114870289 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114870288} - 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_Children: [] - m_Father: {fileID: 1264899454} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.0024414062, y: 0.51898193} - m_SizeDelta: {x: -0.0049972534, y: 1.0400009} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1114870290 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114870288} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.254717, g: 0.24870951, b: 0.24870951, a: 0.3764706} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - 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 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1114870291 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114870288} - m_CullTransparentMesh: 1 --- !u!1 &1118180535 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2203384266570088019, guid: a9a45f55e2cc6aa4e9a075131283f4cb, type: 3} @@ -2548,45 +2296,8 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 13 + m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1264899453 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1264899454} - m_Layer: 5 - m_Name: version - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1264899454 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1264899453} - 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_Children: - - {fileID: 1114870289} - - {fileID: 941435049} - m_Father: {fileID: 2113625385} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 241.77344, y: 24.449219} - m_SizeDelta: {x: 483.5357, y: 48.897095} - m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1311933767 GameObject: m_ObjectHideFlags: 3 @@ -3037,7 +2748,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 11 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1440967997 GameObject: @@ -3070,7 +2781,7 @@ Transform: - {fileID: 1332679523} - {fileID: 371443569} m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1440968000 MonoBehaviour: @@ -3619,7 +3330,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1749659790 GameObject: @@ -3653,7 +3364,7 @@ Transform: - {fileID: 1114054338} - {fileID: 2000198444} m_Father: {fileID: 0} - m_RootOrder: 12 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1749659792 MonoBehaviour: @@ -4749,8 +4460,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1264899454} + m_Children: [] m_Father: {fileID: 505369348} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -6237,7 +5947,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2444801591097554195, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.x - value: 126.14349 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2444801591097554195, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.y @@ -6489,7 +6199,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3149778098593869419, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.x - value: 126.14349 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3149778098593869419, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.y @@ -6513,7 +6223,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3149778099217229096, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.x - value: 126.14349 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3149778099217229096, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.y @@ -6537,7 +6247,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3149778099782218546, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.x - value: 126.14349 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3149778099782218546, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.y @@ -6561,7 +6271,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3149778099957161219, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.x - value: 126.143555 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3149778099957161219, guid: 46a91e58e1291434285c92319834c817, type: 3} propertyPath: m_SizeDelta.y diff --git a/Assets/Raindrop/Bootstrap/References.cs b/Assets/Raindrop/Bootstrap/References.cs index e8877da..8c66fa6 100644 --- a/Assets/Raindrop/Bootstrap/References.cs +++ b/Assets/Raindrop/Bootstrap/References.cs @@ -5,9 +5,11 @@ using UnityEngine; namespace Raindrop.Bootstrap { - //this class is in the main scene, where you can give it references to monobehaviors in order to inject them. - // of course, runtime- created monobehaviors cannot be injected this way, so you will need to find some other way for those. - public class References : Singleton + //this monobehavior works like a control panel - you plug each major UI + //component into each slot. + // of course, monobehaviors created at runtime cannot be plugged-in + // this way, so you will need to find some other way for those. + public class References : MonoBehaviour { [SerializeField] public ModalsManager mm; [SerializeField] public ScreenStackManager sm; diff --git a/Assets/Raindrop/Bootstrap/UIBootstrapper.cs b/Assets/Raindrop/Bootstrap/UIBootstrapper.cs index e53a479..6a4e3fb 100644 --- a/Assets/Raindrop/Bootstrap/UIBootstrapper.cs +++ b/Assets/Raindrop/Bootstrap/UIBootstrapper.cs @@ -4,6 +4,7 @@ using Raindrop.Map.Model; using Raindrop.Netcom; using Raindrop.Services; using UnityEngine; +using UnityEngine.Serialization; namespace Raindrop.Bootstrap { @@ -15,15 +16,10 @@ namespace Raindrop.Bootstrap [SerializeField] public References references; // bootstraps the UI. - // 1. it first bootstraps the base layer of RaindropInstance - // 2. then it find all the canvasmanager and modal managers. - - // has a funny role; in that it will register itself to the UIservice on start/awake. - // this should really be the other way round - that the UIservice - // creates/has dependency on the UIrootGO!!! private void Start() + // 1. finds all the canvasmanager and modal managers. + // 2. registers them to service locator { - //RaindropBootstrapper.Start_Raindrop_CoreDependencies(); // hacky - to ensure that the UI's dependencies are ready. OpenMetaverse.Logger.Log("UI layer of application Started. Logging Started.", OpenMetaverse.Helpers.LogLevel.Info); InitialiseUIVariant(); }