From 779e72002e2a2e53f2fc2d1509dc7f6070aaddd7 Mon Sep 17 00:00:00 2001 From: UVCLimHun Date: Wed, 4 Feb 2026 15:51:59 +0900 Subject: [PATCH] design --- Assets/New Folder/Queue.meta | 8 + Assets/New Folder/Queue/Queue_Mat.mat | 138 ++++++++++++++++++ Assets/New Folder/Queue/Queue_Mat.mat.meta | 8 + Assets/New Folder/Queue/Queue_Texture.png | Bin 0 -> 584 bytes .../New Folder/Queue/Queue_Texture.png.meta | 130 +++++++++++++++++ Assets/New Folder/Queue/area.png | Bin 0 -> 1599 bytes Assets/New Folder/Queue/area.png.meta | 130 +++++++++++++++++ Assets/Resources/Images/40simaul.png | Bin 0 -> 4483 bytes Assets/Resources/Images/40simaul.png.meta | 130 +++++++++++++++++ Assets/Resources/Images/Group 11.png | Bin 0 -> 879 bytes Assets/Resources/Images/Group 11.png.meta | 130 +++++++++++++++++ Assets/Resources/Images/save.png | Bin 0 -> 2831 bytes Assets/Resources/Images/save.png.meta | 130 +++++++++++++++++ Assets/Resources/Prefabs/Box.prefab | 1 + Assets/Resources/Prefabs/Queue.prefab | 106 +++++++------- Assets/Resources/Prefabs/Queue.prefab.meta | 2 +- Assets/Scenes/Simulator.unity | 16 +- .../Simulator/Components/ComponentsManager.cs | 38 ++--- .../Components/Conveyor/ConveyorManager.cs | 10 +- .../Simulator/Components/RackComponent.cs | 17 +-- .../Resource/Worker/WorkerComponent.cs | 19 ++- Assets/Scripts/Simulator/Policy_Base.cs | 1 + .../Simulator/PropertyWindow/ASRSProperty.cs | 18 ++- .../InitailizePopup/GridView.cs | 4 +- .../InitailizePopup/InitialInventoryWindow.cs | 6 +- .../Simulator/PropertyWindow/NodeProperty.cs | 2 +- .../PropertyWindow/ProcessorProperty.cs | 6 +- .../Simulator/PropertyWindow/QueueProperty.cs | 2 +- .../Simulator/PropertyWindow/RackProperty.cs | 8 +- .../PropertyWindow/RobotArmProperty.cs | 6 +- .../PropertyWindow/SourceProperty.cs | 6 +- Assets/Scripts/Simulator/WebReceiver.cs | 4 +- .../Scripts/UVC/TopUI/SimulationTitleText.cs | 11 ++ Assets/white.mat | 2 +- 34 files changed, 968 insertions(+), 121 deletions(-) create mode 100644 Assets/New Folder/Queue.meta create mode 100644 Assets/New Folder/Queue/Queue_Mat.mat create mode 100644 Assets/New Folder/Queue/Queue_Mat.mat.meta create mode 100644 Assets/New Folder/Queue/Queue_Texture.png create mode 100644 Assets/New Folder/Queue/Queue_Texture.png.meta create mode 100644 Assets/New Folder/Queue/area.png create mode 100644 Assets/New Folder/Queue/area.png.meta create mode 100644 Assets/Resources/Images/40simaul.png create mode 100644 Assets/Resources/Images/40simaul.png.meta create mode 100644 Assets/Resources/Images/Group 11.png create mode 100644 Assets/Resources/Images/Group 11.png.meta create mode 100644 Assets/Resources/Images/save.png create mode 100644 Assets/Resources/Images/save.png.meta diff --git a/Assets/New Folder/Queue.meta b/Assets/New Folder/Queue.meta new file mode 100644 index 00000000..341a103f --- /dev/null +++ b/Assets/New Folder/Queue.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 33ad617bfa3fd4547801aac9cd2c242f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Folder/Queue/Queue_Mat.mat b/Assets/New Folder/Queue/Queue_Mat.mat new file mode 100644 index 00000000..24a8b22a --- /dev/null +++ b/Assets/New Folder/Queue/Queue_Mat.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4666433945317652781 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Queue_Mat + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] + m_LightmapFlags: 1 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: d106ddc054fbea344b0451c957681737, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: d106ddc054fbea344b0451c957681737, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0.003921569, g: 0.003921569, b: 0.003921569, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/New Folder/Queue/Queue_Mat.mat.meta b/Assets/New Folder/Queue/Queue_Mat.mat.meta new file mode 100644 index 00000000..ef5f2a57 --- /dev/null +++ b/Assets/New Folder/Queue/Queue_Mat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c3974faab9964514a80510f6cb40d63f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Folder/Queue/Queue_Texture.png b/Assets/New Folder/Queue/Queue_Texture.png new file mode 100644 index 0000000000000000000000000000000000000000..5c84115442ef7c1224dd1e95210e242aac83d671 GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcaloCO|{#S9EO-XP4l)OOlRpde#$ zkh>GZx^prwfgF}}M_)$E)e-c@Na(6vl978G?-`?%)JYpcgaPVSbWzN6ET$OzS zJnBd6Vy8CPE;#nUJ??t(I?D{(w6l)O&;LL7^5?sn-+z`r|1HTO%#g{X;LEUtv%!RM zf*Qjm7Kd339_WH~>6cgEZ-2h~?%MTt-?PRrqALJ83k}>mbn9;X-){{6oQy9HnaVE`Q_J_b_whr!e=zT@POL`XEbczu~tyi6t9YVWUi zHJhe?y9%& zsH?WVzWTM(j|Z=<)BbGhe1BNL{(*(f?AM3a<%Y-1WOyzdckXOAW5Jwlo*$k*mH*FD z5PtkV`+>sWxo#i6mOb`nD1ZKE+u?hc84K=g`}hmuKfVusd?4@E z{=DD61>RfYFygcoZ-W93IdZ~Geet^_N%qob>C>M>+vLZraDsX^T|2pAcf_%{b9q10r+%;f`}@{Tgu@|Nw`xBwbK}Go2Vg^%V;CdU^|~xV8yQ;tRMa| zyr|s1=5>`-evK4^uDxBvw5Oj9SebP5(|@0v{`T4&Ci!z`+jsf_%dOjO``n`$_Q$Yo zzB^-fIP-%ad+(UOzyF%yx$OGw>}&@<-g@-?*{A-euic+N{P1~arJ)QT^YLWsH+zNl zpDns;T>hM8JBOV#!}r_2ch>E+dGmMu)9C+OxgSp6Iq%%p%LbxM<@bN)?VbPn>^raN c*?)PpcTG~0>Sx*jEbkdSUHx3vIVCg!0Kd~8c>n+a literal 0 HcmV?d00001 diff --git a/Assets/New Folder/Queue/area.png.meta b/Assets/New Folder/Queue/area.png.meta new file mode 100644 index 00000000..1bc96b1c --- /dev/null +++ b/Assets/New Folder/Queue/area.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: d106ddc054fbea344b0451c957681737 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + 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 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Images/40simaul.png b/Assets/Resources/Images/40simaul.png new file mode 100644 index 0000000000000000000000000000000000000000..b410827da5f560446b8bc8c057a50d24b77a7a1d GIT binary patch literal 4483 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 FV1ifZi8=rP literal 0 HcmV?d00001 diff --git a/Assets/Resources/Images/Group 11.png.meta b/Assets/Resources/Images/Group 11.png.meta new file mode 100644 index 00000000..a57e059a --- /dev/null +++ b/Assets/Resources/Images/Group 11.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 0eecbd02211b35c4f86758339e9087f6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + 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 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Images/save.png b/Assets/Resources/Images/save.png new file mode 100644 index 0000000000000000000000000000000000000000..f72ee4913324268a9e4138fe93829e428dfa5ed6 GIT binary patch literal 2831 zcmeH}dpHx08pr37OC?bq<&yf9seZ+Br&!9RF;kLDB%F*<#>kx|J^cDbei=3l<&s>Q zJ3lm+$ck->ST396G8wknc4pPg4u73L&Ohfo=ilES@AE$I_kEuCkN0_>&-;CH4d$q_ zTXQ!608oKkwQ~aiWDf6ylESu<@r;$Zos=W4dPe~OXPtLKrqVjUdRvr4AW*eg z+l73vt&1%H(3rhvGhi10u)6|cXX_p(!=}%MYme*n@}l78O1qBF==;Z~MPwh0>OVK9 ztmJy>mqTTz2E?R_{407n`mf_Y-jXCYMferVOSPNUd?l8=z{TmMmQ-p z=6+ur`Hl=E6(0o$q9b_aIVFOHG+mTzoJx)Semnn%AX&M`YKMR*iKb`oEBnNu!%Yvb6*;e=$z8U@lN#em1Wc z-#E8E-GM1u;4M*%GfAGhGzm)|k*d6g`S8z?r%**@a)EecP1W9;eW=Xye0Pc@WU3wv zeQF1++|$E3QFcW>9d_XfG_UA6H07dn85M6bsZp>`4QISDs3jz;K|dl=RVNa(X20|2 zOp5Ual$*@x_u;dg{WxO}+BiNwt%;Y4$U^#o@%cZS?Vq(yw_lJ?&pXfPNV$d$ZTZya z8Y@mIw74PL?{tKnbl%Uzh%&$}o_ph?p&mTgdR6NlU$~VA&sz~hJ9tL4x0C9omGJz+ zGBYE}@*;6b{4MKR340@X_BM~2u0~D|wRuqvGzd;e{B88?IrHZhaRm_Xu4K=&-g_@L z2=Np}af>H11EC*u2adthyXpEMt=DMZ2jPBYvtY33(TE0-96meXrc72iQ^}d>S)`yO z&gV#_G41tPal?8btq`kZf!_+Q(`L&j0a7)|o(><-;&ATk=U?_W`}DE;eVG`N|AI)P z)Drmk(01fdaRK^PtZehksY-_X%1B`zuKBH-_;m$}`GCF(|4i?;WZo~wF&k9jY3wy$ za7edyh3P0~L&v2%zI{j-G7(9vidDM^eQfk7fQ`?jx)qv_EcV4X9|P4@B5HzXcQtso zwHX3SdK>bme&9@kSwCkw+Gin;)pwZH(8kBBk)v;^s=xey;T5+&rJ%J>q##MrtZ;90 z`skee*pceW#U>`6wk_x{+hyd>H3DK)e0aChsDP|puWF15Iiq|p5Y2P`Iu z5{s&z0mb~j^`%y>dRYJI(R5rA5nV|`uU>~RVS+hE_(G0Vxyo%uxMnPDDJo0<%s$&*MFAzB9hKdOL*7AayJIUN5qqWZd6Yk^auv`xdgAo&fkp_yp32Mxd zhpW&#ABZo*n1U8y4W6(!R@8RjSJFwYX3Z*}T}Cn!7^}LL%=r#2wAkr=vlRr@>byLQ zO3FiB_}vm(cQDo4m^~0~Spu&1!A4g>(MQemHS;xEduBH)q=>xL&vgr^=1hr@hE5UH z)^B|m4GitanT{on4g^tObpQ>@KT}&HS03_&n4o1|2;ZepqrmN%q3InC&?DUvXNrju z^2l;dmdj4QCFWB<0)3b8vUyEkSqJIIL94+_IpL>?iPhybmgN{Y!@=Jpv$w9mC>YU6 zK(p4g2YHc_hzW7WNpZkVqd4BvUW&@~hseX(Ox}!8k__A-K}&Q&ob@*PoK9ynGmyF$ z%@}koy}ubT=(?upT5Pb+SRGZFtR8m{q6m$W(EMr$WGi4*s71j{N;@qPB^u1qveE7d zh>b;d!HCXJFOE0m&P*1S)?+sN-e(U9qzfcP@Z!LzON>aja?INK=kny!B{^XaO^?a; zp8cYoh_hNV>5(pd?TbRHjF$B{Kpgvv!?=3yj`T$jn2eX2mgB@#-}C#LH4KwJ!3#w) zoK6~FJc7ve+8qVbIo};GY4{QN_2`@2v^h%Htll;ptnMak4hAErzpES8TbmZbq{*g@ zCbDD4*(Eqc&lczjIgB<~Su&wJC2sPS9XrqN|3}etvY6sHe~eeSn3nKUAdV{S8VCzM zRNW865Qk5D_UHNLrG0J`HG1jwOm z=jOYm&dFX*+>!>ob*i^*|6IiC4k!?J!0~R5&TRWv0K^_ componentDatas = new Dictionary(); + Dictionary componentDatas = new Dictionary(); Dictionary dataMapperDict = new Dictionary(); private GameObjectPool? sourcePool; @@ -187,28 +187,16 @@ namespace Simulator.Data InitializeRackPoolAsync().ContinueWith(() => { var rackDataMask = new DataMask(); - rackDataMask.ObjectName = "Rack"; + rackDataMask.ObjectName = "rack"; rackDataMask.ObjectIdKey = "component_id"; - rackDataMask["component_id"] = ""; - rackDataMask["event_name"] = ""; - rackDataMask["timestamp"] = new DateTime(); - rackDataMask["data"] = new DataMask() - { - ["entity_id"] = "", - ["coordinates"] = new DataMask() - { - ["x"] = 0, - ["y"] = 0, - ["z"] = 0 - } - }; - DataMapper rackmapper = new DataMapper(rackDataMask); dataMapperDict.Add(ComponentType.Rack, rackmapper); }); InitializeAsrsPoolAsync().ContinueWith(() => { var asrsDataMask = new DataMask(); + asrsDataMask.ObjectName = "asrs"; + asrsDataMask.ObjectIdKey = "component_id"; DataMapper asrsmapper = new DataMapper(asrsDataMask); dataMapperDict.Add(ComponentType.ASRS, asrsmapper); }); @@ -328,7 +316,7 @@ namespace Simulator.Data foreach (var componentdata in componentDatas) { DataRepository.Instance.MqttReceiver.AddTopic($"simulation/{SimulationConfig.SimulationCode}/components/+/{componentdata.Key}/#"); - var mqttConfig = new MqttSubscriptionConfig($"simulation/{SimulationConfig.SimulationCode}/components/+/{componentdata.Key}/#"); + var mqttConfig = new MqttSubscriptionConfig($"simulation/{SimulationConfig.SimulationCode}/components/+/{componentdata.Key}/#",false); mqttConfig.SetDataMapper(dataMapperDict[componentdata.Value.componentType]); mqttConfig.SetHandler((value) => OnUpdateData(value, componentdata.Value.componentType)); DataRepository.Instance.MqttReceiver.Add(mqttConfig); @@ -371,7 +359,12 @@ namespace Simulator.Data RackComponent? rack = rackPool.GetItem(obj.GetString("component_id")!); rack.GetModelData(obj); } - break; + if (string.Equals(obj.GetString("event_name"), "inventory_initialized")) + { + RackComponent? rack = rackPool.GetItem(obj.GetString("component_id")!); + rack.InitializeQueue(obj); + } + break; case ComponentType.ASRS: ASRSComponent? asrs = asrsPool.GetItem(obj.GetString("component_id")!); asrs.GetModelData(obj); @@ -592,5 +585,14 @@ namespace Simulator.Data } } } + + public ComponentBase GetComponentData(string name) + { + if (componentDatas.ContainsKey(name)) + { + return componentDatas[name]; + } + return null; + } } } \ No newline at end of file diff --git a/Assets/Scripts/Simulator/Components/Conveyor/ConveyorManager.cs b/Assets/Scripts/Simulator/Components/Conveyor/ConveyorManager.cs index 8b986e00..19c30581 100644 --- a/Assets/Scripts/Simulator/Components/Conveyor/ConveyorManager.cs +++ b/Assets/Scripts/Simulator/Components/Conveyor/ConveyorManager.cs @@ -173,8 +173,14 @@ namespace Simulator.Data mesher.UpdateCaps(); mesher.Rebuild(); - mesher.startCap.instances[0].GetComponent().SetComponent(fromNode); - mesher.endCap.instances[0].GetComponent().SetComponent(toNode); + if (mesher.startCap!=null && mesher.startCap.InstanceCount >= 1) + { + mesher.startCap.instances[0].GetComponent().SetComponent(fromNode); + } + if (mesher.endCap!=null&&mesher.endCap.InstanceCount>=1) + { + mesher.endCap.instances[0].GetComponent().SetComponent(toNode); + } // ▼ 추가: station 인접 정보 기록(후처리에서 cap/코너 결정) if (string.Equals(fromNode.node_type, "station")) diff --git a/Assets/Scripts/Simulator/Components/RackComponent.cs b/Assets/Scripts/Simulator/Components/RackComponent.cs index 1ad52b01..064a441a 100644 --- a/Assets/Scripts/Simulator/Components/RackComponent.cs +++ b/Assets/Scripts/Simulator/Components/RackComponent.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Runtime.CompilerServices; using Unity.VisualScripting; using UnityEngine; using UVC.Data.Core; @@ -61,23 +62,20 @@ namespace Simulator.Data { var ty = to_position.GetInt("y").Value; var tz = to_position.GetInt("z").Value; Vector3 toVector3 = new Vector3(tx, ty, tz); - //var entityIds = datas["entities"].ConvertTo>(); - //var entities=EntityManager.Instance.SpawnEntites(entityIds, this); + var entity_Ids = datas.GetDataArray("entities"); List entities = new List(); - var entity_Ids = datas.GetDataArray("entity_ids"); + var prefab = datas.GetDataObject("prefab"); foreach (var entity in entity_Ids) { - var id = entity.GetString("entity_id"); - var name = entity.GetString("prefab_name"); - entities.Add(EntityManager.Instance.SpawnEntity(id, this, name)); + entities.Add(EntityManager.Instance.SpawnEntity(entity.GetString("value"), this, prefab.GetString("name"))); } int index = 0; - for (int x = fx; x < tx; x++) + for (int x = fx; x <= tx; x++) { - for(int y = fy; y < fy; y++) + for(int y = fy; y <= ty; y++) { - for(int z = fz; z < fz; z++) + for(int z = fz; z <= tz; z++) { SetEntityToCell(entities[index++], (x, y, z)); } @@ -95,6 +93,7 @@ namespace Simulator.Data { public void SpawnCell(rack_layout layout,bool asrs) { + for (int z = 0; z < layout.z; z++) { for(int y=0;y {asrs.physical.position.x = v.x;asrs.physical.position.z = v.y; SaveChange(asrs,v,"physical.position"); } )*/ CreatePositionGroup(asrs), - new ButtonProperty("InitializeButton","초기 재고 설정",""){ - }.BindClick(()=>FindAnyObjectByType(FindObjectsInactive.Include).Open(asrs)), new BoolProperty("limited","용량 무제한", asrs.is_unlimited) { IsReadOnly=false @@ -59,14 +57,18 @@ public class ASRSProperty : MonoBehaviour setter: v => {asrs.is_unlimited=v; SaveChange(asrs,v,"is_unlimited"); } ), CreateRackLayoutGroup(asrs), + new ButtonProperty("InitializeButton","초기 재고 설정",""){ + }.BindClick(()=>FindAnyObjectByType(FindObjectsInactive.Include).Open(asrs)), + /* new IntProperty("entityperblock","칸당 개체 개수", asrs.entity_count_per_block) { IsReadOnly=false }.Bind( setter: v => {asrs.entity_count_per_block=v; SaveChange(asrs,v,"entity_count_per_block"); } ), + */ new EnumProperty("display_mode_ReceicingTimePolicy", "입고 시간 정책",asrs.receiving_time_policy.policy).Bind( - setter: v=>{asrs.receiving_time_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,v.ToString(),"receiving_time_policy.type");} + setter: v=>{asrs.receiving_time_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,PolicyFactory.Create(v.ToString()),"receiving_time_policy");} ), CreateReceivingTimePolicy_Constant(asrs), CreateReceivingTimePolicy_Normal(asrs), @@ -75,7 +77,7 @@ public class ASRSProperty : MonoBehaviour CreateReceivingTimePolicy_Triangular(asrs), new EnumProperty("display_mode_ShippingTimePolicy", "출고 시간 정책",asrs.shipping_time_policy.policy).Bind( - setter: v=>{asrs.shipping_time_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,v.ToString(),"shipping_time_policy.type");} + setter: v=>{asrs.shipping_time_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,PolicyFactory.Create(v.ToString()),"shipping_time_policy");} ), CreateShippingTimePolicy_Constant(asrs), CreateShippingTimePolicy_Normal(asrs), @@ -84,7 +86,7 @@ public class ASRSProperty : MonoBehaviour CreateShippingTimePolicy_Triangular(asrs), new EnumProperty("display_mode_StorageCostPolicy", "보관 비용 정책",asrs.storage_cost_policy.policy).Bind( - setter: v=>{asrs.storage_cost_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,v.ToString(),"storage_cost_policy.type");} + setter: v=>{asrs.storage_cost_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,PolicyFactory.Create(v.ToString()),"storage_cost_policy");} ), CreateStorageCostPolicy_Constant(asrs), CreateStorageCostPolicy_Normal(asrs), @@ -93,7 +95,7 @@ public class ASRSProperty : MonoBehaviour CreateStorageCostPolicy_Triangular(asrs), new EnumProperty("display_mode_HorizonSpeedPolicy", "크레인 수평 이동 속도",asrs.horizon_speed_policy.policy).Bind( - setter: v=>{asrs.horizon_speed_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,v.ToString(),"horizon_speed_policy.type");} + setter: v=>{asrs.horizon_speed_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,PolicyFactory.Create(v.ToString()),"horizon_speed_policy");} ), CreateHorizonSpeedPolicy_Constant(asrs), CreateHorizonSpeedPolicy_Normal(asrs), @@ -102,7 +104,7 @@ public class ASRSProperty : MonoBehaviour CreateHorizonSpeedPolicy_Triangular(asrs), new EnumProperty("display_mode_VerticalSpeedPolicy", "크레인 수직 이동 속도",asrs.vertical_speed_policy.policy).Bind( - setter: v=>{asrs.vertical_speed_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,v.ToString(),"vertical_speed_policy.type");} + setter: v=>{asrs.vertical_speed_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,PolicyFactory.Create(v.ToString()),"vertical_speed_policy");} ), CreateVerticalSpeedPolicy_Constant(asrs), CreateVerticalSpeedPolicy_Normal(asrs), @@ -111,7 +113,7 @@ public class ASRSProperty : MonoBehaviour CreateVerticalSpeedPolicy_Triangular(asrs), new EnumProperty("display_mode_ForkCycleTimePolicy", "크레인 포크 이동 시간",asrs.fork_cycle_time_policy.policy).Bind( - setter: v=>{asrs.fork_cycle_time_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,v.ToString(),"fork_cycle_time_policy.type");} + setter: v=>{asrs.fork_cycle_time_policy=PolicyFactory.Create(v.ToString());SaveChange(asrs,PolicyFactory.Create(v.ToString()),"fork_cycle_time_policy");} ), CreateForkCycleTimePolicy_Constant(asrs), CreateForkCycleTimePolicy_Normal(asrs), diff --git a/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/GridView.cs b/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/GridView.cs index 64305a80..517a208f 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/GridView.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/GridView.cs @@ -38,9 +38,9 @@ public class GridView : MonoBehaviour cells.Clear(); // 위가 큰 y가 되도록 내림차순 - for (int y = sizeY; y >= 1; y--) + for (int y = sizeY-1; y >= 0; y--) { - for (int x = 1; x <= sizeX; x++) + for (int x = 0; x < sizeX; x++) { var cell = Instantiate(cellPrefab, grid.transform); cell.Init(this, rackIndex, x, y); diff --git a/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/InitialInventoryWindow.cs b/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/InitialInventoryWindow.cs index 43698306..7012370e 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/InitialInventoryWindow.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/InitailizePopup/InitialInventoryWindow.cs @@ -120,7 +120,7 @@ public class InitialInventoryWindow : MonoBehaviour OpenInternal( layout, getter: () => asrs.initialize, - setter: list => asrs.initialize = list, + setter: list => { asrs.initialize = list; SaveChange(asrs, list, "initialize"); }, mode: DimLabelMode.Asrs ); } @@ -261,9 +261,9 @@ public class InitialInventoryWindow : MonoBehaviour Destroy(child.gameObject); rackViews.Clear(); - int rackCount = Mathf.Clamp(l.z, 1, 2); + int rackCount = Mathf.Clamp(l.z-1, 0, 1); - for (int rackIndex = 1; rackIndex <= rackCount; rackIndex++) + for (int rackIndex = 0; rackIndex <= rackCount; rackIndex++) { var view = Instantiate(rackSectionPrefab, rackContainer); view.Build(this, rackIndex, l.x, l.y); diff --git a/Assets/Scripts/Simulator/PropertyWindow/NodeProperty.cs b/Assets/Scripts/Simulator/PropertyWindow/NodeProperty.cs index 193aa78a..94644b6a 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/NodeProperty.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/NodeProperty.cs @@ -58,7 +58,7 @@ public class NodeProperty : MonoBehaviour setter: v => {node.capacity = v;SaveChange(node,v,"capacity"); } ), new EnumProperty("display_mode_ProcessingTimePolicy", "보관 비용 정책",node.processing_time_policy.policy).Bind( - setter: v=>{node.processing_time_policy=PolicyFactory.Create(v.ToString());SaveChange(node,v.ToString(),"processing_time_policy.type");} + setter: v=>{node.processing_time_policy=PolicyFactory.Create(v.ToString());SaveChange(node,PolicyFactory.Create(v.ToString()),"processing_time_policy");} ), CreateProcessingTimePolicy_Constant(node), CreateProcessingTimePolicy_Normal(node), diff --git a/Assets/Scripts/Simulator/PropertyWindow/ProcessorProperty.cs b/Assets/Scripts/Simulator/PropertyWindow/ProcessorProperty.cs index 6de1a0f1..bc9d30a2 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/ProcessorProperty.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/ProcessorProperty.cs @@ -84,7 +84,7 @@ public class ProcessorProperty : MonoBehaviour entries.Add(new EnumProperty("display_mode_ProcessingTimePolicy", "처리 시간 정책", processor.processing_time_policy.policy).Bind( setter: v => { - processor.processing_time_policy = PolicyFactory.Create(v.ToString()); SaveChange(processor, v.ToString(), "processing_time_policy.type"); + processor.processing_time_policy = PolicyFactory.Create(v.ToString()); SaveChange(processor, PolicyFactory.Create(v.ToString()), "processing_time_policy"); })); entries.Add(CreateProcessingTimePolicy_Constant(processor)); entries.Add(CreateProcessingTimePolicy_Normal(processor)); @@ -104,7 +104,7 @@ public class ProcessorProperty : MonoBehaviour entries.Add(new EnumProperty("display_mode_ReadyTimePolicy", "준비 시간 정책", processor.ready_time_policy.policy).Bind( setter: v => { - processor.ready_time_policy = PolicyFactory.Create(v.ToString()); SaveChange(processor, v.ToString(), "ready_time_policy.type"); + processor.ready_time_policy = PolicyFactory.Create(v.ToString()); SaveChange(processor, PolicyFactory.Create(v.ToString()), "ready_time_policy"); })); entries.Add(CreateReadyTimePolicy_Constant(processor)); entries.Add(CreateReadyTimePolicy_Normal(processor)); @@ -115,7 +115,7 @@ public class ProcessorProperty : MonoBehaviour entries.Add(new EnumProperty("display_mode_DefectTimePolicy", "불량률 정책", processor.defect_rate_policy.policy).Bind( setter: v => { - processor.defect_rate_policy = PolicyFactory.Create(v.ToString()); SaveChange(processor, v.ToString(), "defect_rate_policy.type"); + processor.defect_rate_policy = PolicyFactory.Create(v.ToString()); SaveChange(processor, PolicyFactory.Create(v.ToString()), "defect_rate_policy"); })); entries.Add(CreateDefectRatePolicy_Constant(processor)); entries.Add(CreateDefectRatePolicy_Normal(processor)); diff --git a/Assets/Scripts/Simulator/PropertyWindow/QueueProperty.cs b/Assets/Scripts/Simulator/PropertyWindow/QueueProperty.cs index 8f0a378d..3d93e083 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/QueueProperty.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/QueueProperty.cs @@ -61,7 +61,7 @@ public class QueueProperty : MonoBehaviour { IsReadOnly=false }.Bind( - setter: v=>{queue.cost_policy=PolicyFactory.Create(v.ToString());SaveChange(queue,v.ToString(),"cost_policy.type");} + setter: v=>{queue.cost_policy=PolicyFactory.Create(v.ToString());SaveChange(queue,PolicyFactory.Create(v.ToString()),"cost_policy");} ), CreateCostPolicy_Constant(queue), CreateCostPolicy_Normal(queue), diff --git a/Assets/Scripts/Simulator/PropertyWindow/RackProperty.cs b/Assets/Scripts/Simulator/PropertyWindow/RackProperty.cs index 910d2cb0..a7bcbef4 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/RackProperty.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/RackProperty.cs @@ -50,16 +50,18 @@ public class RackProperty : MonoBehaviour setter: v => {rack.is_unlimited=v; SaveChange(rack,v,"is_unlimited"); } ), CreateRackLayoutGroup(rack), + /* new IntProperty("entityperblock","칸당 개체 개수", rack.entity_count_per_block) { IsReadOnly=false }.Bind( setter: v => {rack.entity_count_per_block=v; SaveChange(rack,v,"entity_count_per_block"); } ), + */ new ButtonProperty("InitializeButton","초기 재고 설정",""){ }.BindClick(()=>FindAnyObjectByType(FindObjectsInactive.Include).OpenRack(rack,PathIndexer.GetNodePath(rack))), new EnumProperty("display_mode_ReceicingTimePolicy", "입고 시간 정책",rack.receiving_time_policy.policy).Bind( - setter: v=>{rack.receiving_time_policy=PolicyFactory.Create(v.ToString());SaveChange(rack,v.ToString(),"receiving_time_policy.type");} + setter: v=>{rack.receiving_time_policy=PolicyFactory.Create(v.ToString());SaveChange(rack,PolicyFactory.Create(v.ToString()),"receiving_time_policy");} ), CreateReceivingTimePolicy_Constant(rack), CreateReceivingTimePolicy_Normal(rack), @@ -68,7 +70,7 @@ public class RackProperty : MonoBehaviour CreateReceivingTimePolicy_Triangular(rack), new EnumProperty("display_mode_ShippingTimePolicy", "출고 시간 정책",rack.shipping_time_policy.policy).Bind( - setter: v=>{rack.shipping_time_policy=PolicyFactory.Create(v.ToString());SaveChange(rack,v.ToString(),"shipping_time_policy.type");} + setter: v=>{rack.shipping_time_policy=PolicyFactory.Create(v.ToString());SaveChange(rack,PolicyFactory.Create(v.ToString()),"shipping_time_policy");} ), CreateShippingTimePolicy_Constant(rack), CreateShippingTimePolicy_Normal(rack), @@ -77,7 +79,7 @@ public class RackProperty : MonoBehaviour CreateShippingTimePolicy_Triangular(rack), new EnumProperty("display_mode_StorageCostPolicy", "보관 비용 정책",rack.storage_cost_policy.policy).Bind( - setter: v=>{rack.storage_cost_policy=PolicyFactory.Create(v.ToString());SaveChange(rack,v.ToString(),"storage_cost_policy.type");} + setter: v=>{rack.storage_cost_policy=PolicyFactory.Create(v.ToString());SaveChange(rack,PolicyFactory.Create(v.ToString()),"storage_cost_policy");} ), CreateStorageCostPolicy_Constant(rack), CreateStorageCostPolicy_Normal(rack), diff --git a/Assets/Scripts/Simulator/PropertyWindow/RobotArmProperty.cs b/Assets/Scripts/Simulator/PropertyWindow/RobotArmProperty.cs index 56722f36..d772d3b6 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/RobotArmProperty.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/RobotArmProperty.cs @@ -45,7 +45,7 @@ public class RobotArmProperty : MonoBehaviour ), CreatePositionGroup(robotArm), new EnumProperty("display_mode_RobotArmSpeedPolicy", "로봇팔 속도 정책",robotArm.robot_arm_speed_policy.policy).Bind( - setter: v=>{robotArm.robot_arm_speed_policy=PolicyFactory.Create(v.ToString());SaveChange(robotArm,v.ToString(),"robot_arm_speed_policy.type");} + setter: v=>{robotArm.robot_arm_speed_policy=PolicyFactory.Create(v.ToString());SaveChange(robotArm,PolicyFactory.Create(v.ToString()),"robot_arm_speed_policy");} ), CreateRobotArmSpeedPolicy_Constant(robotArm), CreateRobotArmSpeedPolicy_Normal(robotArm), @@ -54,7 +54,7 @@ public class RobotArmProperty : MonoBehaviour CreateRobotArmSpeedPolicy_Triangular(robotArm), new EnumProperty("display_mode_FailureRatePolicy", "고장률 정책",robotArm.failure_rate_policy.policy).Bind( - setter: v=>{robotArm.failure_rate_policy=PolicyFactory.Create(v.ToString());SaveChange(robotArm,v.ToString(),"failure_rate_policy.type");} + setter: v=>{robotArm.failure_rate_policy=PolicyFactory.Create(v.ToString());SaveChange(robotArm,PolicyFactory.Create(v.ToString()),"failure_rate_policy");} ), CreateFailureRatePolicy_Constant(robotArm), CreateFailureRatePolicy_Normal(robotArm), @@ -63,7 +63,7 @@ public class RobotArmProperty : MonoBehaviour CreateFailureRatePolicy_Triangular(robotArm), new EnumProperty("display_mode_RepairTimePolicy", "수리 시간 정책",robotArm.repair_time_policy.policy).Bind( - setter: v=>{robotArm.repair_time_policy=PolicyFactory.Create(v.ToString());SaveChange(robotArm,v.ToString(),"repair_time_policy.type");} + setter: v=>{robotArm.repair_time_policy=PolicyFactory.Create(v.ToString());SaveChange(robotArm,PolicyFactory.Create(v.ToString()),"repair_time_policy");} ), CreateRepairTimePolicy_Constant(robotArm), CreateRepairTimePolicy_Normal(robotArm), diff --git a/Assets/Scripts/Simulator/PropertyWindow/SourceProperty.cs b/Assets/Scripts/Simulator/PropertyWindow/SourceProperty.cs index 9968dea9..4f84419a 100644 --- a/Assets/Scripts/Simulator/PropertyWindow/SourceProperty.cs +++ b/Assets/Scripts/Simulator/PropertyWindow/SourceProperty.cs @@ -64,7 +64,7 @@ public class SourceProperty : MonoBehaviour setter: v => {source.prefab=v; SaveChange(source,v,"prefab"); } ), new EnumProperty("display_mode_TimePolicy", "생산 간격 정책",source.spawn_time_policy.policy).Bind( - setter: v=>{source.spawn_time_policy=PolicyFactory.Create(v.ToString());SaveChange(source,v.ToString(),"spawn_time_policy.type");} + setter: v=>{source.spawn_time_policy=PolicyFactory.Create(v.ToString());SaveChange(source,PolicyFactory.Create(v.ToString()),"spawn_time_policy");} ), CreateSpawnTimePolicy_Constant(source), CreateSpawnTimePolicy_Normal(source), @@ -73,7 +73,7 @@ public class SourceProperty : MonoBehaviour CreateSpawnTimePolicy_Triangular(source), new EnumProperty("display_mode_CountPolicy", "생산 개수 정책",source.spawn_count_policy.policy).Bind( - setter: v=>{source.spawn_count_policy=PolicyFactory.Create(v.ToString());SaveChange(source,v.ToString(),"spawn_count_policy.type");} + setter: v=>{source.spawn_count_policy=PolicyFactory.Create(v.ToString());SaveChange(source,PolicyFactory.Create(v.ToString()),"spawn_count_policy");} ), CreateSpawnCountPolicy_Constant(source), CreateSpawnCountPolicy_Normal(source), @@ -92,7 +92,7 @@ public class SourceProperty : MonoBehaviour ), new EnumProperty("display_mode_DefectPolicy", "불량률 정책",source.defect_rate_policy.policy).Bind( - setter: v=>{source.defect_rate_policy=PolicyFactory.Create(v.ToString());SaveChange(source,v.ToString(),"defect_rate_policy.type");} + setter: v=>{source.defect_rate_policy=PolicyFactory.Create(v.ToString());SaveChange(source,PolicyFactory.Create(v.ToString()),"defect_rate_policy");} ), CreateSpawnDefectPolicy_Constant(source), CreateSpawnDefectPolicy_Normal(source), diff --git a/Assets/Scripts/Simulator/WebReceiver.cs b/Assets/Scripts/Simulator/WebReceiver.cs index aca2ba73..405c1f0d 100644 --- a/Assets/Scripts/Simulator/WebReceiver.cs +++ b/Assets/Scripts/Simulator/WebReceiver.cs @@ -19,8 +19,8 @@ namespace Simulator onWebParameterRecived += ComponentsManager.Instance.testRequest; onCameraReceived += FactoryCameraController.Instance.SetCamera; #if UNITY_EDITOR - SimulationConfig.projectId = 467; - SimulationConfig.logicId = 478; + SimulationConfig.projectId = 413; + SimulationConfig.logicId = 424; onWebParameterRecived?.Invoke(); DataRepository.Instance.MqttReceiver.SetDomainPort(Constants.MQTT_DOMAIN, Constants.MQTT_PORT); #else diff --git a/Assets/Scripts/UVC/TopUI/SimulationTitleText.cs b/Assets/Scripts/UVC/TopUI/SimulationTitleText.cs index 9cf2c921..a9158eaa 100644 --- a/Assets/Scripts/UVC/TopUI/SimulationTitleText.cs +++ b/Assets/Scripts/UVC/TopUI/SimulationTitleText.cs @@ -9,11 +9,16 @@ public class SimulationTitleText : MonoBehaviour TMP_Text simulationNameTxt; [SerializeField] TMP_Text userNameTxt; + [SerializeField] + Button runButton; + [SerializeField] + Button saveButton; private void Start() { ComponentsManager.Instance.onProjectNameRecieved += UpdateProjectText; ComponentsManager.Instance.onUserNameRecieved += UpdateUserText; + PlayerPropertyDataBase.Instance.onPlay += (value) => SetActiveButton(); } void UpdateProjectText(string data) @@ -27,4 +32,10 @@ public class SimulationTitleText : MonoBehaviour userNameTxt.text = data; LayoutRebuilder.ForceRebuildLayoutImmediate(this.GetComponent()); } + + void SetActiveButton() + { + runButton.interactable = false; + saveButton.interactable = false; + } } diff --git a/Assets/white.mat b/Assets/white.mat index de077507..cd03c09d 100644 --- a/Assets/white.mat +++ b/Assets/white.mat @@ -119,7 +119,7 @@ Material: - _Parallax: 0.005 - _QueueOffset: 0 - _ReceiveShadows: 1 - - _Smoothness: 1 + - _Smoothness: 0.85 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1