From 60ec30340221128a766ad077e55daa27eed23b45 Mon Sep 17 00:00:00 2001 From: Dawid Pietrykowski Date: Mon, 29 Aug 2022 23:32:16 +0200 Subject: [PATCH] WIP Initial state generator - Ensured 5.5m space, added count text --- Assets/Scenes/SampleScene.unity | 137 +++++++++++++++++++++++++++++++ Assets/Scripts/ParkingManager.cs | 21 +++-- 2 files changed, 153 insertions(+), 5 deletions(-) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 8ed0466..66b8eda 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -217,6 +217,7 @@ RectTransform: m_Children: - {fileID: 1365705406} - {fileID: 861769592} + - {fileID: 489742540} m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -287,6 +288,141 @@ Transform: m_CorrespondingSourceObject: {fileID: 13560301962479320, guid: dbfe1689c60c23f129ff74156ff8e6a8, type: 3} m_PrefabInstance: {fileID: 440632606} m_PrefabAsset: {fileID: 0} +--- !u!1 &489742539 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 489742540} + - component: {fileID: 489742542} + - component: {fileID: 489742541} + m_Layer: 5 + m_Name: Car counts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &489742540 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 489742539} + 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: 107864146} + 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: -174} + m_SizeDelta: {x: 1000, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &489742541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 489742539} + 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: 'A: 20 B: 44 C: 36 Sum: 100' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, 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: 38.9 + m_fontSizeBase: 38.9 + 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: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: -0.000022879001, 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 &489742542 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 489742539} + m_CullTransparentMesh: 1 --- !u!1 &519420028 GameObject: m_ObjectHideFlags: 0 @@ -824,6 +960,7 @@ MonoBehaviour: height: 29 stepTime: 15 timeText: {fileID: 861769593} + countsText: {fileID: 489742541} spotPrefabA: {fileID: 13560301962479332, guid: 547c30e1f8f23f122968c9f6363ea48d, type: 3} spotPrefabB: {fileID: 13560301962479332, guid: f665eba7844e816e8bbb45031230824f, type: 3} spotPrefabC: {fileID: 13560301962479332, guid: a3f9da106063d979294b8c400bc015ce, type: 3} diff --git a/Assets/Scripts/ParkingManager.cs b/Assets/Scripts/ParkingManager.cs index 85fc23e..7d1b47e 100644 --- a/Assets/Scripts/ParkingManager.cs +++ b/Assets/Scripts/ParkingManager.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using System.Collections.Generic; using System.Linq; using TMPro; @@ -14,6 +15,7 @@ public class ParkingManager : MonoBehaviour [SerializeField] private float height = 29; [SerializeField] private int stepTime = 15; [SerializeField] private TextMeshProUGUI timeText; + [SerializeField] private TextMeshProUGUI countsText; [SerializeField] private GameObject spotPrefabA; [SerializeField] private GameObject spotPrefabB; [SerializeField] private GameObject spotPrefabC; @@ -86,20 +88,27 @@ public class ParkingManager : MonoBehaviour } } } + spotMap[0].Sort((a, b) => a.CompareTo(b)); // ascending sort + spotMap[1].Sort((a, b) => b.CompareTo(a)); // descending sort + spotMap[2].Sort((a, b) => b.CompareTo(a)); // descending sort + spotMap[3].Sort((a, b) => a.CompareTo(b)); // ascending sort + + float maxP3 = _spotHeights[(int)spotMap[2].Max()]; + float maxP2 = _spotHeights[(int)spotMap[1].Max()]; for (int i = 0; i < 4; i++) { - float currentY;// = i * 5.5f; + float currentY; switch (i) { case 0: currentY = -height / 2.0f + 2f; break; case 1: - currentY = -2.0f; + currentY = height/2 - 5.5f - 5f - maxP3 / 2.0f - maxP2; break; case 2: - currentY = 2.0f; + currentY = height/2 - 5.5f - 5f - maxP3 / 2.0f; break; case 3: currentY = height / 2.0f - 2f; @@ -155,8 +164,10 @@ public class ParkingManager : MonoBehaviour counts[(int) DataImporter.Drivers[i].Size]++; } - Debug.Log($"A: {counts[0]} B: {counts[1]} C: {counts[2]} " + - $"Sum: {counts.Sum()}"); + string countsString = $"A: {counts[0]} B: {counts[1]} C: {counts[2]} " + + $"Suma: {counts.Sum()}"; + countsText.text = countsString; + Debug.Log(countsString); Debug.Log("Printing top 5 combinations...");