diff --git a/unity/Assets/Prefabs/Popup.prefab b/unity/Assets/Prefabs/Popup.prefab new file mode 100644 index 0000000..f42fd86 --- /dev/null +++ b/unity/Assets/Prefabs/Popup.prefab @@ -0,0 +1,532 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &15293700811766252 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4758311848516165983} + - component: {fileID: 6304532030597566880} + - component: {fileID: 1946094537576148173} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4758311848516165983 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15293700811766252} + 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: 7803026691445115441} + m_RootOrder: 2 + 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: -8.93} + m_SizeDelta: {x: 210, y: 78} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6304532030597566880 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15293700811766252} + m_CullTransparentMesh: 0 +--- !u!114 &1946094537576148173 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 15293700811766252} + 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: 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: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 116 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Content +--- !u!1 &3283256523379237804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7803026691445115441} + - component: {fileID: 3064464144427328152} + - component: {fileID: 1203205559106359025} + - component: {fileID: 2542161276471336851} + m_Layer: 5 + m_Name: Popup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7803026691445115441 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3283256523379237804} + 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: 6029894125761808083} + - {fileID: 538462290789497597} + - {fileID: 4758311848516165983} + - {fileID: 8648826011013550574} + m_Father: {fileID: 0} + m_RootOrder: 0 + 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} + m_SizeDelta: {x: 250, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3064464144427328152 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3283256523379237804} + m_CullTransparentMesh: 0 +--- !u!114 &1203205559106359025 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3283256523379237804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.8235294} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &2542161276471336851 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3283256523379237804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6c15065aa0bb2554e806fb03cc7cc73f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6998921899922185997 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 538462290789497597} + - component: {fileID: 6334635354973565068} + - component: {fileID: 5577362376080419396} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &538462290789497597 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6998921899922185997} + 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: 7803026691445115441} + m_RootOrder: 1 + 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: 49.6} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6334635354973565068 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6998921899922185997} + m_CullTransparentMesh: 0 +--- !u!114 &5577362376080419396 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6998921899922185997} + 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: 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: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 116 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Title +--- !u!1 &7600884251207249602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8648826011013550574} + - component: {fileID: 5317635889133439471} + - component: {fileID: 434879015113683303} + - component: {fileID: 2970028946207074543} + m_Layer: 5 + m_Name: Ok + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8648826011013550574 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600884251207249602} + 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: 1588089114783223580} + m_Father: {fileID: 7803026691445115441} + m_RootOrder: 3 + 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: -60} + m_SizeDelta: {x: 165.08813, y: 15.477013} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5317635889133439471 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600884251207249602} + m_CullTransparentMesh: 0 +--- !u!114 &434879015113683303 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600884251207249602} + 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: 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 &2970028946207074543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600884251207249602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 0.39607844} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.4} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.4} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.4} + m_DisabledColor: {r: 0.31132078, g: 0.31132078, b: 0.31132078, a: 0.4} + 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: 434879015113683303} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2542161276471336851} + m_TargetAssemblyTypeName: Popup, Assembly-CSharp + m_MethodName: Close + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &8679003008479837781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6029894125761808083} + - component: {fileID: 2251557333897853139} + - component: {fileID: 7349897341966798717} + m_Layer: 5 + m_Name: BlockInteractions + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6029894125761808083 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8679003008479837781} + 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: 7803026691445115441} + m_RootOrder: 0 + 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} + m_SizeDelta: {x: 2500, y: 1500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2251557333897853139 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8679003008479837781} + m_CullTransparentMesh: 0 +--- !u!114 &7349897341966798717 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8679003008479837781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &8721975387948940392 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1588089114783223580} + - component: {fileID: 7639362977953210163} + - component: {fileID: 419677965399468075} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1588089114783223580 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8721975387948940392} + 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: 8648826011013550574} + 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 &7639362977953210163 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8721975387948940392} + m_CullTransparentMesh: 0 +--- !u!114 &419677965399468075 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8721975387948940392} + 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: 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: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Ok diff --git a/unity/Assets/Prefabs/Popup.prefab.meta b/unity/Assets/Prefabs/Popup.prefab.meta new file mode 100644 index 0000000..801c443 --- /dev/null +++ b/unity/Assets/Prefabs/Popup.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 20c7ed059424f9f479b515ac361f9011 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Resources.meta b/unity/Assets/Resources.meta new file mode 100644 index 0000000..0ca624f --- /dev/null +++ b/unity/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6974ac69af23946428420cf2ca0762f8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Resources/CustomUI.meta b/unity/Assets/Resources/CustomUI.meta new file mode 100644 index 0000000..2c9a018 --- /dev/null +++ b/unity/Assets/Resources/CustomUI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f609371e1ba42d04bb030152b1a76735 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Resources/CustomUI/Button.prefab b/unity/Assets/Resources/CustomUI/Button.prefab new file mode 100644 index 0000000..5b903c7 --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Button.prefab @@ -0,0 +1,201 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7255647476413439906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7255647476413439907} + - component: {fileID: 7255647476413439901} + - component: {fileID: 7255647476413439900} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7255647476413439907 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647476413439906} + 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: 7255647477918898797} + 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 &7255647476413439901 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647476413439906} + m_CullTransparentMesh: 0 +--- !u!114 &7255647476413439900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647476413439906} + 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: 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Text +--- !u!1 &7255647477918898796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7255647477918898797} + - component: {fileID: 7255647477918898792} + - component: {fileID: 7255647477918898799} + - component: {fileID: 7255647477918898798} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7255647477918898797 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647477918898796} + 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: 7255647476413439907} + m_Father: {fileID: 0} + m_RootOrder: 0 + 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: -50} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7255647477918898792 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647477918898796} + m_CullTransparentMesh: 0 +--- !u!114 &7255647477918898799 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647477918898796} + 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: 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 &7255647477918898798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7255647477918898796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 0.39607844} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.4} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.4} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.4} + m_DisabledColor: {r: 0.31132078, g: 0.31132078, b: 0.31132078, a: 0.4} + 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: 7255647477918898799} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/unity/Assets/Resources/CustomUI/Button.prefab.meta b/unity/Assets/Resources/CustomUI/Button.prefab.meta new file mode 100644 index 0000000..e720815 --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Button.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 08a7b7638af25aa49a34320b745ccd28 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Resources/CustomUI/Container.prefab b/unity/Assets/Resources/CustomUI/Container.prefab new file mode 100644 index 0000000..cf62da5 --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Container.prefab @@ -0,0 +1,88 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1400191552741810621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3133801470458460986} + - component: {fileID: 1377353287785163795} + - component: {fileID: 5252860748419651336} + - component: {fileID: 7925635504224500967} + m_Layer: 5 + m_Name: Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3133801470458460986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + 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: 0 + 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: -50} + m_SizeDelta: {x: 250, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1377353287785163795 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_CullTransparentMesh: 0 +--- !u!114 &5252860748419651336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.05882353} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &7925635504224500967 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 diff --git a/unity/Assets/Resources/CustomUI/Container.prefab.meta b/unity/Assets/Resources/CustomUI/Container.prefab.meta new file mode 100644 index 0000000..2d1b2b3 --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Container.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2f1680d127114ec4988c50130efd78c5 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Resources/CustomUI/Input.prefab b/unity/Assets/Resources/CustomUI/Input.prefab new file mode 100644 index 0000000..c169b64 --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Input.prefab @@ -0,0 +1,301 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &706677493014632616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3561945015305426919} + - component: {fileID: 8036699061477372342} + - component: {fileID: 1416776844111443317} + - component: {fileID: 2944363521716166889} + m_Layer: 5 + m_Name: Input + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3561945015305426919 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706677493014632616} + 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: 7709593595233471193} + - {fileID: 2906574968354415915} + m_Father: {fileID: 0} + m_RootOrder: 0 + 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: 10} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8036699061477372342 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706677493014632616} + m_CullTransparentMesh: 0 +--- !u!114 &1416776844111443317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706677493014632616} + 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.27058825} + 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: 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 &2944363521716166889 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706677493014632616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_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: 1416776844111443317} + m_TextComponent: {fileID: 4334447240908116382} + m_Placeholder: {fileID: 5664603085695889206} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 +--- !u!1 &3551945882858596855 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7709593595233471193} + - component: {fileID: 9185416089279943757} + - component: {fileID: 5664603085695889206} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7709593595233471193 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3551945882858596855} + 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: 3561945015305426919} + 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.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9185416089279943757 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3551945882858596855} + m_CullTransparentMesh: 0 +--- !u!114 &5664603085695889206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3551945882858596855} + 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: 0.5} + 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: 14 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Placeholder +--- !u!1 &5334906260713259978 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2906574968354415915} + - component: {fileID: 3810372787373924505} + - component: {fileID: 4334447240908116382} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2906574968354415915 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5334906260713259978} + 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: 3561945015305426919} + 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, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3810372787373924505 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5334906260713259978} + m_CullTransparentMesh: 0 +--- !u!114 &4334447240908116382 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5334906260713259978} + 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: 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: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: diff --git a/unity/Assets/Resources/CustomUI/Input.prefab.meta b/unity/Assets/Resources/CustomUI/Input.prefab.meta new file mode 100644 index 0000000..a47bfac --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Input.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6b32199d0df0a754db5bb4216f7d2c3d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Resources/CustomUI/Scrollable.prefab b/unity/Assets/Resources/CustomUI/Scrollable.prefab new file mode 100644 index 0000000..6d22e9d --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Scrollable.prefab @@ -0,0 +1,235 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &614771022713470542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4377688567068773485} + - component: {fileID: 106943200605329001} + - component: {fileID: 190322562205483585} + - component: {fileID: 8621911581411550308} + - component: {fileID: 2671060272779272131} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4377688567068773485 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614771022713470542} + 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: 3133801470458460986} + 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 &106943200605329001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614771022713470542} + m_CullTransparentMesh: 0 +--- !u!114 &190322562205483585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614771022713470542} + m_Enabled: 0 + 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.392} + 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: 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 &8621911581411550308 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614771022713470542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: -5 + m_ChildAlignment: 0 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &2671060272779272131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 614771022713470542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc417d59709b83f40a9f4f9541441269, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1400191552741810621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3133801470458460986} + - component: {fileID: 1377353287785163795} + - component: {fileID: 5252860748419651336} + - component: {fileID: 7925635504224500967} + - component: {fileID: 3984570986789836485} + m_Layer: 5 + m_Name: Scrollable + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3133801470458460986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + 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: 4377688567068773485} + m_Father: {fileID: 0} + m_RootOrder: 0 + 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: -50} + m_SizeDelta: {x: 250, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1377353287785163795 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_CullTransparentMesh: 0 +--- !u!114 &5252860748419651336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.05882353} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 0} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &7925635504224500967 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 +--- !u!114 &3984570986789836485 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400191552741810621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 4377688567068773485} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 10 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] diff --git a/unity/Assets/Resources/CustomUI/Scrollable.prefab.meta b/unity/Assets/Resources/CustomUI/Scrollable.prefab.meta new file mode 100644 index 0000000..ef559a8 --- /dev/null +++ b/unity/Assets/Resources/CustomUI/Scrollable.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb94323ec51a2494cbfdf0aa1f627789 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Scenes/MainMenu.unity b/unity/Assets/Scenes/MainMenu.unity index 24dd780..dc9ec45 100644 --- a/unity/Assets/Scenes/MainMenu.unity +++ b/unity/Assets/Scenes/MainMenu.unity @@ -610,6 +610,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 451966352} m_CullTransparentMesh: 0 +--- !u!1 &462409821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 462409822} + - component: {fileID: 462409824} + - component: {fileID: 462409823} + m_Layer: 5 + m_Name: Authors + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &462409822 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 462409821} + 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: 1783333716} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 95, y: -12.5} + m_SizeDelta: {x: 150, y: 25} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &462409823 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 462409821} + 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: 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: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 102 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Me, myself, I +--- !u!222 &462409824 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 462409821} + m_CullTransparentMesh: 0 --- !u!1 &475673232 GameObject: m_ObjectHideFlags: 0 @@ -924,6 +1003,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc417d59709b83f40a9f4f9541441269, type: 3} m_Name: m_EditorClassIdentifier: + ignoreElements: 1 --- !u!1 &603105757 GameObject: m_ObjectHideFlags: 0 @@ -2333,6 +2413,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: dc417d59709b83f40a9f4f9541441269, type: 3} m_Name: m_EditorClassIdentifier: + ignoreElements: 1 --- !u!114 &1567409294 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2698,7 +2779,7 @@ GameObject: - component: {fileID: 1751519031} - component: {fileID: 1751519030} m_Layer: 5 - m_Name: Text + m_Name: Name m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -2718,11 +2799,11 @@ RectTransform: m_Father: {fileID: 1783333716} 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} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 5, y: 8} + m_SizeDelta: {x: 150, y: 25} + m_Pivot: {x: 0, y: 0.5} --- !u!114 &1751519030 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2750,13 +2831,13 @@ MonoBehaviour: m_BestFit: 0 m_MinSize: 1 m_MaxSize: 40 - m_Alignment: 4 + m_Alignment: 3 m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: Text + m_Text: Name --- !u!222 &1751519031 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2765,6 +2846,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1751519028} m_CullTransparentMesh: 0 +--- !u!1 &1771254980 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1771254981} + - component: {fileID: 1771254983} + - component: {fileID: 1771254982} + m_Layer: 5 + m_Name: Version + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1771254981 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1771254980} + 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: 1783333716} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 5, y: -6} + m_SizeDelta: {x: 150, y: 25} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &1771254982 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1771254980} + 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: 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: 12 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 102 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: v0.0.0 +--- !u!222 &1771254983 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1771254980} + m_CullTransparentMesh: 0 --- !u!1 &1783333715 GameObject: m_ObjectHideFlags: 0 @@ -2796,12 +2956,14 @@ RectTransform: m_LocalScale: {x: 0.8450705, y: 0.8450705, z: 0.8450705} m_Children: - {fileID: 1751519029} + - {fileID: 1771254981} + - {fileID: 462409822} m_Father: {fileID: 513979424} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 125, y: -25.000015} + m_AnchoredPosition: {x: 125, y: -25} m_SizeDelta: {x: 250, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1783333717 @@ -2843,7 +3005,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1751519030} + m_TargetGraphic: {fileID: 1783333718} m_OnClick: m_PersistentCalls: m_Calls: @@ -3767,7 +3929,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 110} - m_SizeDelta: {x: 533, y: 100} + m_SizeDelta: {x: 315.96, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2120702455 MonoBehaviour: @@ -3791,17 +3953,17 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 48 + m_FontSize: 10 m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 4 - m_MaxSize: 102 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 50 m_Alignment: 4 m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 0 m_VerticalOverflow: 0 - m_LineSpacing: 1 + m_LineSpacing: 80 m_Text: '[ServerName]' --- !u!222 &2120702456 CanvasRenderer: @@ -3924,7 +4086,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1371957802574010001} + m_TargetGraphic: {fileID: 640861489022905312} m_OnClick: m_PersistentCalls: m_Calls: diff --git a/unity/Assets/Scripts/Editor.meta b/unity/Assets/Scripts/Editor.meta new file mode 100644 index 0000000..3a4e298 --- /dev/null +++ b/unity/Assets/Scripts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07577618a64fbca4ca646e40e9992a56 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Scripts/Editor/ContextMenu.cs b/unity/Assets/Scripts/Editor/ContextMenu.cs new file mode 100644 index 0000000..0ce262e --- /dev/null +++ b/unity/Assets/Scripts/Editor/ContextMenu.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +public static class ContextMenu { + [MenuItem("GameObject/UI/Custom/Button", false, 12)] + public static void PlaceButton(MenuCommand menuCommand) => PlaceCustomUI("Button", menuCommand); + + [MenuItem("GameObject/UI/Custom/Input", false, 12)] + public static void PlaceInput(MenuCommand menuCommand) => PlaceCustomUI("Input", menuCommand); + + [MenuItem("GameObject/UI/Custom/Scrollable", false, 12)] + public static void PlaceScrollable(MenuCommand menuCommand) => PlaceCustomUI("Scrollable", menuCommand); + + [MenuItem("GameObject/UI/Custom/Container", false, 12)] + public static void PlaceContainer(MenuCommand menuCommand) => PlaceCustomUI("Container", menuCommand); + + public static void PlaceCustomUI(string part, MenuCommand mc) { + var go = GameObject.Instantiate(Resources.Load("CustomUI/" + part), Vector3.zero, Quaternion.identity) as GameObject; + go.name = part; + GameObjectUtility.SetParentAndAlign(go, mc.context as GameObject); + Undo.RegisterCreatedObjectUndo(go, "Create Custom " + part); + Selection.activeObject = go; + } +} diff --git a/unity/Assets/Scripts/Editor/ContextMenu.cs.meta b/unity/Assets/Scripts/Editor/ContextMenu.cs.meta new file mode 100644 index 0000000..575836b --- /dev/null +++ b/unity/Assets/Scripts/Editor/ContextMenu.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8c978ed98c209344ba252ebe0f718119 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Scripts/MainMenuController.cs b/unity/Assets/Scripts/MainMenuController.cs index 0eb69f3..96fecae 100644 --- a/unity/Assets/Scripts/MainMenuController.cs +++ b/unity/Assets/Scripts/MainMenuController.cs @@ -2,53 +2,79 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using Grpc.Core; public class MainMenuController : MonoBehaviour { + [Header("Prefabs")] + public GameObject popupPrefab; + + [Header("Other")] public GameObject mainMenu; public GameObject serverMenu; public GameObject lobbyMenu; - public InputField username; - public InputField ip; - public InputField port; + private InputField username; + private InputField ip; + private InputField port; + + private Text serverName; + private GameObject serverScroll; + + private Text lobbyCode; + private GameObject lobbyScroll; void Start() { for(int i = 5; i < 0; i++){ Debug.Log(i); } // Simulate Lobbies in a Server - for (int i = 0; i < 2; i++) { - var lobby = Instantiate(serverMenu.transform.GetChild(2).GetChild(0).GetChild(0), serverMenu.transform.GetChild(2).GetChild(0)); - lobby.GetComponentInChildren().text = "LBY" + Random.Range(0, 10) + Random.Range(0, 10) + Random.Range(0, 10); - lobby.gameObject.SetActive(true); - } + //for (int i = 0; i < 2; i++) { + // var lobby = Instantiate(serverMenu.transform.Find("BaseElement"), serverMenu.transform.Find("Content")); + // lobby.GetComponentInChildren().text = "LBY" + Random.Range(0, 10) + Random.Range(0, 10) + Random.Range(0, 10); + // lobby.gameObject.SetActive(true); + //} mainMenu.SetActive(true); serverMenu.SetActive(false); lobbyMenu.SetActive(false); + + username = mainMenu.FindRecursive("Username")?.GetComponent(); + ip = mainMenu.FindRecursive("IPAddress")?.GetComponent(); + port = mainMenu.FindRecursive("Port")?.GetComponent(); + + serverName = serverMenu.FindRecursive("ServerName")?.GetComponent(); + serverScroll = serverMenu.FindRecursive("Content"); + + lobbyCode = lobbyMenu.FindRecursive("LobbyCode")?.GetComponent(); + lobbyScroll = lobbyMenu.FindRecursive("Content"); } void Update() {} public void ConnectServer() { - var conn = Client.GetConnection(); - if (conn == null) { - if (ip.text != "" && port.text != "") - Client.Connect(username.text, ip.text + ":" + port.text); - else - Client.Connect(username.text); - conn = Client.GetConnection(); - } + try { + var conn = Client.GetConnection(); + if (conn == null) { + if (ip.text != "" && port.text != "") + Client.Connect(username.text, ip.text + ":" + port.text); + else + Client.Connect(username.text); + conn = Client.GetConnection(); + } - foreach (Game.Game g in conn.getGames()) { - Debug.Log(g.ToString()); - } - - if (conn != null) { - mainMenu.SetActive(false); - serverMenu.SetActive(true); - lobbyMenu.SetActive(false); - ReloadMenu(); + if (conn != null) { + mainMenu.SetActive(false); + serverMenu.SetActive(true); + lobbyMenu.SetActive(false); + ReloadMenu(); + } + } catch(RpcException e) { + if(e.StatusCode == StatusCode.Unavailable) { + var popup = Instantiate(popupPrefab, Vector2.zero, Quaternion.identity, mainMenu.transform); + popup.transform.localPosition = Vector2.zero; + popup.transform.Find("Title").GetComponent().text = "Error"; + popup.transform.Find("Content").GetComponent().text = "Server unavailable.\nPlease retry later or contact the server admin."; + } } } @@ -71,7 +97,7 @@ public class MainMenuController : MonoBehaviour { mainMenu.SetActive(false); serverMenu.SetActive(false); lobbyMenu.SetActive(true); - lobbyMenu.transform.GetChild(1).gameObject.GetComponent().text = "Code: " + code; + lobbyCode.text = "Code: " + code; ReloadMenu(); } } @@ -86,7 +112,7 @@ public class MainMenuController : MonoBehaviour { mainMenu.SetActive(false); serverMenu.SetActive(false); lobbyMenu.SetActive(true); - lobbyMenu.transform.GetChild(1).gameObject.GetComponent().text = "Code: " + lobby; + lobbyCode.text = "Code: " + lobby; ReloadMenu(); } } @@ -94,7 +120,7 @@ public class MainMenuController : MonoBehaviour { public void LeaveLobby() { var conn = Client.GetConnection(); - if (conn == null) { + if (conn != null) { var lobby = conn.GetLobby(); if (lobby != null) { //conn.LeaveLobby(); @@ -108,22 +134,34 @@ public class MainMenuController : MonoBehaviour { public void ReloadMenu() { if(serverMenu.activeSelf) { - for (int i = serverMenu.transform.GetChild(2).GetChild(0).childCount-1; i >= 1 ; i--) { - DestroyImmediate(serverMenu.transform.GetChild(2).GetChild(0).GetChild(i).gameObject); + for (int i = serverScroll.transform.childCount-1; i >= 1 ; i--) { + DestroyImmediate(serverScroll.transform.GetChild(i).gameObject); } // Simulate Lobbies in a Server for (int i = 0; i < Random.Range(2, 15); i++) { - var lobby = Instantiate(serverMenu.transform.GetChild(2).GetChild(0).GetChild(0), serverMenu.transform.GetChild(2).GetChild(0)); + var lobby = Instantiate(serverScroll.transform.GetChild(0), serverScroll.transform); lobby.GetComponentInChildren().text = "LBY" + Random.Range(0, 10) + Random.Range(0, 10) + Random.Range(0, 10); lobby.gameObject.SetActive(true); } + serverName.text = Client.GetConnection().Name(); serverMenu.GetComponentInChildren().Reload(); } if (lobbyMenu.activeSelf) { - for (int i = lobbyMenu.transform.GetChild(2).GetChild(0).childCount-1; i >= 1; i--) { - DestroyImmediate(lobbyMenu.transform.GetChild(2).GetChild(0).GetChild(i).gameObject); + for (int i = lobbyScroll.transform.childCount-1; i >= 1; i--) { + DestroyImmediate(lobbyScroll.transform.GetChild(i).gameObject); } // Add Lobby Games to list when function exists + var conn = Client.GetConnection(); + if(conn != null) { + var games = conn.getGames(); + foreach(Game.Game game in games) { + var gameGO = Instantiate(lobbyScroll.transform.GetChild(0), lobbyScroll.transform); + gameGO.GetComponentsInChildren()[0].text = game.Name; + gameGO.GetComponentsInChildren()[1].text = game.Version; + gameGO.GetComponentsInChildren()[2].text = string.Join(", ", game.Authors); + gameGO.gameObject.SetActive(true); + } + } lobbyMenu.GetComponentInChildren().Reload(); } } diff --git a/unity/Assets/Scripts/Popup.cs b/unity/Assets/Scripts/Popup.cs new file mode 100644 index 0000000..28fac64 --- /dev/null +++ b/unity/Assets/Scripts/Popup.cs @@ -0,0 +1,9 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Popup : MonoBehaviour { + public void Close() { + Destroy(gameObject); + } +} diff --git a/unity/Assets/Scripts/Popup.cs.meta b/unity/Assets/Scripts/Popup.cs.meta new file mode 100644 index 0000000..4be7e73 --- /dev/null +++ b/unity/Assets/Scripts/Popup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6c15065aa0bb2554e806fb03cc7cc73f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/Assets/Scripts/Scrollable.cs b/unity/Assets/Scripts/Scrollable.cs index 81c3342..67cc6ac 100644 --- a/unity/Assets/Scripts/Scrollable.cs +++ b/unity/Assets/Scripts/Scrollable.cs @@ -4,14 +4,13 @@ using UnityEngine; using UnityEngine.UI; public class Scrollable : MonoBehaviour { - public const float size = 35f; + public int ignoreElements = 0; void Start() { Reload(); } public void Reload() { - var sizeY = (transform.childCount-1) * (transform.GetChild(0).GetComponent().sizeDelta.y + GetComponent().spacing); - Debug.Log(transform.childCount + "sizeY: "+sizeY); + var sizeY = (transform.childCount-ignoreElements) * (transform.GetChild(0).GetComponent().sizeDelta.y + GetComponent().spacing); GetComponent().offsetMax = Vector2.zero; GetComponent().offsetMin = new Vector2(GetComponent().offsetMin.x, transform.parent.GetComponent().sizeDelta.y > sizeY ? 0 : -sizeY + transform.parent.GetComponent().sizeDelta.y + GetComponent().spacing); } diff --git a/unity/Assets/Scripts/Utils.cs b/unity/Assets/Scripts/Utils.cs new file mode 100644 index 0000000..9672f15 --- /dev/null +++ b/unity/Assets/Scripts/Utils.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public static class Utils { + public static GameObject FindRecursive(this GameObject go, string child) { + var foundChild = go.transform.Find(child); + if (foundChild != null) { + return foundChild.gameObject; + }else { + var found = false; + GameObject newChild = null; + foreach (Transform newGo in go.transform) { + if (newGo.childCount > 0) + newChild = newGo.gameObject.FindRecursive(child); + found = child == newChild?.name; + if (found) + break; + } + if (found) + return newChild; + else + return null; + } + } + + public static Transform FindRecursive(this Transform transform, string child) { + var foundChild = transform.gameObject.FindRecursive(child); + return foundChild != null ? foundChild.transform : null; + } +} diff --git a/unity/Assets/Scripts/Utils.cs.meta b/unity/Assets/Scripts/Utils.cs.meta new file mode 100644 index 0000000..41d114f --- /dev/null +++ b/unity/Assets/Scripts/Utils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 62d4236ed3a5fe045bfb5f0670d7bca1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: