From 96ce3ba5e41421f3e9f75c6bbeaa4276a3e3ee75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A4=80=ED=95=99=20=EB=85=B8?= Date: Wed, 16 Jul 2025 18:10:29 +0900 Subject: [PATCH] =?UTF-8?q?logicdata=20item=20=EC=83=9D=EC=84=B1=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Frame/ItemFrame07_f_White2.png.meta | 42 +- Assets/Image/Frame 7 (1).png.meta | 6 +- .../UIRIghtItem/LogicDataPrefab.prefab | 2 +- .../UIPrefab/LogicListDataInfoItem.prefab | 197 ++++++ .../LogicListDataInfoItem.prefab.meta | 7 + .../Resources/UIPrefab/UILogicListItem.prefab | 667 ++++++++++++++++++ .../UIPrefab/UILogicListItem.prefab.meta | 7 + Assets/UILogicListItem.cs | 36 + Assets/UILogicListItem.cs.meta | 2 + .../LH/LogicData/LogicDataInfoItem.cs | 3 +- .../LH/LogicData/LogicListDataInfoItem.cs | 35 + .../LogicData/LogicListDataInfoItem.cs.meta | 2 + .../WorkSpace/LH/LogicData/Panel_LogicData.cs | 64 +- Assets/WorkSpace/LH/LogicInfo.cs | 16 +- .../LH/Simulation/SimulationModelConveyor.cs | 12 +- Packages/manifest.json | 1 + Packages/packages-lock.json | 6 + 17 files changed, 1059 insertions(+), 46 deletions(-) create mode 100644 Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab create mode 100644 Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab.meta create mode 100644 Assets/Resources/UIPrefab/UILogicListItem.prefab create mode 100644 Assets/Resources/UIPrefab/UILogicListItem.prefab.meta create mode 100644 Assets/UILogicListItem.cs create mode 100644 Assets/UILogicListItem.cs.meta create mode 100644 Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs create mode 100644 Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs.meta diff --git a/Assets/Image/Components/Frame/ItemFrame07_f_White2.png.meta b/Assets/Image/Components/Frame/ItemFrame07_f_White2.png.meta index f6433468..85b66cf8 100644 --- a/Assets/Image/Components/Frame/ItemFrame07_f_White2.png.meta +++ b/Assets/Image/Components/Frame/ItemFrame07_f_White2.png.meta @@ -1,9 +1,16 @@ fileFormatVersion: 2 guid: 5808e54fc20f649f5a92a16a458427b9 +AssetOrigin: + serializedVersion: 1 + productId: 176695 + packageName: GUI Pro - Casual Game + packageVersion: 4.1.1 + assetPath: Assets/Layer Lab/GUI Pro-CasualGame/ResourcesData/Sprites/Components/Frame/ItemFrame07_f_White2.png + uploadId: 754818 TextureImporter: internalIDToNameTable: [] externalObjects: {} - serializedVersion: 12 + serializedVersion: 13 mipmaps: mipMapMode: 0 enableMipMap: 0 @@ -20,11 +27,12 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 + flipGreenChannel: 0 isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 - ignoreMasterTextureLimit: 0 + ignoreMipmapLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -48,7 +56,7 @@ TextureImporter: alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 - spriteBorder: {x: 37, y: 37, z: 37, w: 38} + spriteBorder: {x: 24, y: 25, z: 24, w: 25} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 @@ -63,9 +71,10 @@ TextureImporter: textureFormatSet: 0 ignorePngGamma: 0 applyGammaDecoding: 0 + swizzle: 50462976 cookieLightType: 1 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -75,9 +84,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: WebGL maxTextureSize: 2048 resizeAlgorithm: 0 @@ -87,9 +97,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -99,9 +110,10 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Server maxTextureSize: 2048 resizeAlgorithm: 0 @@ -111,32 +123,28 @@ TextureImporter: crunchedCompression: 0 allowsAlphaSplitting: 0 overridden: 0 + ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 + internalID: 1537655665 vertices: [] indices: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} - spritePackingTag: + mipmapLimitGroupName: pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 176695 - packageName: GUI Pro - Casual Game - packageVersion: 4.1.1 - assetPath: Assets/Layer Lab/GUI Pro-CasualGame/ResourcesData/Sprites/Components/Frame/ItemFrame07_f_White2.png - uploadId: 754818 diff --git a/Assets/Image/Frame 7 (1).png.meta b/Assets/Image/Frame 7 (1).png.meta index 1baac7c4..ad022025 100644 --- a/Assets/Image/Frame 7 (1).png.meta +++ b/Assets/Image/Frame 7 (1).png.meta @@ -49,7 +49,7 @@ TextureImporter: alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteBorder: {x: 5, y: 5, z: 5, w: 5} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 @@ -69,7 +69,7 @@ TextureImporter: platformSettings: - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 + maxTextureSize: 256 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -114,7 +114,7 @@ TextureImporter: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 + internalID: 1537655665 vertices: [] indices: edges: [] diff --git a/Assets/Prefabs/UIRIghtItem/LogicDataPrefab.prefab b/Assets/Prefabs/UIRIghtItem/LogicDataPrefab.prefab index f27ea7be..156a5553 100644 --- a/Assets/Prefabs/UIRIghtItem/LogicDataPrefab.prefab +++ b/Assets/Prefabs/UIRIghtItem/LogicDataPrefab.prefab @@ -345,7 +345,7 @@ GameObject: - component: {fileID: 4385537655793161409} - component: {fileID: 7348311134790012867} m_Layer: 5 - m_Name: Image + m_Name: LogicValue m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab b/Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab new file mode 100644 index 00000000..b7617893 --- /dev/null +++ b/Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab @@ -0,0 +1,197 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &769910763433437421 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3075810037062419163} + - component: {fileID: 4086929857223959196} + - component: {fileID: 2701250669337321480} + m_Layer: 5 + m_Name: LogicListDataInfoItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3075810037062419163 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 769910763433437421} + 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: 7930082167386282496} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -515} + m_SizeDelta: {x: 260, y: 25} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &4086929857223959196 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 769910763433437421} + m_CullTransparentMesh: 1 +--- !u!114 &2701250669337321480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 769910763433437421} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad93367cd24fdf9408cc7354db392353, type: 3} + m_Name: + m_EditorClassIdentifier: + Text_Label: {fileID: 836481912262468791} +--- !u!1 &1157891230833303015 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7930082167386282496} + - component: {fileID: 6884626692194648435} + - component: {fileID: 836481912262468791} + m_Layer: 5 + m_Name: Text_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7930082167386282496 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157891230833303015} + 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: 3075810037062419163} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 107, y: -12.5} + m_SizeDelta: {x: 200, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6884626692194648435 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157891230833303015} + m_CullTransparentMesh: 1 +--- !u!114 &836481912262468791 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157891230833303015} + 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: "\uD0C0\uC785" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 05bae3109f77490458ea729d51e7df78, type: 2} + m_sharedMaterial: {fileID: -7290017371581542385, guid: 05bae3109f77490458ea729d51e7df78, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4283124555 + m_fontColor: {r: 0.29411766, g: 0.29411766, b: 0.29411766, 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: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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_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} diff --git a/Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab.meta b/Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab.meta new file mode 100644 index 00000000..fd5c81df --- /dev/null +++ b/Assets/Resources/UIPrefab/LogicListDataInfoItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f84dc0ef6e5e5244b22e292732a82ad +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIPrefab/UILogicListItem.prefab b/Assets/Resources/UIPrefab/UILogicListItem.prefab new file mode 100644 index 00000000..bcf08e2e --- /dev/null +++ b/Assets/Resources/UIPrefab/UILogicListItem.prefab @@ -0,0 +1,667 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &124750008518870382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7278303958434532844} + - component: {fileID: 5286451840524502125} + - component: {fileID: 898625458792092020} + m_Layer: 5 + m_Name: Image_Count + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7278303958434532844 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124750008518870382} + 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: 108604777054512879} + m_Father: {fileID: 3224253863200424477} + 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: 20.6, y: 0} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5286451840524502125 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124750008518870382} + m_CullTransparentMesh: 1 +--- !u!114 &898625458792092020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 124750008518870382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.28627452, g: 0.95686275, 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: 5808e54fc20f649f5a92a16a458427b9, type: 3} + 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: 4 +--- !u!1 &3312622022233914637 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 108604777054512879} + - component: {fileID: 479129164796881294} + - component: {fileID: 1360356367229969320} + m_Layer: 5 + m_Name: Text_LabelCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &108604777054512879 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3312622022233914637} + 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: 7278303958434532844} + 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 &479129164796881294 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3312622022233914637} + m_CullTransparentMesh: 1 +--- !u!114 &1360356367229969320 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3312622022233914637} + 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: 1 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f033b96aa66acfd4b84aa16e32cfc660, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: f033b96aa66acfd4b84aa16e32cfc660, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294964297 + m_fontColor: {r: 0.28773582, g: 0.95810205, 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: 18 + m_fontSizeBase: 18 + 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_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!1 &3599682990021307499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9160692099485711216} + - component: {fileID: 737649069888053214} + - component: {fileID: 420271040966523772} + m_Layer: 5 + m_Name: UILogicListItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9160692099485711216 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3599682990021307499} + 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: 3224253863200424477} + - {fileID: 2149894297695082471} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 130, y: -12.5} + m_SizeDelta: {x: 260, y: 55} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &737649069888053214 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3599682990021307499} + m_CullTransparentMesh: 1 +--- !u!114 &420271040966523772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3599682990021307499} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a3be4a4f076bcd848bf77982d84a577d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &6955669817283164891 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2149894297695082471} + - component: {fileID: 754281509244950995} + - component: {fileID: 4902869191530490063} + m_Layer: 5 + m_Name: LogicCount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2149894297695082471 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955669817283164891} + 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: 4064448287035783616} + m_Father: {fileID: 9160692099485711216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 128.4, y: -42.5} + m_SizeDelta: {x: 240, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &754281509244950995 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955669817283164891} + m_CullTransparentMesh: 1 +--- !u!114 &4902869191530490063 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955669817283164891} + 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: ffcdea029baa10743a91f18c899a79b8, 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!1 &7624213514396007564 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4064448287035783616} + - component: {fileID: 1198193684823646311} + - component: {fileID: 1341304979440636930} + m_Layer: 5 + m_Name: Text_Count + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4064448287035783616 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7624213514396007564} + 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: 2149894297695082471} + 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: -16, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1198193684823646311 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7624213514396007564} + m_CullTransparentMesh: 1 +--- !u!114 &1341304979440636930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7624213514396007564} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f033b96aa66acfd4b84aa16e32cfc660, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: f033b96aa66acfd4b84aa16e32cfc660, 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: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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_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!1 &7815959174252635556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3224253863200424477} + - component: {fileID: 6888898864170758395} + m_Layer: 5 + m_Name: LogicLabelItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3224253863200424477 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7815959174252635556} + 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: 7278303958434532844} + - {fileID: 5827154225494195993} + m_Father: {fileID: 9160692099485711216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 130, y: -12.5} + m_SizeDelta: {x: 260, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6888898864170758395 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7815959174252635556} + m_CullTransparentMesh: 1 +--- !u!1 &8379054126820573167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5827154225494195993} + - component: {fileID: 207237687099703885} + - component: {fileID: 8798923606085755814} + m_Layer: 5 + m_Name: Text_Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5827154225494195993 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8379054126820573167} + 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: 3224253863200424477} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 17.5, y: 0} + m_SizeDelta: {x: -45, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &207237687099703885 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8379054126820573167} + m_CullTransparentMesh: 1 +--- !u!114 &8798923606085755814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8379054126820573167} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f033b96aa66acfd4b84aa16e32cfc660, type: 2} + m_sharedMaterial: {fileID: 6975767319296004534, guid: f033b96aa66acfd4b84aa16e32cfc660, 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: 18 + m_fontSizeBase: 18 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + 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_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} diff --git a/Assets/Resources/UIPrefab/UILogicListItem.prefab.meta b/Assets/Resources/UIPrefab/UILogicListItem.prefab.meta new file mode 100644 index 00000000..d0dff52b --- /dev/null +++ b/Assets/Resources/UIPrefab/UILogicListItem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6e561cb6d3b71bc479a5fe66680c2f4a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UILogicListItem.cs b/Assets/UILogicListItem.cs new file mode 100644 index 00000000..e8b429a8 --- /dev/null +++ b/Assets/UILogicListItem.cs @@ -0,0 +1,36 @@ +using System.Linq; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +public class UILogicListItem : MonoBehaviour +{ + private Image Image_Count; + private TextMeshProUGUI Text_LabelCount; + private TextMeshProUGUI Text_Label; + private TextMeshProUGUI Text_Count; + private RectTransform rect; + + public RectTransform Rect { get { return rect; } } + private void Awake() + { + var images = transform.GetComponentsInChildren(); + Image_Count= images.FirstOrDefault(x=>x.name.Equals(nameof(Image_Count))); + var textpros = transform.GetComponentsInChildren(); + Text_LabelCount = textpros.FirstOrDefault(x => x.name.Equals(nameof(Text_LabelCount))); + Text_Label = textpros.FirstOrDefault(x => x.name.Equals(nameof(Text_Label))); + Text_Count = textpros.FirstOrDefault(x => x.name.Equals(nameof(Text_Count))); + rect = GetComponent(); + } + + public void SetItem(string labelCount, string label, string count) + { + if (Text_LabelCount == null) + return; + + Text_LabelCount.SetText(labelCount); + Text_Label.SetText(label); + Text_Count.SetText(count); + rect.transform.localPosition = new Vector2(rect.localPosition.x, -60f * int.Parse(labelCount)); + } +} diff --git a/Assets/UILogicListItem.cs.meta b/Assets/UILogicListItem.cs.meta new file mode 100644 index 00000000..8b4beffb --- /dev/null +++ b/Assets/UILogicListItem.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a3be4a4f076bcd848bf77982d84a577d \ No newline at end of file diff --git a/Assets/WorkSpace/LH/LogicData/LogicDataInfoItem.cs b/Assets/WorkSpace/LH/LogicData/LogicDataInfoItem.cs index 5f510a8b..21009208 100644 --- a/Assets/WorkSpace/LH/LogicData/LogicDataInfoItem.cs +++ b/Assets/WorkSpace/LH/LogicData/LogicDataInfoItem.cs @@ -1,4 +1,4 @@ -using UnityEngine; +using UnityEngine; using TMPro; namespace Octopus.Simulator @@ -23,5 +23,6 @@ namespace Octopus.Simulator } Text_Value.text = value; } + } } \ No newline at end of file diff --git a/Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs b/Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs new file mode 100644 index 00000000..6d058818 --- /dev/null +++ b/Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs @@ -0,0 +1,35 @@ +using UnityEngine; +using TMPro; + +namespace Octopus.Simulator +{ + public class LogicListDataInfoItem : MonoBehaviour + { + [SerializeField] + TMP_Text Text_Label; + private RectTransform rect; + public void Set(string label) + { + var translate = Translator.Translate(label); + if (!string.IsNullOrEmpty(translate)) + { + Text_Label.text = translate; + } + else + { + Text_Label.text = label; + } + rect =GetComponent(); + } + + public void AddItem(string count, string name, string value) + { + var asset = Resources.Load("UIPrefab/UILogicListItem"); + var item = Instantiate(asset, transform); + item.SetItem(count, name, value); + var rise = int.Parse(count); + rect.sizeDelta = new Vector2(rect.sizeDelta.x, 25+(5* rise) + (rise* item.Rect.sizeDelta.y));//labesize + spaceing + itemSize + } + + } +} \ No newline at end of file diff --git a/Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs.meta b/Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs.meta new file mode 100644 index 00000000..866ea025 --- /dev/null +++ b/Assets/WorkSpace/LH/LogicData/LogicListDataInfoItem.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ad93367cd24fdf9408cc7354db392353 \ No newline at end of file diff --git a/Assets/WorkSpace/LH/LogicData/Panel_LogicData.cs b/Assets/WorkSpace/LH/LogicData/Panel_LogicData.cs index adbe49e2..34f4eeee 100644 --- a/Assets/WorkSpace/LH/LogicData/Panel_LogicData.cs +++ b/Assets/WorkSpace/LH/LogicData/Panel_LogicData.cs @@ -1,4 +1,4 @@ -using UnityEngine; +using UnityEngine; using System; using System.Collections.Generic; using System.Reflection; @@ -8,7 +8,7 @@ namespace Octopus.Simulator { public class Panel_LogicData : MonoBehaviour { - List infoItems = new List(); + List infoItems = new List(); [SerializeField] LogicDataInfoItem logicItem; RectTransform rect; @@ -68,23 +68,67 @@ namespace Octopus.Simulator } FieldInfo[] fields = type.GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static); float itemHeight = logicItem.GetComponent().rect.height+ contentSpacing; - SetRectHeight(fields.Length, itemHeight); for (int i = 0; i < fields.Length; i++) { var rawValue = fields[i].GetValue(item); - var value = rawValue?.ToString() ?? ""; - var iLogicItem = Instantiate(logicItem, rect); - iLogicItem.GetComponent().anchoredPosition = new Vector2(iLogicItem.GetComponent().anchoredPosition.x, -itemHeight * i); - iLogicItem.Set(fields[i].Name, value); - infoItems.Add(iLogicItem); + int count = 1; + switch (rawValue) + { + case List queueList: + var listItem = CreateLogicListItem(fields[i].Name); + foreach (var queueItem in queueList) + { + listItem.AddItem(count.ToString(),queueItem.queue_name,queueItem.required_items.ToString()); + count++; + } + SetRectHeight(fields.Length, itemHeight); + break; + + case List storeList: + var storeLisItem = CreateLogicListItem(fields[i].Name); + foreach (var storeItem in storeList) + { + storeLisItem.AddItem(count.ToString(), storeItem.Queue, storeItem.RequiredItems.ToString()); + count++; + } + SetRectHeight(fields.Length, itemHeight); + break; + default: + CreateLogicItem(fields[i].Name, rawValue, itemHeight, i); + SetRectHeight(fields.Length, itemHeight); + break; + } } onPanelUpdated?.Invoke(); } + private LogicListDataInfoItem CreateLogicListItem(string fieldName) + { + var asset = Resources.Load("UIPrefab/LogicListDataInfoItem"); + var item = Instantiate(asset, rect); + item.Set(fieldName); + infoItems.Add(item.gameObject); + return item; + } + private void CreateLogicItem(string fieldName, object rawValue, float itemHeight,int index) + { + var value = rawValue?.ToString() ?? ""; + var iLogicItem = Instantiate(logicItem, rect); + iLogicItem.GetComponent().anchoredPosition = new Vector2(iLogicItem.GetComponent().anchoredPosition.x, -itemHeight * index); + iLogicItem.Set(fieldName, value); + infoItems.Add(iLogicItem.gameObject); + } void SetRectHeight(int count,float itemHeight) { - float panelHeight = count * itemHeight+contentSpacing*2+ padding; - rect.sizeDelta = new Vector2(rect.sizeDelta.x, panelHeight); + var height = 0f; + foreach (var item in infoItems) + { + var rect = item.GetComponent(); + height += rect.sizeDelta.y + contentSpacing*2; + } + rect.sizeDelta = new Vector2(rect.sizeDelta.x, height); + //float panelHeight = count * itemHeight+contentSpacing*2+ padding; + //rect.sizeDelta = new Vector2(rect.sizeDelta.x, panelHeight); } public void UnsetLogicDataItem() diff --git a/Assets/WorkSpace/LH/LogicInfo.cs b/Assets/WorkSpace/LH/LogicInfo.cs index 1358258a..a5381adc 100644 --- a/Assets/WorkSpace/LH/LogicInfo.cs +++ b/Assets/WorkSpace/LH/LogicInfo.cs @@ -1,4 +1,4 @@ -using UnityEngine; +using UnityEngine; using System; using System.Collections.Generic; using Newtonsoft.Json; @@ -281,7 +281,7 @@ namespace Octopus.Simulator [Serializable] public class InputQueue { - public string? name; + public string? queue_name; public int required_items; } @@ -453,7 +453,7 @@ namespace Octopus.Simulator public override List ReadJson(JsonReader reader, Type objectType, List existingValue, bool hasExistingValue, JsonSerializer serializer) { - // 迭 ε + // 배열 로드 var array = JArray.Load(reader); var list = new List(); @@ -461,9 +461,9 @@ namespace Octopus.Simulator { var jo = (JObject)token; var type = jo["type"]?.Value() - ?? throw new JsonSerializationException("components ҿ 'type' ʵ尡 ϴ."); + ?? throw new JsonSerializationException("components 요소에 'type' 필드가 없습니다."); - // ŸԺ νϽ + // 타입별 인스턴스 생성 ILogicComponent comp = type switch { "source" => new Source(), @@ -471,10 +471,10 @@ namespace Octopus.Simulator "move" => new Move(), "sink" => new Sink(), "conveyor" => new Conveyor(), - _ => throw new NotSupportedException($" ʴ component type: {type}") + _ => throw new NotSupportedException($"지원하지 않는 component type: {type}") }; - // JSON νϽ ä + // JSON → 인스턴스 채우기 serializer.Populate(jo.CreateReader(), comp); list.Add(comp); } @@ -484,7 +484,7 @@ namespace Octopus.Simulator public override void WriteJson(JsonWriter writer, List value, JsonSerializer serializer) { - // Ⱑ ʿ Ǵ ⺻ ȭ + // 쓰기가 필요 없으면 예외 또는 기본 직렬화 serializer.Serialize(writer, value); } } diff --git a/Assets/WorkSpace/LH/Simulation/SimulationModelConveyor.cs b/Assets/WorkSpace/LH/Simulation/SimulationModelConveyor.cs index e8fcbd20..908a28ca 100644 --- a/Assets/WorkSpace/LH/Simulation/SimulationModelConveyor.cs +++ b/Assets/WorkSpace/LH/Simulation/SimulationModelConveyor.cs @@ -1,4 +1,4 @@ -using System; +using System; using Newtonsoft.Json; using System.Collections.Generic; using UnityEngine; @@ -285,12 +285,12 @@ public class SimulationModelConveyor : SimulationModel if (currentBubble == null) { - // + // 생성 currentBubble = Instantiate(bubbleUIPrefab, FindAnyObjectByType().transform); currentBubble.target = DataBubbleSocket; - currentBubble.worldOffset = new Vector3(0, 2.0f, 0); // ʿ信 + currentBubble.worldOffset = new Vector3(0, 2.0f, 0); // 필요에 따라 조절 } - // ؽƮ + // 텍스트 갱신 currentBubble.SetMessage(msg); } } @@ -573,7 +573,7 @@ public class ConveyorStartedData [Serializable] public class InputQueue { - [JsonProperty("queue")] + [JsonProperty("queue_name")] public string? Queue { get; set; } [JsonProperty("required_items")] @@ -584,7 +584,7 @@ public class InputQueue [Serializable] public class InputStore { - [JsonProperty("store")] + [JsonProperty("store_name")] public string? Queue { get; set; } [JsonProperty("required_items")] diff --git a/Packages/manifest.json b/Packages/manifest.json index c47e41b1..7c36c530 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.unity.2d.sprite": "1.0.0", "com.unity.ide.visualstudio": "2.0.22", "com.unity.inputsystem": "1.11.2", "com.unity.nuget.newtonsoft-json": "3.2.1", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index a540ee96..72548732 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -36,6 +36,12 @@ "com.tivadar.best.http": "3.0.10" } }, + "com.unity.2d.sprite": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, "com.unity.burst": { "version": "1.8.19", "depth": 1,