Launcher
This commit is contained in:
ALEXTANG
2023-04-12 17:43:38 +08:00
parent 402a35bfc2
commit 74ae3fb349
27 changed files with 3307 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 40c3cf4ea6f43bb4696d105803677c00
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e82ba9a7ae2fc864f90379ad6b1b8a12
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c6420e20cb89c84409df29e4b9715d9c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,101 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &8750341085829442500
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6219407630702172851}
- component: {fileID: 3884336621553324141}
- component: {fileID: 6532236131487937402}
- component: {fileID: 6072749800057847719}
m_Layer: 0
m_Name: UILoad
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6219407630702172851
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8750341085829442500}
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: []
m_Father: {fileID: 0}
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: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!223 &3884336621553324141
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8750341085829442500}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 1
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &6532236131487937402
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8750341085829442500}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1170, y: 2532}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!114 &6072749800057847719
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8750341085829442500}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d6d710f0749bc734abe3d835ca0e56d9
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 617fd4393fcb12c45941d2a1850d998f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,907 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &148945374222998995
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4652061626151979521}
- component: {fileID: 4022160420422240251}
- component: {fileID: 3123264760710792296}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4652061626151979521
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 148945374222998995}
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: 1633508802563447727}
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, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4022160420422240251
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 148945374222998995}
m_CullTransparentMesh: 0
--- !u!114 &3123264760710792296
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 148945374222998995}
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: 1, g: 1, b: 1, a: 0.039215688}
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!1 &952437499883445590
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2347891492826839465}
- component: {fileID: 3565553526528554398}
- component: {fileID: 1974897531047992226}
- component: {fileID: 2835083178279248017}
m_Layer: 5
m_Name: Scrollbar
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2347891492826839465
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 952437499883445590}
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: 947380016692030854}
m_Father: {fileID: 1633508802563447727}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 106}
m_SizeDelta: {x: -60, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3565553526528554398
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 952437499883445590}
m_CullTransparentMesh: 0
--- !u!114 &1974897531047992226
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 952437499883445590}
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: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, 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
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &2835083178279248017
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 952437499883445590}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 0.9450981, g: 0.6392157, b: 0.25490198, 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4296679187938450242}
m_HandleRect: {fileID: 3254196395727856927}
m_Direction: 0
m_Value: 0
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &3947545286821712907
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1183389821019440696}
- component: {fileID: 5614918906260324741}
- component: {fileID: 8335614385525365205}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1183389821019440696
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3947545286821712907}
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: 4232232858152633415}
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, y: 7}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5614918906260324741
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3947545286821712907}
m_CullTransparentMesh: 0
--- !u!114 &8335614385525365205
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3947545286821712907}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.9339623, g: 0.9339623, b: 0.9339623, 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_FontData:
m_Font: {fileID: 12800000, guid: d1d4ebaff927cbe47b08be83b0fd6180, type: 3}
m_FontSize: 26
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 45
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u6E05\u7A7A\u7F13\u5B58"
--- !u!1 &3963657392457004041
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8666815445422661327}
- component: {fileID: 3177628147056126464}
- component: {fileID: 625621492709539730}
- component: {fileID: 901921533740187707}
m_Layer: 5
m_Name: Label_desc
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8666815445422661327
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963657392457004041}
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: 1633508802563447727}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 585, y: 44}
m_SizeDelta: {x: 1110, y: 88}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3177628147056126464
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963657392457004041}
m_CullTransparentMesh: 0
--- !u!114 &625621492709539730
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963657392457004041}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: d1d4ebaff927cbe47b08be83b0fd6180, type: 3}
m_FontSize: 30
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 55
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u914D\u7F6E\u68C0\u6D4B\u4E2D"
--- !u!114 &901921533740187707
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963657392457004041}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, 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!1 &4459087193914342294
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4232232858152633415}
- component: {fileID: 5178926555052269669}
- component: {fileID: 6498306990646814329}
- component: {fileID: 8386797903619165155}
m_Layer: 5
m_Name: Btn_Clear
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4232232858152633415
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4459087193914342294}
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: 1183389821019440696}
m_Father: {fileID: 1753386200549547019}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -167, y: -76}
m_SizeDelta: {x: 312, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5178926555052269669
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4459087193914342294}
m_CullTransparentMesh: 0
--- !u!114 &6498306990646814329
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4459087193914342294}
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: 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_Sprite: {fileID: 21300000, guid: 2761fc23b4aa7e34187ac5ffbc3fad9b, type: 3}
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!114 &8386797903619165155
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4459087193914342294}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 6498306990646814329}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &4664656392582353123
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1753386200549547019}
- component: {fileID: 2395469539571654547}
m_Layer: 5
m_Name: TopNode
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1753386200549547019
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4664656392582353123}
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: 4232232858152633415}
- {fileID: 3038352660368000718}
- {fileID: 8143980099109665604}
m_Father: {fileID: 1633508802563447727}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -100}
m_SizeDelta: {x: 0, y: 200}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2395469539571654547
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4664656392582353123}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c0a563c3e931db74f94f9991270a2dee, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &7836612998133337201
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 947380016692030854}
m_Layer: 5
m_Name: Sliding Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &947380016692030854
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7836612998133337201}
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: 3254196395727856927}
m_Father: {fileID: 2347891492826839465}
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, y: 0}
m_SizeDelta: {x: -20, y: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &8067205018289099991
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8143980099109665604}
- component: {fileID: 3256589533690080240}
- component: {fileID: 7408920366768410708}
- component: {fileID: 3906250900488968538}
m_Layer: 5
m_Name: Label_resid
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8143980099109665604
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8067205018289099991}
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: 1753386200549547019}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 242, y: -90}
m_SizeDelta: {x: 400, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3256589533690080240
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8067205018289099991}
m_CullTransparentMesh: 0
--- !u!114 &7408920366768410708
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8067205018289099991}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: d1d4ebaff927cbe47b08be83b0fd6180, type: 3}
m_FontSize: 26
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 55
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!114 &3906250900488968538
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8067205018289099991}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, 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!1 &8606204063644072871
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3254196395727856927}
- component: {fileID: 7553620620009672016}
- component: {fileID: 4296679187938450242}
m_Layer: 5
m_Name: Handle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3254196395727856927
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606204063644072871}
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: 947380016692030854}
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: 0, y: 0}
m_SizeDelta: {x: 20, y: 20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7553620620009672016
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606204063644072871}
m_CullTransparentMesh: 0
--- !u!114 &4296679187938450242
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8606204063644072871}
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: 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_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
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &9130266365217219149
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1633508802563447727}
- component: {fileID: 2330214789109181478}
m_Layer: 5
m_Name: UILoadUpdate
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1633508802563447727
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9130266365217219149}
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: 4652061626151979521}
- {fileID: 2347891492826839465}
- {fileID: 8666815445422661327}
- {fileID: 1753386200549547019}
m_Father: {fileID: 0}
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, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2330214789109181478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9130266365217219149}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f0fad7cbc10b815488c9e6ebfeccb210, type: 3}
m_Name:
m_EditorClassIdentifier:
_btn_clear: {fileID: 8386797903619165155}
_obj_progress: {fileID: 2835083178279248017}
_label_desc: {fileID: 625621492709539730}
_label_appid: {fileID: 1355718662626521362}
_label_resid: {fileID: 7408920366768410708}
--- !u!1 &9157096376857424144
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3038352660368000718}
- component: {fileID: 6089926678751886717}
- component: {fileID: 1355718662626521362}
- component: {fileID: 64988348858103615}
m_Layer: 5
m_Name: Label_appid
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3038352660368000718
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9157096376857424144}
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: 1753386200549547019}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 241, y: -50}
m_SizeDelta: {x: 400, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6089926678751886717
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9157096376857424144}
m_CullTransparentMesh: 0
--- !u!114 &1355718662626521362
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9157096376857424144}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: d1d4ebaff927cbe47b08be83b0fd6180, type: 3}
m_FontSize: 26
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 55
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
--- !u!114 &64988348858103615
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9157096376857424144}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, 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

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1c22fd02cc9da1040a2e71ceb8845e86
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6be0b12f26279d943bfb6b992ebdf518
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 89c848bdf9229584fb1e17175d7b8b37
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,182 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using TEngine;
namespace GameMain
{
#pragma warning disable CS0649
public class LoadStyle : MonoBehaviour
{
public Button _btn_ignore;
public Button _btn_update;
public Button _btn_package;
public Text _label_ignore;
public Text _label_update;
public Text _label_package;
private Dictionary<StyleEnum, Dictionary<BtnEnum, StyleItem>> loadConfig;
private const string ConfigPath = "RawBytes/UIStyle/Style.json";
public enum StyleEnum
{
Style_Default = 0,//默认
Style_QuitApp = 1,//退出应用
Style_RestartApp = 2,//重启应用
Style_Retry = 3,//重试
Style_StartUpdate_Notice = 4,//提示更新
Style_DownLoadApk = 5,//下载底包
Style_Clear = 6,//修复客户端
Style_DownZip = 7,//继续下载压缩包
}
public enum BtnEnum
{
BtnOK = 0, //确定按钮
BtnIgnore = 1,//取消按钮
BtnOther = 2, //其他按钮
}
/// <summary>
/// 单个按钮的样式
/// </summary>
private class StyleItem
{
public Alignment Align;//对其方式
public bool Show;//是否隐藏
public string Desc;//按钮描述
}
/// <summary>
/// 对齐方式
/// </summary>
private enum Alignment
{
Left = 0,
Middle = 1,
Right = 2
}
private void Awake()
{
//设置按钮的默认描述
_label_ignore.text = LoadText.Instance.Label_Btn_Ignore;
_label_update.text = LoadText.Instance.Label_Btn_Update;
_label_package.text = LoadText.Instance.Label_Btn_Package;
InitConfig();
}
private void InitConfig()
{
// string url = AssetUtility.Config.GetConfigAsset(ConfigPath);
// if (!String.IsNullOrEmpty(url))
// {
// string finalPath = SetFilePath(url);
// InitConfigDic(finalPath);
// }
}
#region
private string SetFilePath(string path)
{
#if UNITY_ANDROID
if (path.StartsWith(Application.persistentDataPath))
path = $"file://{path}";
#elif UNITY_IOS
if (path.StartsWith(Application.persistentDataPath)||path.StartsWith(Application.streamingAssetsPath))
path = $"file://{path}";
#endif
return path;
}
private void InitConfigDic(string path)
{
UnityWebRequest www = UnityWebRequest.Get(path);
UnityWebRequestAsyncOperation request = www.SendWebRequest();
while (!request.isDone)
{
}
if (!String.IsNullOrEmpty(www.downloadHandler.text))
{
loadConfig = JsonConvert.DeserializeObject<Dictionary<StyleEnum, Dictionary<BtnEnum, StyleItem>>>(www.downloadHandler.text);
}
www.Dispose();
}
#endregion
/// <summary>
/// 设置样式
/// </summary>
/// <param name="type">样式对应的id</param>
public void SetStyle(StyleEnum type)
{
if (type == StyleEnum.Style_Default)
return;
if (loadConfig == null)
{
Log.Error("LoadConfig is null");
return;
}
var style = loadConfig[type];
if (style == null)
{
Log.Error($"LoadConfig, Can not find type:{type},please check it");
return;
}
SetButtonStyle(style);
}
/// <summary>
/// 设置按钮的描述,是否隐藏
/// </summary>
private void SetButtonStyle(Dictionary<BtnEnum, StyleItem> list)
{
foreach (var item in list)
{
switch (item.Key)
{
case BtnEnum.BtnOK:
_label_update.text = item.Value.Desc;
_btn_update.gameObject.SetActive(item.Value.Show);
SetButtonPos(item.Value.Align, _btn_update.transform);
break;
case BtnEnum.BtnIgnore:
_label_ignore.text = item.Value.Desc;
_btn_ignore.gameObject.SetActive(item.Value.Show);
SetButtonPos(item.Value.Align, _btn_ignore.transform);
break;
case BtnEnum.BtnOther:
_label_package.text = item.Value.Desc;
_btn_package.gameObject.SetActive(item.Value.Show);
SetButtonPos(item.Value.Align, _btn_package.transform);
break;
}
}
}
/// <summary>
/// 设置按钮位置
/// </summary>
private void SetButtonPos(Alignment align, Transform item)
{
switch (align)
{
case Alignment.Left:
item.SetSiblingIndex(0);
break;
case Alignment.Middle:
item.SetSiblingIndex(1);
break;
case Alignment.Right:
item.SetSiblingIndex(2);
break;
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c56a1db52fd64134881893a68f6e1371
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,136 @@
using UnityEngine;
namespace GameMain
{
public class TextMode
{
public string Label_Load_Progress = "正在下载资源文件,请耐心等待\n当前下载速度{0}/s 资源文件大小:{1}";
public string Label_Load_FirstUnpack = "首次进入游戏,正在初始化游戏资源...(此过程不消耗网络流量)";
public string Label_Load_Unpacking = "正在更新本地资源版本,请耐心等待...(此过程不消耗网络流量)";
public string Label_Load_Checking = "检测版本文件{0}...";
public string Label_Load_Checked = "最新版本检测完成";
public string Label_Load_Package = "当前使用的版本过低,请下载安装最新版本";
public string Label_Load_Plantform = "当前使用的版本过低,请前往应用商店安装最新版本";
public string Label_Load_Notice = "检测到可选资源更新,推荐完成更新提升游戏体验";
public string Label_Load_Force = "检测到版本更新,取消更新将导致无法进入游戏";
public string Label_Load_Force_WIFI =
"检测到有新的游戏内容需要更新,更新包大小<color=#BA3026>{0}</color>, 取消更新将导致无法进入游戏,您当前已为<color=#BA3026>wifi网络</color>,请开始更新";
public string Label_Load_Force_NO_WIFI =
"检测到有新的游戏内容需要更新,更新包大小<color=#BA3026>{0}</color>, 取消更新将导致无法进入游戏,请开始更新";
public string Label_Load_Error = "更新参数错误{0},请点击确定重新启动游戏";
public string Label_Load_FirstEntrerGame_Error = "首次进入游戏资源异常";
public string Label_Load_UnpackComplete = "正在加载最新资源文件...(此过程不消耗网络流量)";
public string Label_Load_UnPackError = "资源解压失败,请点击确定重新启动游戏";
public string Label_Load_Load_Progress = "正在载入...{0}%";
public string Label_Load_Download_Progress = "正在下载...{0}%";
public string Label_Load_Init = "初始化...";
public string Label_Net_UnReachable = "当前网络不可用,请检查本地网络设置后点击确认进行重试";
public string Label_Net_ReachableViaCarrierDataNetwork = "当前是移动网络,是否继续下载";
public string Label_Net_Error = "网络异常,请重试";
public string Label_Net_Changed = "网络切换,正在尝试重连,{0}次";
public string Label_Data_Empty = "数据异常";
public string Label_Memory_Low = "初始化资源加载失败,请检查本地内存是否充足";
public string Label_Memory_Low_Load = "内存是否充足,无法更新";
public string Label_Memory_UnZip_Low = "内存不足,无法解压";
public string Label_App_id = "APPVer {0}";//"游戏版本号:{0}";
public string Label_Res_id = "ResVer {0}";//"资源版本号:{0}";
public string Label_Clear_Comfirm = "是否清理本地资源?(清理完成后会关闭游戏且重新下载最新资源)";
public string Label_RestartApp = "本次更新需要重启应用,请点击确定重新启动游戏";
public string Label_DownLoadFailed = "网络太慢,是否继续下载";
public string Label_ClearConfig = "清除环境配置,需要重启应用";
public string Label_RegionInfoIllegal = "区服信息为空";
public string Label_RemoteUrlisNull = "热更地址为空";
public string Label_FirstPackageNotFound = "首包资源加载失败";
public string Label_RequestReginInfo = "正在请求区服信息{0}次";
public string Label_RequestTimeOut = "请求区服信息超时,是否重试?";
public string Label_Region_ArgumentError = "参数错误";
public string Label_Region_IndexOutOfRange = "索引越界";
public string Label_Region_NonConfigApplication = "未配置此应用";
public string Label_Region_SystemError = "系统异常";
public string Label_PreventionOfAddiction = "著作人权XX市TEngine有限公司 软著登记号2022SR0000000\n抵制不良游戏拒绝盗版游戏。注意自我保护谨防受骗上当。适度游戏益脑" +
"沉迷游戏伤身。合理安排时间,享受健康生活。";
public string Label_Btn_Update = "确定";
public string Label_Btn_Ignore = "取消";
public string Label_Btn_Package = "更新";
public string Label_Dlc_ConfigVerificateStage = "配置校验中...";
public string Label_Dlc_ConfigLoadingStage = "下载配置中...";
public string Label_Dlc_AssetsLoading = "下载资源中...";
public string Label_Dlc_LoadingFinish = "下载结束";
public string Label_Dlc_Load_Force_WIFI =
"检测到有新的游戏内容需要更新, 取消更新将导致无法进入游戏,您当前已为<color=#BA3026>wifi网络</color>,请开始更新";
public string Label_Dlc_Load_Force_NO_WIFI =
"检测到有新的游戏内容需要更新, 取消更新将导致无法进入游戏,请开始更新";
public string Label_Had_Update = "检测到有版本更新...";
public string Label_RequestVersionIng = "正在向服务器请求版本信息中...";
public string Label_RequestVersionInfo = "正在向服务器请求版本信息{0}次";
}
public class LoadText : TextMode
{
private static LoadText _instance;
public static LoadText Instance
{
get { return _instance ?? (_instance = new LoadText()); }
}
public void InitConfigData(TextAsset asset)
{
if (asset == null)
return;
TextMode loadConfig = JsonUtility.FromJson<TextMode>(asset.text);
if (loadConfig != null)
{
Label_Load_Progress = loadConfig.Label_Load_Progress;
Label_Load_FirstUnpack = loadConfig.Label_Load_FirstUnpack;
Label_Load_Unpacking = loadConfig.Label_Load_Unpacking;
Label_Load_Checking = loadConfig.Label_Load_Checking;
Label_Load_Checked = loadConfig.Label_Load_Checked;
Label_Load_Package = loadConfig.Label_Load_Package;
Label_Load_Plantform = loadConfig.Label_Load_Plantform;
Label_Load_Notice = loadConfig.Label_Load_Notice;
Label_Load_Force = loadConfig.Label_Load_Force;
Label_Load_Force_WIFI = loadConfig.Label_Load_Force_WIFI;
Label_Load_Force_NO_WIFI = loadConfig.Label_Load_Force_NO_WIFI;
Label_Load_Error = loadConfig.Label_Load_Error;
Label_Load_FirstEntrerGame_Error = loadConfig.Label_Load_FirstEntrerGame_Error;
Label_Load_UnpackComplete = loadConfig.Label_Load_UnpackComplete;
Label_Load_UnPackError = loadConfig.Label_Load_UnPackError;
Label_Load_Load_Progress = loadConfig.Label_Load_Load_Progress;
Label_Load_Download_Progress = loadConfig.Label_Load_Download_Progress;
Label_Load_Init = loadConfig.Label_Load_Init;
Label_Net_UnReachable = loadConfig.Label_Net_UnReachable;
Label_Net_Error = loadConfig.Label_Net_Error;
Label_Net_Changed = loadConfig.Label_Net_Changed;
Label_Data_Empty = loadConfig.Label_Data_Empty;
Label_Memory_Low = loadConfig.Label_Memory_Low;
Label_Memory_Low_Load = loadConfig.Label_Memory_Low_Load;
Label_Memory_UnZip_Low = loadConfig.Label_Memory_UnZip_Low;
Label_App_id = loadConfig.Label_App_id;
Label_Res_id = loadConfig.Label_Res_id;
Label_Clear_Comfirm = loadConfig.Label_Clear_Comfirm;
Label_RestartApp = loadConfig.Label_RestartApp;
Label_DownLoadFailed = loadConfig.Label_DownLoadFailed;
Label_ClearConfig = loadConfig.Label_ClearConfig;
Label_PreventionOfAddiction = loadConfig.Label_PreventionOfAddiction;
Label_RegionInfoIllegal = loadConfig.Label_RegionInfoIllegal;
Label_RemoteUrlisNull = loadConfig.Label_RemoteUrlisNull;
Label_FirstPackageNotFound = loadConfig.Label_FirstPackageNotFound;
Label_RequestReginInfo = loadConfig.Label_RequestReginInfo;
Label_Net_ReachableViaCarrierDataNetwork = loadConfig.Label_Net_ReachableViaCarrierDataNetwork;
Label_RequestTimeOut = loadConfig.Label_RequestTimeOut;
Label_Region_ArgumentError = loadConfig.Label_Region_ArgumentError;
Label_Region_IndexOutOfRange = loadConfig.Label_Region_IndexOutOfRange;
Label_Region_NonConfigApplication = loadConfig.Label_Region_NonConfigApplication;
Label_Region_SystemError = loadConfig.Label_Region_SystemError;
Label_Btn_Ignore = loadConfig.Label_Btn_Ignore;
Label_Btn_Package = loadConfig.Label_Btn_Package;
Label_Btn_Update = loadConfig.Label_Btn_Update;
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 26b25172848a83441b2cfadd771152ea
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,26 @@
using System;
namespace GameMain
{
public class LoadUpdateLogic
{
private static LoadUpdateLogic _instance;
public Action<int> DownloadCompleteAction = null;
public Action<float> DownProgressAction = null;
public Action<bool,GameStatus> UnpackedCompleteAction = null;
public Action<float,GameStatus> UnpackedProgressAction = null;
public static LoadUpdateLogic Instance
{
get
{
if (_instance == null)
{
_instance = new LoadUpdateLogic();
}
return _instance;
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4c7fe9e5620ac5d4bae49fbd58746210
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,13 @@
using UnityEngine;
namespace GameMain
{
public class UIBase : MonoBehaviour
{
protected object Param;
public virtual void OnEnter(object param)
{
Param = param;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b150d874e1db306419683d8fb8f50af4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,34 @@
using System.Collections.Generic;
using TEngine;
namespace GameMain
{
public class UIDefine
{
public static readonly string UILoadUpdate = "UILoadUpdate";
public static readonly string UILoadTip = "UILoadTip";
/// <summary>
/// 注册ui
/// </summary>
/// <param name="list"></param>
public static void RegisterUI(Dictionary<string, string> list)
{
if (list == null)
{
Log.Error("[UIManager]list is null");
return;
}
if (!list.ContainsKey(UILoadUpdate))
{
list.Add(UILoadUpdate, $"AssetLoad/{UILoadUpdate}");
}
if (!list.ContainsKey(UILoadTip))
{
list.Add(UILoadTip, $"AssetLoad/{UILoadTip}");
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8b4a6ad67f754024987f55526fa21034
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,146 @@
using System.Collections.Generic;
using UnityEngine;
using TEngine;
namespace GameMain
{
public static class UILoadMgr
{
private static GameObject _uiLoad;
private static Dictionary<string, string> _uiList = new Dictionary<string, string>();
private static readonly Dictionary<string, UIBase> _uiMap = new Dictionary<string, UIBase>();
/// <summary>
/// 初始化根节点
/// </summary>
public static void Initialize()
{
_uiLoad = GameObject.Find("AssetLoad");
if (_uiLoad == null)
{
var obj = Resources.Load($"AssetLoad/UILoad");
if (obj == null)
{
Log.Error("Failed to load UILoad. Please check the resource path");
return;
}
_uiLoad = Object.Instantiate(obj) as GameObject;
if (_uiLoad != null)
{
_uiLoad.name = "AssetLoad";
_uiLoad.transform.SetAsLastSibling();
}
else
{
Log.Error($"AssetLoad object Instantiate Failed");
return;
}
}
RegisterUI();
}
public static void RegisterUI()
{
UIDefine.RegisterUI(_uiList);
}
/// <summary>
/// show ui
/// </summary>
/// <param name="uiInfo">对应的ui</param>
/// <param name="param">参数</param>
public static void Show(string uiInfo,object param = null)
{
if (string.IsNullOrEmpty(uiInfo))
return;
if (!_uiList.ContainsKey(uiInfo))
{
Log.Error($"not define ui:{uiInfo}");
return;
}
GameObject ui = null;
if (!_uiMap.ContainsKey(uiInfo))
{
Object obj = Resources.Load(_uiList[uiInfo]);
if (obj != null)
{
ui = Object.Instantiate(obj) as GameObject;
if (ui != null)
{
ui.transform.SetParent(_uiLoad.transform);
ui.transform.localScale = Vector3.one;
ui.transform.localPosition = Vector3.zero;
RectTransform rect = ui.GetComponent<RectTransform>();
rect.sizeDelta = Vector2.zero;
}
}
UIBase compenent = ui.GetComponent<UIBase>();
if (compenent != null)
{
_uiMap.Add(uiInfo, compenent);
}
}
_uiMap[uiInfo].gameObject.SetActive(true);
if (param != null)
{
UIBase component = _uiMap[uiInfo].GetComponent<UIBase>();
if (component != null)
{
component.OnEnter(param);
}
}
}
/// <summary>
/// 隐藏ui对象
/// </summary>
/// <param name="uiinfo">对应的ui</param>
public static void Hide(string uiinfo)
{
if (string.IsNullOrEmpty(uiinfo))
{
return;
}
if (!_uiMap.ContainsKey(uiinfo))
{
return;
}
_uiMap[uiinfo].gameObject.SetActive(false);
Object.DestroyImmediate(_uiMap[uiinfo].gameObject);
_uiMap.Remove(uiinfo);
}
/// <summary>
/// 获取显示的ui对象
/// </summary>
/// <param name="ui"></param>
/// <returns></returns>
public static UIBase GetActiveUI(string ui)
{
return _uiMap.ContainsKey(ui) ? _uiMap[ui] : null;
}
/// <summary>
/// 隐藏ui管理器
/// </summary>
public static void HideAll()
{
foreach (var item in _uiMap)
{
if (item.Value && item.Value.gameObject)
{
item.Value.gameObject.SetActive(false);
}
}
_uiMap.Clear();
if (_uiLoad != null)
{
Object.Destroy(_uiLoad);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6381a0f5db6b61948a8fcb8176d8019b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,134 @@
using UnityEngine;
using UnityEngine.UI;
using System;
using TEngine;
using TMPro;
namespace GameMain
{
public enum MessageShowType
{
None = 0,
OneButton = 1,
TwoButton = 2,
ThreeButton = 3,
}
public class UILoadTip : UIBase
{
public Button _btn_update;
public Button _btn_ignore;
public Button _btn_package;
public TextMeshProUGUI _label_desc;
public TextMeshProUGUI _label_tittle;
public Action OnOk;
public Action OnCancle;
public MessageShowType Showtype = MessageShowType.None;
void Start()
{
EventTriggerListener.Get(_btn_update.gameObject).OnClick = _OnGameUpdate;
EventTriggerListener.Get(_btn_ignore.gameObject).OnClick = _OnGameIgnor;
EventTriggerListener.Get(_btn_package.gameObject).OnClick = _OnInvoke;
}
public override void OnEnter(object data)
{
_btn_ignore.gameObject.SetActive(false);
_btn_package.gameObject.SetActive(false);
_btn_update.gameObject.SetActive(false);
switch (Showtype)
{
case MessageShowType.OneButton:
_btn_update.gameObject.SetActive(true);
break;
case MessageShowType.TwoButton:
_btn_update.gameObject.SetActive(true);
_btn_ignore.gameObject.SetActive(true);
break;
case MessageShowType.ThreeButton:
_btn_ignore.gameObject.SetActive(true);
_btn_package.gameObject.SetActive(true);
_btn_package.gameObject.SetActive(true);
break;
}
_label_desc.text = data.ToString();
}
private void _OnGameUpdate(GameObject obj)
{
if (OnOk == null)
{
_label_desc.text = "<color=#BA3026>该按钮不应该存在</color>";
}
else
{
OnOk();
_OnClose();
}
}
private void _OnGameIgnor(GameObject obj)
{
if (OnCancle == null)
{
_label_desc.text = "<color=#BA3026>该按钮不应该存在</color>";
}
else
{
OnCancle();
_OnClose();
}
}
private void _OnInvoke(GameObject obj)
{
if (OnOk == null)
{
_label_desc.text = "<color=#BA3026>该按钮不应该存在</color>";
}
else
{
OnOk();
_OnClose();
}
}
private void _OnClose()
{
UILoadMgr.Hide(UIDefine.UILoadTip);
}
/// <summary>
/// 显示提示框,目前最多支持三个按钮
/// </summary>
/// <param name="desc">描述</param>
/// <param name="showtype">类型MessageShowType</param>
/// <param name="style">StyleEnum</param>
/// <param name="onOk">点击事件</param>
/// <param name="onCancel">取消事件</param>
/// <param name="onPackage">更新事件</param>
public static void ShowMessageBox(string desc, MessageShowType showtype = MessageShowType.OneButton,
LoadStyle.StyleEnum style = LoadStyle.StyleEnum.Style_Default,
Action onOk = null,
Action onCancel = null,
Action onPackage = null)
{
UILoadMgr.Show(UIDefine.UILoadTip, desc);
var ui = UILoadMgr.GetActiveUI(UIDefine.UILoadTip) as UILoadTip;
if (ui == null) return;
ui.OnOk = onOk;
ui.OnCancle = onCancel;
ui.Showtype = showtype;
ui.OnEnter(desc);
var loadStyleUI = ui.GetComponent<LoadStyle>();
if (loadStyleUI)
{
loadStyleUI.SetStyle(style);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1d32acf4f4a006a4986b0c39320a1a99
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,138 @@
using UnityEngine;
using UnityEngine.UI;
using TEngine;
namespace GameMain
{
public class UILoadUpdate : UIBase
{
[SerializeField] public Button _btn_clear;
[SerializeField] public Scrollbar _obj_progress;
[SerializeField] public Text _label_desc;
[SerializeField] public Text _label_appid;
[SerializeField] public Text _label_resid;
public virtual void Start()
{
EventTriggerListener.Get(_btn_clear.gameObject).OnClick = OnClear;
_btn_clear.gameObject.SetActive(true);
}
public virtual void OnEnable()
{
LoadUpdateLogic.Instance.DownloadCompleteAction += DownLoad_Complete_Action;
LoadUpdateLogic.Instance.DownProgressAction += DownLoad_Progress_Action;
LoadUpdateLogic.Instance.UnpackedCompleteAction += Unpacked_Complete_Action;
LoadUpdateLogic.Instance.UnpackedProgressAction += Unpacked_Progress_Action;
RefreshVersion();
}
public override void OnEnter(object param)
{
base.OnEnter(param);
_label_desc.text = param.ToString();
RefreshVersion();
}
public virtual void Update()
{
}
private void RefreshVersion()
{
_label_appid.text = string.Format(LoadText.Instance.Label_App_id, Version.GameVersion);
_label_resid.text = string.Format(LoadText.Instance.Label_Res_id, GameModule.Resource.PackageVersion);
}
public virtual void OnContinue(GameObject obj)
{
// LoadMgr.Instance.StartDownLoad();
}
public virtual void OnStop(GameObject obj)
{
// LoadMgr.Instance.StopDownLoad();
}
/// <summary>
/// 清空本地缓存
/// </summary>
/// <param name="obj"></param>
public virtual void OnClear(GameObject obj)
{
OnStop(null);
UILoadTip.ShowMessageBox(LoadText.Instance.Label_Clear_Comfirm, MessageShowType.TwoButton,
LoadStyle.StyleEnum.Style_Clear,
() =>
{
GameModule.Resource.ClearSandbox();
Application.Quit();
}, () => { OnContinue(null); });
}
/// <summary>
/// 下载进度完成
/// </summary>
/// <param name="type"></param>
public virtual void DownLoad_Complete_Action(int type)
{
Log.Info("DownLoad_Complete");
}
/// <summary>
/// 下载进度更新
/// </summary>
/// <param name="progress"></param>
public virtual void DownLoad_Progress_Action(float progress)
{
_obj_progress.gameObject.SetActive(true);
_obj_progress.size = progress;
}
/// <summary>
/// 解压缩完成回调
/// </summary>
/// <param name="type"></param>
/// <param name="status"></param>
public virtual void Unpacked_Complete_Action(bool type, GameStatus status)
{
_obj_progress.gameObject.SetActive(true);
_label_desc.text = LoadText.Instance.Label_Load_UnpackComplete;
if (status == GameStatus.AssetLoad)
{
}
else
{
Log.Error("error type");
}
}
/// <summary>
/// 解压缩进度更新
/// </summary>
/// <param name="progress"></param>
/// <param name="status"></param>
public virtual void Unpacked_Progress_Action(float progress, GameStatus status)
{
_obj_progress.gameObject.SetActive(true);
if (status == GameStatus.First)
{
_label_desc.text = LoadText.Instance.Label_Load_FirstUnpack;
}
else
{
_label_desc.text = LoadText.Instance.Label_Load_Unpacking;
}
_obj_progress.size = progress;
}
public virtual void OnDisable()
{
OnStop(null);
LoadUpdateLogic.Instance.DownloadCompleteAction -= DownLoad_Complete_Action;
LoadUpdateLogic.Instance.DownProgressAction -= DownLoad_Progress_Action;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f0fad7cbc10b815488c9e6ebfeccb210
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: