chore(unity): 固定Unity CLI Loop本地包并移除UnitySkills依赖
This commit is contained in:
@@ -0,0 +1,502 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &22181428640489494
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3582369045929623476}
|
||||
- component: {fileID: 3614889816338958305}
|
||||
- component: {fileID: 2719428274581312071}
|
||||
- component: {fileID: 7892078462694320466}
|
||||
m_Layer: 0
|
||||
m_Name: RecordingGroup
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3582369045929623476
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 22181428640489494}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3621534349862372398}
|
||||
- {fileID: 5117071643518484791}
|
||||
m_Father: {fileID: 6520280533638980191}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 308.3724, y: 37.9532}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!222 &3614889816338958305
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 22181428640489494}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2719428274581312071
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 22181428640489494}
|
||||
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, g: 0, b: 0, a: 0.6}
|
||||
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!114 &7892078462694320466
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 22181428640489494}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 10
|
||||
m_Right: 10
|
||||
m_Top: 4
|
||||
m_Bottom: 4
|
||||
m_ChildAlignment: 4
|
||||
m_Spacing: 6
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!1 &5910659660082971454
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6520280533638980191}
|
||||
- component: {fileID: 1629439249830669379}
|
||||
- component: {fileID: 7672979299455549903}
|
||||
- component: {fileID: 7304014939787943379}
|
||||
m_Layer: 0
|
||||
m_Name: RecordInputOverlay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6520280533638980191
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5910659660082971454}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8858599889832361986}
|
||||
- {fileID: 3582369045929623476}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -10}
|
||||
m_SizeDelta: {x: 400, y: 120}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!225 &1629439249830669379
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5910659660082971454}
|
||||
m_Enabled: 1
|
||||
m_Alpha: 1
|
||||
m_Interactable: 0
|
||||
m_BlocksRaycasts: 0
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!114 &7672979299455549903
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5910659660082971454}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 626f611c789dd4febbff8920eeb25837, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_canvasGroup: {fileID: 1629439249830669379}
|
||||
_countdownGroup: {fileID: 8747864644649913744}
|
||||
_countdownText: {fileID: 5505213563100565343}
|
||||
_recordingGroup: {fileID: 22181428640489494}
|
||||
_recDotText: {fileID: 8821962787790114429}
|
||||
_statusText: {fileID: 681519330149296984}
|
||||
--- !u!114 &7304014939787943379
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5910659660082971454}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 55b9e485125e14c979260f3aa7816f9c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_view: {fileID: 7672979299455549903}
|
||||
--- !u!1 &7302841544564334857
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5117071643518484791}
|
||||
- component: {fileID: 4639771590543201793}
|
||||
- component: {fileID: 681519330149296984}
|
||||
m_Layer: 0
|
||||
m_Name: StatusText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &5117071643518484791
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7302841544564334857}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3582369045929623476}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 152.7, y: -18.25}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &4639771590543201793
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7302841544564334857}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &681519330149296984
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7302841544564334857}
|
||||
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: 0.267, b: 0.267, 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: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 34
|
||||
m_FontStyle: 1
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: REC 00:00
|
||||
--- !u!1 &8311708416284801602
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3621534349862372398}
|
||||
- component: {fileID: 754498044577037662}
|
||||
- component: {fileID: 8821962787790114429}
|
||||
m_Layer: 0
|
||||
m_Name: RecDot
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3621534349862372398
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8311708416284801602}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 3582369045929623476}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -115, y: 3.71}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &754498044577037662
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8311708416284801602}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &8821962787790114429
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8311708416284801602}
|
||||
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: 0.267, b: 0.267, 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: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 43
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 69
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 0.41
|
||||
m_Text: "\u25CF"
|
||||
--- !u!1 &8406836639261979753
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3888244186547671568}
|
||||
- component: {fileID: 1083919491349555004}
|
||||
- component: {fileID: 5505213563100565343}
|
||||
m_Layer: 0
|
||||
m_Name: CountdownText
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3888244186547671568
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8406836639261979753}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8858599889832361986}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0.2}
|
||||
m_SizeDelta: {x: 400, y: 70}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1083919491349555004
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8406836639261979753}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5505213563100565343
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8406836639261979753}
|
||||
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: 0.267, b: 0.267, 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: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 48
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 48
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: REC in 3...
|
||||
--- !u!1 &8747864644649913744
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8858599889832361986}
|
||||
- component: {fileID: 8837628031120365172}
|
||||
- component: {fileID: 2701087203241486620}
|
||||
m_Layer: 0
|
||||
m_Name: CountdownGroup
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8858599889832361986
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8747864644649913744}
|
||||
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_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3888244186547671568}
|
||||
m_Father: {fileID: 6520280533638980191}
|
||||
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: -25.460205}
|
||||
m_SizeDelta: {x: 0, y: -50.9205}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8837628031120365172
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8747864644649913744}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2701087203241486620
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8747864644649913744}
|
||||
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, g: 0, b: 0, a: 0.6}
|
||||
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
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 62ec688be40ba465a8653a8437b9a739
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,91 @@
|
||||
#if UNITY_EDITOR
|
||||
using System.Globalization;
|
||||
using UnityEngine;
|
||||
|
||||
namespace io.github.hatayama.uLoopMCP
|
||||
{
|
||||
public class RecordInputOverlayPresenter : MonoBehaviour
|
||||
{
|
||||
private const float FADE_OUT_DURATION = 0.5f;
|
||||
private const float DOT_BLINK_SPEED = 2f;
|
||||
|
||||
[SerializeField] private RecordInputOverlayView _view;
|
||||
|
||||
private bool _wasActive;
|
||||
private float _deactivatedTime;
|
||||
private int _lastMinutes = -1;
|
||||
private int _lastSecs = -1;
|
||||
private string _cachedStatusText = "";
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Debug.Assert(_view != null, "_view must be assigned in prefab");
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
RecordInputOverlayPhase phase = RecordInputOverlayState.Phase;
|
||||
|
||||
if (phase != RecordInputOverlayPhase.None)
|
||||
{
|
||||
_wasActive = true;
|
||||
_deactivatedTime = 0f;
|
||||
|
||||
switch (phase)
|
||||
{
|
||||
case RecordInputOverlayPhase.Countdown:
|
||||
int remaining = Mathf.CeilToInt(RecordInputOverlayState.RemainingSeconds);
|
||||
_view.ShowCountdown(remaining);
|
||||
break;
|
||||
|
||||
case RecordInputOverlayPhase.Recording:
|
||||
string statusText = FormatStatusText(RecordInputOverlayState.ElapsedSeconds);
|
||||
float dotAlpha = Mathf.PingPong(Time.realtimeSinceStartup * DOT_BLINK_SPEED, 1f);
|
||||
_view.ShowRecording(statusText, dotAlpha);
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_wasActive)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_deactivatedTime <= 0f)
|
||||
{
|
||||
_deactivatedTime = Time.realtimeSinceStartup;
|
||||
_view.ShowStopped();
|
||||
return;
|
||||
}
|
||||
|
||||
float fadingElapsed = Time.realtimeSinceStartup - _deactivatedTime;
|
||||
if (fadingElapsed > FADE_OUT_DURATION)
|
||||
{
|
||||
_view.Hide();
|
||||
_wasActive = false;
|
||||
_deactivatedTime = 0f;
|
||||
return;
|
||||
}
|
||||
|
||||
float alpha = 1f - (fadingElapsed / FADE_OUT_DURATION);
|
||||
_view.SetAlpha(alpha);
|
||||
}
|
||||
|
||||
private string FormatStatusText(float seconds)
|
||||
{
|
||||
int minutes = (int)(seconds / 60f);
|
||||
int secs = (int)(seconds % 60f);
|
||||
if (minutes == _lastMinutes && secs == _lastSecs)
|
||||
{
|
||||
return _cachedStatusText;
|
||||
}
|
||||
_lastMinutes = minutes;
|
||||
_lastSecs = secs;
|
||||
_cachedStatusText = string.Format(CultureInfo.InvariantCulture, "REC {0:D2}:{1:D2}", minutes, secs);
|
||||
return _cachedStatusText;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 55b9e485125e14c979260f3aa7816f9c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,64 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace io.github.hatayama.uLoopMCP
|
||||
{
|
||||
public enum RecordInputOverlayPhase
|
||||
{
|
||||
None,
|
||||
Countdown,
|
||||
Recording
|
||||
}
|
||||
|
||||
public static class RecordInputOverlayState
|
||||
{
|
||||
private static RecordInputOverlayPhase _phase;
|
||||
private static float _countdownEndTime;
|
||||
private static float _recordingStartTime;
|
||||
|
||||
public static RecordInputOverlayPhase Phase => _phase;
|
||||
|
||||
public static float RemainingSeconds
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_phase != RecordInputOverlayPhase.Countdown)
|
||||
{
|
||||
return 0f;
|
||||
}
|
||||
float remaining = _countdownEndTime - Time.realtimeSinceStartup;
|
||||
return remaining > 0f ? remaining : 0f;
|
||||
}
|
||||
}
|
||||
|
||||
public static float ElapsedSeconds
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_phase != RecordInputOverlayPhase.Recording)
|
||||
{
|
||||
return 0f;
|
||||
}
|
||||
return Time.realtimeSinceStartup - _recordingStartTime;
|
||||
}
|
||||
}
|
||||
|
||||
public static void StartCountdown(float durationSeconds)
|
||||
{
|
||||
_phase = RecordInputOverlayPhase.Countdown;
|
||||
_countdownEndTime = Time.realtimeSinceStartup + durationSeconds;
|
||||
}
|
||||
|
||||
public static void StartRecording()
|
||||
{
|
||||
_phase = RecordInputOverlayPhase.Recording;
|
||||
_recordingStartTime = Time.realtimeSinceStartup;
|
||||
}
|
||||
|
||||
public static void Clear()
|
||||
{
|
||||
_phase = RecordInputOverlayPhase.None;
|
||||
_countdownEndTime = 0f;
|
||||
_recordingStartTime = 0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a506fd4ae8f6b46c294dca15e5da34fd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,75 @@
|
||||
#if UNITY_EDITOR
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace io.github.hatayama.uLoopMCP
|
||||
{
|
||||
public class RecordInputOverlayView : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private CanvasGroup _canvasGroup;
|
||||
[SerializeField] private GameObject _countdownGroup;
|
||||
[SerializeField] private Text _countdownText;
|
||||
[SerializeField] private GameObject _recordingGroup;
|
||||
[SerializeField] private Text _recDotText;
|
||||
[SerializeField] private Text _statusText;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Debug.Assert(_canvasGroup != null, "_canvasGroup must be assigned in prefab");
|
||||
Debug.Assert(_countdownGroup != null, "_countdownGroup must be assigned in prefab");
|
||||
Debug.Assert(_countdownText != null, "_countdownText must be assigned in prefab");
|
||||
Debug.Assert(_recordingGroup != null, "_recordingGroup must be assigned in prefab");
|
||||
Debug.Assert(_recDotText != null, "_recDotText must be assigned in prefab");
|
||||
Debug.Assert(_statusText != null, "_statusText must be assigned in prefab");
|
||||
|
||||
_canvasGroup.interactable = false;
|
||||
_canvasGroup.blocksRaycasts = false;
|
||||
Hide();
|
||||
}
|
||||
|
||||
public void ShowCountdown(int remainingSeconds)
|
||||
{
|
||||
_countdownGroup.SetActive(true);
|
||||
_recordingGroup.SetActive(false);
|
||||
_countdownText.text = $"REC in {remainingSeconds}...";
|
||||
_canvasGroup.alpha = 1f;
|
||||
}
|
||||
|
||||
public void ShowRecording(string statusText, float dotAlpha)
|
||||
{
|
||||
_countdownGroup.SetActive(false);
|
||||
_recordingGroup.SetActive(true);
|
||||
_statusText.text = statusText;
|
||||
SetDotAlpha(dotAlpha);
|
||||
_canvasGroup.alpha = 1f;
|
||||
}
|
||||
|
||||
public void ShowStopped()
|
||||
{
|
||||
_countdownGroup.SetActive(false);
|
||||
_recordingGroup.SetActive(true);
|
||||
_statusText.text = "REC STOPPED";
|
||||
SetDotAlpha(1f);
|
||||
}
|
||||
|
||||
private void SetDotAlpha(float alpha)
|
||||
{
|
||||
Color dotColor = _recDotText.color;
|
||||
dotColor.a = alpha;
|
||||
_recDotText.color = dotColor;
|
||||
}
|
||||
|
||||
public void SetAlpha(float alpha)
|
||||
{
|
||||
_canvasGroup.alpha = alpha;
|
||||
}
|
||||
|
||||
public void Hide()
|
||||
{
|
||||
_canvasGroup.alpha = 0f;
|
||||
_countdownGroup.SetActive(false);
|
||||
_recordingGroup.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 626f611c789dd4febbff8920eeb25837
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user