refactor: move MainThreadDispatcher to base bootstrapper

This commit is contained in:
alexiscatnip
2022-07-19 00:10:56 +08:00
parent b9e956dceb
commit 2b920022ea
4 changed files with 70 additions and 319 deletions
@@ -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}
+19 -309
View File
@@ -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
+5 -3
View File
@@ -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<References>
//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;
+3 -7
View File
@@ -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();
}