오브젝트 목록 할당 팝업메세지 추가

This commit is contained in:
준학 노
2025-07-23 17:27:28 +09:00
parent e6d842c89a
commit 07858a99b3
13 changed files with 204 additions and 89 deletions

View File

@@ -1 +0,0 @@
{"TestSuite":"","Date":0,"Player":{"Development":false,"ScreenWidth":0,"ScreenHeight":0,"ScreenRefreshRate":0,"Fullscreen":false,"Vsync":0,"AntiAliasing":0,"Batchmode":false,"RenderThreadingMode":"MultiThreaded","GpuSkinning":true,"Platform":"","ColorSpace":"","AnisotropicFiltering":"","BlendWeights":"","GraphicsApi":"","ScriptingBackend":"IL2CPP","AndroidTargetSdkVersion":"AndroidApiLevelAuto","AndroidBuildSystem":"Gradle","BuildTarget":"WebGL","StereoRenderingPath":"MultiPass"},"Hardware":{"OperatingSystem":"","DeviceModel":"","DeviceName":"","ProcessorType":"","ProcessorCount":0,"GraphicsDeviceName":"","SystemMemorySizeMB":0},"Editor":{"Version":"6000.0.34f1","Branch":"6000.0/staging","Changeset":"5ab2d9ed9190","Date":1736176501},"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","com.unity.render-pipelines.universal@17.0.3","com.unity.timeline@1.8.7","com.unity.ugui@2.0.0","com.unity.modules.accessibility@1.0.0","com.unity.modules.ai@1.0.0","com.unity.modules.androidjni@1.0.0","com.unity.modules.animation@1.0.0","com.unity.modules.assetbundle@1.0.0","com.unity.modules.audio@1.0.0","com.unity.modules.cloth@1.0.0","com.unity.modules.director@1.0.0","com.unity.modules.imageconversion@1.0.0","com.unity.modules.imgui@1.0.0","com.unity.modules.jsonserialize@1.0.0","com.unity.modules.particlesystem@1.0.0","com.unity.modules.physics@1.0.0","com.unity.modules.physics2d@1.0.0","com.unity.modules.screencapture@1.0.0","com.unity.modules.terrain@1.0.0","com.unity.modules.terrainphysics@1.0.0","com.unity.modules.tilemap@1.0.0","com.unity.modules.ui@1.0.0","com.unity.modules.uielements@1.0.0","com.unity.modules.umbra@1.0.0","com.unity.modules.unityanalytics@1.0.0","com.unity.modules.unitywebrequest@1.0.0","com.unity.modules.unitywebrequestassetbundle@1.0.0","com.unity.modules.unitywebrequestaudio@1.0.0","com.unity.modules.unitywebrequesttexture@1.0.0","com.unity.modules.unitywebrequestwww@1.0.0","com.unity.modules.vehicles@1.0.0","com.unity.modules.video@1.0.0","com.unity.modules.vr@1.0.0","com.unity.modules.wind@1.0.0","com.unity.modules.xr@1.0.0","com.tivadar.best.http@3.0.15","com.tivadar.best.mqtt@3.0.4","com.tivadar.best.stomp@1.0.2","com.tivadar.best.websockets@3.0.7","com.unity.burst@1.8.19","com.unity.profiling.core@1.0.2","com.unity.modules.subsystems@1.0.0","com.unity.modules.hierarchycore@1.0.0","com.unity.render-pipelines.core@17.0.3","com.unity.shadergraph@17.0.3","com.unity.render-pipelines.universal-config@17.0.3","com.unity.test-framework@1.4.5","com.unity.mathematics@1.3.2","com.unity.searcher@4.9.2","com.unity.collections@2.5.1","com.unity.rendering.light-transport@1.0.1","com.unity.ext.nunit@2.0.5","com.unity.nuget.mono-cecil@1.11.4","com.unity.test-framework.performance@3.0.3"],"Results":[]}

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 264a71b5ca6ec9047997f5ec3f834852
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1 +0,0 @@
{"MeasurementCount":-1}

View File

@@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 0d4431275fffd7d4ea71b545d80dffd8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -177,7 +177,7 @@ MonoBehaviour:
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
@@ -187,7 +187,7 @@ MonoBehaviour:
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_overflowMode: 4
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
@@ -503,6 +503,79 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2341351934619014675
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8215896784563428912}
- component: {fileID: 6537897588589564221}
- component: {fileID: 6952295977026643918}
m_Layer: 5
m_Name: Panel_Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8215896784563428912
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2341351934619014675}
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: 5051791156075670658}
- {fileID: 2740215269918672833}
m_Father: {fileID: 7017054633992713509}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 45}
m_SizeDelta: {x: 0, y: 38.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6537897588589564221
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2341351934619014675}
m_CullTransparentMesh: 1
--- !u!114 &6952295977026643918
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2341351934619014675}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 4
m_Spacing: 50
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &3840152428425978104
GameObject:
m_ObjectHideFlags: 0
@@ -530,17 +603,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3840152428425978104}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 742181303751640244}
m_Father: {fileID: 7017054633992713509}
m_Father: {fileID: 8215896784563428912}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 60, y: 45}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 38.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7602287574458209645
@@ -949,18 +1022,18 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6949764116572906181}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 8369763454980096112}
- {fileID: 8129750435633852209}
m_Father: {fileID: 7017054633992713509}
m_Father: {fileID: 8215896784563428912}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: -60, y: 45}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 38.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1004964247662084441
@@ -1091,8 +1164,7 @@ RectTransform:
m_Children:
- {fileID: 1061636559651041083}
- {fileID: 6608665065944768619}
- {fileID: 5051791156075670658}
- {fileID: 2740215269918672833}
- {fileID: 8215896784563428912}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}

View File

@@ -5234,11 +5234,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5871922466397881520, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5871922466397881520, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: -17
objectReference: {fileID: 0}
- target: {fileID: 6070406138535321880, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
propertyPath: m_AnchorMax.y
@@ -5378,11 +5378,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 8217011211687897350, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
propertyPath: m_Size
value: 1
value: 0.9492536
objectReference: {fileID: 0}
- target: {fileID: 8217011211687897350, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
propertyPath: m_Value
value: 1
value: -0.000007180594
objectReference: {fileID: 0}
- target: {fileID: 8825307241346239189, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
propertyPath: m_AnchorMax.y
@@ -5469,7 +5469,8 @@ PrefabInstance:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_RemovedGameObjects:
- {fileID: 794060076901037979, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8399fc044b9f80245be55f692ba44a15, type: 3}

View File

@@ -33,28 +33,28 @@ MonoBehaviour:
m_Settings:
m_SettingsList:
m_List:
- rid: 7810220825279463539
- rid: 7810220825279463540
- rid: 7810220825279463551
- rid: 7810220825279463552
- rid: 6852985685364965378
- rid: 6852985685364965379
- rid: 6852985685364965380
- rid: 6852985685364965381
- rid: 7810220825279463541
- rid: 7810220825279463542
- rid: 7810220825279463553
- rid: 7810220825279463554
- rid: 6852985685364965384
- rid: 6852985685364965385
- rid: 7810220825279463543
- rid: 7810220825279463544
- rid: 7810220825279463545
- rid: 7810220825279463546
- rid: 7810220825279463547
- rid: 7810220825279463548
- rid: 7810220825279463555
- rid: 7810220825279463556
- rid: 7810220825279463557
- rid: 7810220825279463558
- rid: 7810220825279463559
- rid: 7810220825279463560
- rid: 6852985685364965392
- rid: 7810220825279463549
- rid: 7810220825279463561
- rid: 6852985685364965394
- rid: 8712630790384254976
- rid: 5092397466944798720
- rid: 7810220825279463550
- rid: 7810220825279463562
m_RuntimeSettings:
m_List:
- rid: 6852985685364965378
@@ -156,14 +156,14 @@ MonoBehaviour:
m_version: 0
m_EnableCompilationCaching: 1
m_EnableValidityChecks: 1
- rid: 7810220825279463539
- rid: 7810220825279463551
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_StripUnusedPostProcessingVariants: 1
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
- rid: 7810220825279463540
- rid: 7810220825279463552
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
@@ -175,7 +175,7 @@ MonoBehaviour:
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
- rid: 7810220825279463541
- rid: 7810220825279463553
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
@@ -190,7 +190,7 @@ MonoBehaviour:
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
- rid: 7810220825279463542
- rid: 7810220825279463554
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
@@ -199,7 +199,7 @@ MonoBehaviour:
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- rid: 7810220825279463543
- rid: 7810220825279463555
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
data:
m_Version: 0
@@ -212,13 +212,13 @@ MonoBehaviour:
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
- rid: 7810220825279463544
- rid: 7810220825279463556
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
- rid: 7810220825279463545
- rid: 7810220825279463557
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
@@ -231,12 +231,12 @@ MonoBehaviour:
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
- rid: 7810220825279463546
- rid: 7810220825279463558
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
m_ProbeVolumeDisableStreamingAssets: 0
- rid: 7810220825279463547
- rid: 7810220825279463559
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
@@ -246,21 +246,21 @@ MonoBehaviour:
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
- rid: 7810220825279463548
- rid: 7810220825279463560
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
m_IncludeReferencedInScenes: 0
m_IncludeAssetsByLabel: 0
m_LabelToInclude:
- rid: 7810220825279463549
- rid: 7810220825279463561
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
- rid: 7810220825279463550
- rid: 7810220825279463562
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}

View File

@@ -170,6 +170,23 @@ namespace Octopus.Simulator
onLogicItemSelected?.Invoke(item);
}
public string GetUnassignedList()
{
var logicstatus = FindAnyObjectByType<Panel_LogicStatus>();
string result = string.Empty;
foreach(var item in itemMap)
{
var value = logicstatus.Panel_PlacedObject.GetDropDownValue(item.Key);
if(value == 0)
{
if (!item.Value.ItemType.Equals(LogicItemType.Resource))
{
result += string.IsNullOrEmpty(result) ? item.Value.Label : $",{item.Value.Label}";
}
}
}
return result;
}
public void ModelSelected(SimulationModel model)
{
if (itemMap.ContainsKey(model.nodeID))

View File

@@ -1,13 +1,15 @@
using UnityEngine;
using UnityEngine;
using UnityEngine.UI;
namespace Octopus.Simulator {
public class Panel_LogicStatus : MonoBehaviour
{
RectTransform rect;
Panel_LogicData Panel_LogicData;
Panel_PlacedObject Panel_PlacedObject;
Panel_ConnectedObject Panel_ConnectedObject;
Panel_LogicData panel_LogicData;
Panel_PlacedObject panel_PlacedObject;
Panel_ConnectedObject panel_ConnectedObject;
public Panel_PlacedObject Panel_PlacedObject { get { return panel_PlacedObject; } }
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Awake()
{
@@ -16,11 +18,11 @@ namespace Octopus.Simulator {
private void Start()
{
Panel_LogicData = gameObject.transform.Find(nameof(Panel_LogicData)).GetComponent<Panel_LogicData>();
Panel_PlacedObject = gameObject.transform.Find(nameof(Panel_PlacedObject)).GetComponent<Panel_PlacedObject>();
Panel_ConnectedObject = gameObject.transform.Find(nameof(Panel_ConnectedObject)).GetComponent<Panel_ConnectedObject>();
Panel_LogicData.onPanelUpdated += PanelUpdate;
Panel_ConnectedObject.onPanelUpdated += PanelUpdate;
panel_LogicData = GetComponentInChildren<Panel_LogicData>(true);
panel_PlacedObject = GetComponentInChildren<Panel_PlacedObject>(true);
panel_ConnectedObject = GetComponentInChildren<Panel_ConnectedObject>(true);
panel_LogicData.onPanelUpdated += PanelUpdate;
panel_ConnectedObject.onPanelUpdated += PanelUpdate;
}
void PanelUpdate()

View File

@@ -1,4 +1,4 @@
using UnityEngine;
using UnityEngine;
using System.Collections.Generic;
using UnityEngine.UI;
using System;
@@ -41,11 +41,12 @@ namespace Octopus.Simulator
dropdown.onValueChanged.RemoveAllListeners();
dropdown.ClearOptions();
// 3) 옵션 데이터 생성
// 3) 옵션 데이터 생성
List<TMP_Dropdown.OptionData> options = new List<TMP_Dropdown.OptionData>
{
new TMP_Dropdown.OptionData("선택되지않음")
new TMP_Dropdown.OptionData("선택되지않음")
};
foreach (var model in models)
{
options.Add(new TMP_Dropdown.OptionData(model.name));
@@ -54,25 +55,25 @@ namespace Octopus.Simulator
var current = LogicMappingDataBase.GetGameObject(mappingKey);
if (current != null)
{
// models 리스트에서 current와 같은 객체의 인덱스 찾기
// models 리스트에서 current와 같은 객체의 인덱스 찾기
int modelIndex = models.FindIndex(m => m == current);
if (modelIndex >= 0)
{
// 플레이스홀더(0) 다음이므로 +1
// 플레이스홀더(0) 다음이므로 +1
dropdown.value = modelIndex + 1;
}
else
{
dropdown.value = 0; // 혹시 리스트에 없으면 플레이스홀더
dropdown.value = 0; // 혹시 리스트에 없으면 플레이스홀더
}
}
else
{
dropdown.value = 0; // 매핑된 게 없으면 플레이스홀더
dropdown.value = 0; // 매핑된 게 없으면 플레이스홀더
}
dropdown.RefreshShownValue();
// 4) 콜백 초기화 후 등록
// 4) 콜백 초기화 후 등록
dropdown.onValueChanged.RemoveAllListeners();
dropdown.onValueChanged.AddListener(idx =>
{
@@ -98,10 +99,10 @@ namespace Octopus.Simulator
dropdown.onValueChanged.RemoveAllListeners();
dropdown.ClearOptions();
// 3) 옵션 데이터 생성
// 3) 옵션 데이터 생성
List<TMP_Dropdown.OptionData> options = new List<TMP_Dropdown.OptionData>
{
new TMP_Dropdown.OptionData("선택되지않음")
new TMP_Dropdown.OptionData("선택되지않음")
};
foreach (var model in models)
{
@@ -111,24 +112,24 @@ namespace Octopus.Simulator
var current = LogicMappingDataBase.GetGameObject(mappingkey);
if (current != null)
{
// models 리스트에서 current와 같은 객체의 인덱스 찾기
// models 리스트에서 current와 같은 객체의 인덱스 찾기
int modelIndex = models.FindIndex(m => m == current);
if (modelIndex >= 0)
{
// 플레이스홀더(0) 다음이므로 +1
// 플레이스홀더(0) 다음이므로 +1
dropdown.value = modelIndex + 1;
}
else
{
dropdown.value = 0; // 혹시 리스트에 없으면 플레이스홀더
dropdown.value = 0; // 혹시 리스트에 없으면 플레이스홀더
}
}
else
{
dropdown.value = 0; // 매핑된 게 없으면 플레이스홀더
dropdown.value = 0; // 매핑된 게 없으면 플레이스홀더
}
dropdown.RefreshShownValue();
// 4) 콜백 초기화 후 등록
// 4) 콜백 초기화 후 등록
dropdown.onValueChanged.RemoveAllListeners();
dropdown.onValueChanged.AddListener(idx =>
{
@@ -148,6 +149,31 @@ namespace Octopus.Simulator
});
}
public int GetDropDownValue(string mappingKey)
{
var current = LogicMappingDataBase.GetGameObject(mappingKey);
var models = DataManager.I.GetModels();
var result = 0;
if (current != null)
{
// models 리스트에서 current와 같은 객체의 인덱스 찾기
int modelIndex = models.FindIndex(m => m == current);
if (modelIndex >= 0)
{
// 플레이스홀더(0) 다음이므로 +1
result = modelIndex + 1;
}
else
{
result = 0; // 혹시 리스트에 없으면 플레이스홀더
}
}
else
{
result = 0; // 매핑된 게 없으면 플레이스홀더
}
return result;
}
public void SetPlacedObjectDataItem(ILogicItem item)
{
SetDropdown(item.Name);

View File

@@ -10,6 +10,8 @@ using Best.MQTT;
using Best.MQTT.Packets;
using RTG;
using System.Collections;
using Octopus.Simulator.UI.Popup;
using Cysharp.Threading.Tasks;
namespace Octopus.Simulator
{
@@ -78,6 +80,12 @@ namespace Octopus.Simulator
}
else
{
var unassingedList = LogicUIManager.instance.GetUnassignedList();
if(!string.IsNullOrEmpty(unassingedList))
{
AlertManager.I.ShowAlert("오브젝트 할당 필요", $"{unassingedList} \n해당 오브젝트 목록을 할당해 주세요").Forget();
return;
}
isplaying = true;
Button_Play.image.sprite = playing;
onPlaying?.Invoke(isplaying);

View File

@@ -1,4 +1,4 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Linq;
using UnityEngine;
using System;
using System.Collections.Concurrent;
@@ -533,6 +533,11 @@ public class SimulationModelMove : SimulationModel
}
var model = DataManager.I.GetModel(targetID);
if(model == null)
{
Debug.LogWarning($"Datamanager Model Null!!!!! TargetID:{targetID}");
return;
}
SimulationModelStore storeModel = model.GetComponent<SimulationModelStore>();
if (listProducts.Count > 0)
@@ -588,13 +593,13 @@ public class SimulationModelMove : SimulationModel
if (currentBubble == null)
{
// 생성
// 생성
currentBubble = Instantiate(bubbleUIPrefab, FindAnyObjectByType<Canvas_Bubble>().transform);
currentBubble.target = DataBubbleSocket;
currentBubble.worldOffset = new Vector3(0, 2.0f, 0); // 필요에 따라 조절
currentBubble.worldOffset = new Vector3(0, 2.0f, 0); // 필요에 따라 조절
currentBubble.GetComponent<RectTransform>().SetAsFirstSibling();
}
// 텍스트 갱신
// 텍스트 갱신
currentBubble.SetMessage(msg);
List<string> datas = new List<string>
{

View File

@@ -21,9 +21,9 @@ namespace Octopus.Simulator.Networks
onParameterRecived += FindAnyObjectByType<ProjectDataManager>().RequestInfo;
onParameterRecived += FindAnyObjectByType<LogicDataManager>().RequestInfo;
#if UNITY_EDITOR
config.projectId = "63";
config.projectId = "56";
//config.simulationId = "15";
config.logicId = "68";
config.logicId = "61";
WebParameters.config = config;
onParameterRecived?.Invoke();
#else