diff --git a/UnityBuild/Assets/Resources/Sprites/mageIcon_rounded.png b/UnityBuild/Assets/Resources/Sprites/mageIcon_rounded.png new file mode 100644 index 00000000..651e2d52 Binary files /dev/null and b/UnityBuild/Assets/Resources/Sprites/mageIcon_rounded.png differ diff --git a/UnityBuild/Assets/Scenes/MainMenu.unity b/UnityBuild/Assets/Scenes/MainMenu.unity index b472b490..04a0c224 100644 --- a/UnityBuild/Assets/Scenes/MainMenu.unity +++ b/UnityBuild/Assets/Scenes/MainMenu.unity @@ -7359,6 +7359,142 @@ Transform: m_CorrespondingSourceObject: {fileID: 9176242562311319873, guid: 0b5da8e3469f6c64d9013fd79ebe72e9, type: 3} m_PrefabInstance: {fileID: 338885566} m_PrefabAsset: {fileID: 0} +--- !u!1 &350701416 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 350701417} + - component: {fileID: 350701419} + - component: {fileID: 350701418} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &350701417 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350701416} + 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: 704700813} + 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: -8.772583, y: -0.000099182} + m_SizeDelta: {x: 51.7451, y: 31.122} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &350701418 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350701416} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uC0C1\uD0DC" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 83af34bc23c26e040b52c89782ef6ad1, type: 2} + m_sharedMaterial: {fileID: 8301500676003178282, guid: 83af34bc23c26e040b52c89782ef6ad1, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &350701419 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 350701416} + m_CullTransparentMesh: 1 --- !u!1 &351250031 GameObject: m_ObjectHideFlags: 0 @@ -12017,6 +12153,8 @@ RectTransform: m_Children: - {fileID: 1409867574} - {fileID: 2135439935} + - {fileID: 1523278840} + - {fileID: 704700813} m_Father: {fileID: 1941930191} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} @@ -12076,6 +12214,8 @@ MonoBehaviour: m_EditorClassIdentifier: listContainer: {fileID: 799054180} userItemPrefab: {fileID: 3065214930853047065, guid: 6e32b772cd634ac41992db614da548d1, type: 3} + nicknameArrow: {fileID: 1454825726} + statusArrow: {fileID: 2079013068} userCount: {fileID: 1409867575} --- !u!1001 &592003718 PrefabInstance: @@ -13810,6 +13950,100 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 701250037} m_CullTransparentMesh: 1 +--- !u!1 &704700812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 704700813} + - component: {fileID: 704700814} + m_Layer: 5 + m_Name: StatusSortToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &704700813 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 704700812} + 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: 2079013068} + - {fileID: 350701417} + m_Father: {fileID: 590557662} + 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: 184.1, y: 251.1} + m_SizeDelta: {x: 62.7528, y: 31.1223} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &704700814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 704700812} + 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 590557665} + m_TargetAssemblyTypeName: CCUDisplay, Assembly-CSharp + m_MethodName: OnSortByStatus + 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 &711977184 GameObject: m_ObjectHideFlags: 0 @@ -25554,8 +25788,8 @@ RectTransform: 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.4196, y: 251} - m_SizeDelta: {x: 472.5935, y: 50} + m_AnchoredPosition: {x: -87, y: 251} + m_SizeDelta: {x: 312.1691, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1409867575 MonoBehaviour: @@ -25854,7 +26088,7 @@ Transform: m_CorrespondingSourceObject: {fileID: 9176242562311319873, guid: 0b5da8e3469f6c64d9013fd79ebe72e9, type: 3} m_PrefabInstance: {fileID: 1450365642} m_PrefabAsset: {fileID: 0} ---- !u!1 &1462018310 +--- !u!1 &1454825725 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -25862,73 +26096,148 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1462018311} - m_Layer: 7 - m_Name: Grass1 + - component: {fileID: 1454825726} + - component: {fileID: 1454825728} + - component: {fileID: 1454825727} + m_Layer: 5 + m_Name: Image m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1462018311 -Transform: +--- !u!224 &1454825726 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1462018310} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 1454825725} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1227382787} - - {fileID: 516656864} - - {fileID: 1265791556} - - {fileID: 1687873059} - - {fileID: 112865758} - - {fileID: 1877430652} - - {fileID: 2063247294} - - {fileID: 1026293054} - - {fileID: 725111188} - - {fileID: 201531769} - - {fileID: 248065023} - - {fileID: 111281382} - - {fileID: 99900679} - - {fileID: 601105309} - - {fileID: 314786836} - - {fileID: 1006048322} - - {fileID: 912395405} - - {fileID: 1656386437} - - {fileID: 1582230135} - - {fileID: 1290288648} - - {fileID: 2071326513} - - {fileID: 1121964770} - - {fileID: 1891389718} - - {fileID: 1271897262} - - {fileID: 799196717} - - {fileID: 862987328} - - {fileID: 1282340062} - - {fileID: 50122404} - - {fileID: 1482195656} - - {fileID: 1139249352} - - {fileID: 1018060360} - - {fileID: 1521486295} - - {fileID: 248688323} - - {fileID: 307085179} - - {fileID: 455060724} - - {fileID: 1941237839} - - {fileID: 482347122} - - {fileID: 1069994930} - - {fileID: 642371915} - - {fileID: 90003656} - - {fileID: 2091643330} - - {fileID: 93552803} - - {fileID: 952336025} - - {fileID: 1849883067} - - {fileID: 1753360498} - - {fileID: 1489806391} + m_Children: [] + m_Father: {fileID: 1523278840} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 26.3, y: 1.2} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1454825727 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454825725} + 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: 3fa7c255ef77fd146ac74e92d70b3d9e, 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!222 &1454825728 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454825725} + m_CullTransparentMesh: 1 +--- !u!1 &1462018310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1462018311} + m_Layer: 7 + m_Name: Grass1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1462018311 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1462018310} + serializedVersion: 2 + 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: 1227382787} + - {fileID: 516656864} + - {fileID: 1265791556} + - {fileID: 1687873059} + - {fileID: 112865758} + - {fileID: 1877430652} + - {fileID: 2063247294} + - {fileID: 1026293054} + - {fileID: 725111188} + - {fileID: 201531769} + - {fileID: 248065023} + - {fileID: 111281382} + - {fileID: 99900679} + - {fileID: 601105309} + - {fileID: 314786836} + - {fileID: 1006048322} + - {fileID: 912395405} + - {fileID: 1656386437} + - {fileID: 1582230135} + - {fileID: 1290288648} + - {fileID: 2071326513} + - {fileID: 1121964770} + - {fileID: 1891389718} + - {fileID: 1271897262} + - {fileID: 799196717} + - {fileID: 862987328} + - {fileID: 1282340062} + - {fileID: 50122404} + - {fileID: 1482195656} + - {fileID: 1139249352} + - {fileID: 1018060360} + - {fileID: 1521486295} + - {fileID: 248688323} + - {fileID: 307085179} + - {fileID: 455060724} + - {fileID: 1941237839} + - {fileID: 482347122} + - {fileID: 1069994930} + - {fileID: 642371915} + - {fileID: 90003656} + - {fileID: 2091643330} + - {fileID: 93552803} + - {fileID: 952336025} + - {fileID: 1849883067} + - {fileID: 1753360498} + - {fileID: 1489806391} - {fileID: 33220024} - {fileID: 643039826} - {fileID: 720589240} @@ -26985,6 +27294,124 @@ Transform: m_CorrespondingSourceObject: {fileID: 9176242562311319873, guid: 0b5da8e3469f6c64d9013fd79ebe72e9, type: 3} m_PrefabInstance: {fileID: 1521486294} m_PrefabAsset: {fileID: 0} +--- !u!1 &1523278839 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1523278840} + - component: {fileID: 1523278841} + m_Layer: 5 + m_Name: NicknameSortToggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1523278840 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523278839} + 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: 1454825726} + - {fileID: 2026123589} + m_Father: {fileID: 590557662} + 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: 100.5, y: 251.9} + m_SizeDelta: {x: 79, y: 27.911} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1523278841 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523278839} + 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 590557665} + m_TargetAssemblyTypeName: CCUDisplay, Assembly-CSharp + m_MethodName: OnSortByNickname + 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 + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: CCUDisplay, Assembly-CSharp + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: CCUDisplay, Assembly-CSharp + m_MethodName: + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1001 &1529387228 PrefabInstance: m_ObjectHideFlags: 0 @@ -38001,6 +38428,142 @@ Transform: m_CorrespondingSourceObject: {fileID: 9176242562311319873, guid: 0b5da8e3469f6c64d9013fd79ebe72e9, type: 3} m_PrefabInstance: {fileID: 2009603866} m_PrefabAsset: {fileID: 0} +--- !u!1 &2026123588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2026123589} + - component: {fileID: 2026123591} + - component: {fileID: 2026123590} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2026123589 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026123588} + 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: 1523278840} + 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: -13.50769, y: -0.20004845} + m_SizeDelta: {x: 56.2153, y: 31.232} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2026123590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026123588} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uB2C9\uB124\uC784" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 83af34bc23c26e040b52c89782ef6ad1, type: 2} + m_sharedMaterial: {fileID: 8301500676003178282, guid: 83af34bc23c26e040b52c89782ef6ad1, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -30 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2026123591 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2026123588} + m_CullTransparentMesh: 1 --- !u!1001 &2039006985 PrefabInstance: m_ObjectHideFlags: 0 @@ -39267,6 +39830,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2078133665} m_CullTransparentMesh: 1 +--- !u!1 &2079013067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2079013068} + - component: {fileID: 2079013070} + - component: {fileID: 2079013069} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2079013068 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079013067} + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 704700813} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 21.4, y: 1.7} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2079013069 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079013067} + 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: 3fa7c255ef77fd146ac74e92d70b3d9e, 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!222 &2079013070 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079013067} + m_CullTransparentMesh: 1 --- !u!1001 &2084271414 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/UnityBuild/Assets/Scripts/UI/MainMenu/CCUDisplay.cs b/UnityBuild/Assets/Scripts/UI/MainMenu/CCUDisplay.cs index 718b4102..d8dcb651 100644 --- a/UnityBuild/Assets/Scripts/UI/MainMenu/CCUDisplay.cs +++ b/UnityBuild/Assets/Scripts/UI/MainMenu/CCUDisplay.cs @@ -10,27 +10,52 @@ public class CCUDisplay : MonoBehaviour public Transform listContainer; public GameObject userItemPrefab; + private enum SortType { None, Nickname, Status } + private SortType currentSortType = SortType.None; + private bool isAscending = true; + + [SerializeField] private RectTransform nicknameArrow; + [SerializeField] private RectTransform statusArrow; [SerializeField] private TMP_Text userCount; private List userItems = new List(); + private List currentUsers = new List(); public void UpdateCCUDisplay(List users) - { - DebugUI.Instance?.Log($"[UI] 렌더링 시작 - {users.Count}명"); - userCount.text = $"현재 접속자 수: {users.Count}"; - // foreach (Transform child in listContainer) - // { - // Destroy(child.gameObject); - // } - - while (userItems.Count < users.Count) + { + currentUsers = users; // 원본 저장 + SortAndRefresh(); + + } + + private void SortAndRefresh() + { + var sorted = currentUsers; + + switch (currentSortType) + { + case SortType.Nickname: + sorted = isAscending + ? currentUsers.OrderBy(u => u.nickName).ToList() + : currentUsers.OrderByDescending(u => u.nickName).ToList(); + break; + case SortType.Status: + sorted = isAscending + ? currentUsers.OrderBy(u => u.status).ToList() + : currentUsers.OrderByDescending(u => u.status).ToList(); + break; + } + + userCount.text = $"현재 접속자 수: {sorted.Count}"; + + while (userItems.Count < sorted.Count) { var item = Instantiate(userItemPrefab, listContainer); item.SetActive(true); userItems.Add(item); } - while (userItems.Count > users.Count) + while (userItems.Count > sorted.Count) { var item = userItems.Last(); userItems.Remove(item); @@ -38,18 +63,96 @@ public void UpdateCCUDisplay(List users) } int idx = 0; - foreach (var user in users) + foreach (var user in sorted) { var item = userItems[idx++]; - var nicknameText = item.transform.Find("Nickname")?.GetComponent(); var statusText = item.transform.Find("Status")?.GetComponent(); - if (nicknameText == null) DebugUI.Instance?.Log("[UI] Nickname 없음"); - else nicknameText.text = user.nickName; + if (nicknameText != null) nicknameText.text = user.nickName; + if (statusText != null) statusText.text = user.status; + } + } + + public void OnSortByNickname() + { + ToggleSort(SortType.Nickname); + } + + public void OnSortByStatus() + { + ToggleSort(SortType.Status); + } - if (statusText == null) DebugUI.Instance?.Log("[UI] Status 없음"); - else statusText.text = user.status; + private void ToggleSort(SortType sortType) + { + if (currentSortType == sortType) + { + isAscending = !isAscending; // 같은 기준 눌렀을 때 토글 + } + else + { + currentSortType = sortType; + isAscending = true; // 새 기준 누르면 초기값 오름차순 + } + RotateArrows(); + SortAndRefresh(); + } + private void RotateArrows() + { + nicknameArrow.localRotation = Quaternion.Euler(0, 0, 90); // 초기화 + statusArrow.localRotation = Quaternion.Euler(0, 0, 90); // 초기화 + + RectTransform targetArrow = null; + + if (currentSortType == SortType.Nickname) + targetArrow = nicknameArrow; + else if (currentSortType == SortType.Status) + targetArrow = statusArrow; + + if (targetArrow != null) + { + targetArrow.localRotation = Quaternion.Euler(0, 0, isAscending ? 90 : 270); } } } + +// private void SortAndRefresh() +// DebugUI.Instance?.Log($"[UI] 렌더링 시작 - {users.Count}명"); +// userCount.text = $"현재 접속자 수: {users.Count}"; +// // foreach (Transform child in listContainer) +// // { +// // Destroy(child.gameObject); +// // } + +// while (userItems.Count < users.Count) +// { +// var item = Instantiate(userItemPrefab, listContainer); +// item.SetActive(true); +// userItems.Add(item); +// } + +// while (userItems.Count > users.Count) +// { +// var item = userItems.Last(); +// userItems.Remove(item); +// Destroy(item); +// } + +// int idx = 0; +// foreach (var user in users) +// { +// var item = userItems[idx++]; + +// var nicknameText = item.transform.Find("Nickname")?.GetComponent(); +// var statusText = item.transform.Find("Status")?.GetComponent(); + +// if (nicknameText == null) DebugUI.Instance?.Log("[UI] Nickname 없음"); +// else nicknameText.text = user.nickName; + +// if (statusText == null) DebugUI.Instance?.Log("[UI] Status 없음"); +// else statusText.text = user.status; +// } +// } + +// \ No newline at end of file diff --git a/UnityBuild/Assets/Scripts/UI/PlayerScore/ScoreBoardUI.cs b/UnityBuild/Assets/Scripts/UI/PlayerScore/ScoreBoardUI.cs index 6c013835..caeef22d 100644 --- a/UnityBuild/Assets/Scripts/UI/PlayerScore/ScoreBoardUI.cs +++ b/UnityBuild/Assets/Scripts/UI/PlayerScore/ScoreBoardUI.cs @@ -362,6 +362,7 @@ private void SetResultBoardData(Constants.PlayerRecord[] records, out Constants. var bestDamage = records .OrderByDescending(r => r.roundStatsList.Sum(rs => rs.damageDone)) + .ThenByDescending(r => r.GetTotalScoreUpToRound(2)) .FirstOrDefault(); Debug.Log( diff --git a/UnityBuild/ProjectSettings/ProjectSettings.asset b/UnityBuild/ProjectSettings/ProjectSettings.asset index f73010d8..cc5fda55 100644 --- a/UnityBuild/ProjectSettings/ProjectSettings.asset +++ b/UnityBuild/ProjectSettings/ProjectSettings.asset @@ -294,38 +294,55 @@ PlayerSettings: - m_BuildTarget: m_Icons: - serializedVersion: 2 - m_Icon: {fileID: 2800000, guid: dac9cbd329232314fbaea3271911bea5, type: 3} + m_Icon: {fileID: 2800000, guid: 722e904f84a013c489b919e81a758e11, type: 3} m_Width: 128 m_Height: 128 m_Kind: 0 - m_BuildTargetPlatformIcons: - - m_BuildTarget: iPhone + - m_BuildTarget: Standalone m_Icons: - - m_Textures: [] - m_Width: 180 - m_Height: 180 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 1024 + m_Height: 1024 m_Kind: 0 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 120 - m_Height: 120 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 512 + m_Height: 512 m_Kind: 0 - m_SubKind: iPhone - - m_Textures: [] - m_Width: 167 - m_Height: 167 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 256 + m_Height: 256 m_Kind: 0 - m_SubKind: iPad - - m_Textures: [] - m_Width: 152 - m_Height: 152 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 128 + m_Height: 128 m_Kind: 0 - m_SubKind: iPad - - m_Textures: [] - m_Width: 76 - m_Height: 76 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 64 + m_Height: 64 m_Kind: 0 - m_SubKind: iPad + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 48 + m_Height: 48 + m_Kind: 0 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 32 + m_Height: 32 + m_Kind: 0 + - serializedVersion: 2 + m_Icon: {fileID: 0} + m_Width: 16 + m_Height: 16 + m_Kind: 0 + m_BuildTargetPlatformIcons: + - m_BuildTarget: iPhone + m_Icons: - m_Textures: [] m_Width: 120 m_Height: 120 @@ -396,6 +413,31 @@ PlayerSettings: m_Height: 1024 m_Kind: 4 m_SubKind: App Store + - m_Textures: [] + m_Width: 180 + m_Height: 180 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 120 + m_Height: 120 + m_Kind: 0 + m_SubKind: iPhone + - m_Textures: [] + m_Width: 167 + m_Height: 167 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 152 + m_Height: 152 + m_Kind: 0 + m_SubKind: iPad + - m_Textures: [] + m_Width: 76 + m_Height: 76 + m_Kind: 0 + m_SubKind: iPad - m_BuildTarget: Android m_Icons: - m_Textures: []