[정영민] 프로젝트 선택 기능 수정 작업

26.01.29
- 프로젝트 선택 기능 수정 작업
This commit is contained in:
정영민
2026-01-29 15:31:00 +09:00
parent 474894b888
commit 741b7ee4d5
12 changed files with 293 additions and 11 deletions

View File

@@ -0,0 +1,54 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: 16995157, guid: a811bde74b26b53498b4f6d872b09b6d, type: 3}
m_Name: DOTweenSettings
m_EditorClassIdentifier: DOTween.dll::DG.Tweening.Core.DOTweenSettings
useSafeMode: 1
safeModeOptions:
logBehaviour: 2
nestedTweenFailureBehaviour: 0
timeScale: 1
unscaledTimeScale: 1
useSmoothDeltaTime: 0
maxSmoothUnscaledTime: 0.15
rewindCallbackMode: 0
showUnityEditorReport: 0
logBehaviour: 0
drawGizmos: 1
defaultRecyclable: 0
defaultAutoPlay: 3
defaultUpdateType: 0
defaultTimeScaleIndependent: 0
defaultEaseType: 6
defaultEaseOvershootOrAmplitude: 1.70158
defaultEasePeriod: 0
defaultAutoKill: 1
defaultLoopType: 0
debugMode: 0
debugStoreTargetId: 1
showPreviewPanel: 1
storeSettingsLocation: 0
modules:
showPanel: 0
audioEnabled: 1
physicsEnabled: 1
physics2DEnabled: 1
spriteEnabled: 1
uiEnabled: 1
textMeshProEnabled: 0
tk2DEnabled: 0
deAudioEnabled: 0
deUnityExtendedEnabled: 0
epoOutlineEnabled: 0
createASMDEF: 0
showPlayingTweens: 0
showPausedTweens: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bc84b1eda74358f47ac107c27d19a910
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -256,6 +256,80 @@ Transform:
- {fileID: 628078963}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &188315806
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 188315807}
- component: {fileID: 188315809}
- component: {fileID: 188315808}
m_Layer: 5
m_Name: KEPCOFacilityAndSensorLabelCanvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &188315807
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 188315806}
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: 749811071}
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!114 &188315808
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 188315806}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 28a477308da5f7642906ccc8a7bee928, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ChunilENG.Management.ThermostatInfoItemManager
isInit: 0
thermostatInfoItem: {fileID: 0}
defaultNameHeight: 1.5
originScale: {x: 1, y: 1, z: 1}
minScale: 0.8
maxScale: 1.3
scaleClamp: 1
--- !u!114 &188315809
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 188315806}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87daeb4bd8cb62344b867db30c2c34cd, type: 3}
m_Name:
m_EditorClassIdentifier:
isInit: 0
machineInfoItem: {fileID: 0}
defaultNameHeight: 1.5
minScale: 0.75
maxScale: 1.3
scaleClamp: 1
--- !u!1 &206414007
GameObject:
m_ObjectHideFlags: 0
@@ -964,6 +1038,8 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1943212478}
- {fileID: 188315807}
- {fileID: 1851378393}
m_Father: {fileID: 498761980}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -1771,6 +1847,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ChunilENG.ChunilENGAppMain
cameraController: {fileID: 0}
projectListController: {fileID: 0}
--- !u!1 &1523259836
GameObject:
m_ObjectHideFlags: 0
@@ -2238,6 +2315,80 @@ MonoBehaviour:
currentDistance: 30
currentAzimuth: 32
cameraPivot: {fileID: 0}
--- !u!1 &1851378392
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1851378393}
- component: {fileID: 1851378395}
- component: {fileID: 1851378394}
m_Layer: 5
m_Name: HyundaiWIA
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1851378393
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1851378392}
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: 749811071}
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!114 &1851378394
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1851378392}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 28a477308da5f7642906ccc8a7bee928, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ChunilENG.Management.ThermostatInfoItemManager
isInit: 0
thermostatInfoItem: {fileID: 0}
defaultNameHeight: 1.5
originScale: {x: 1, y: 1, z: 1}
minScale: 0.8
maxScale: 1.3
scaleClamp: 1
--- !u!114 &1851378395
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1851378392}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 87daeb4bd8cb62344b867db30c2c34cd, type: 3}
m_Name:
m_EditorClassIdentifier:
isInit: 0
machineInfoItem: {fileID: 0}
defaultNameHeight: 1.5
minScale: 0.75
maxScale: 1.3
scaleClamp: 1
--- !u!1 &1894899057
GameObject:
m_ObjectHideFlags: 0
@@ -3356,6 +3507,10 @@ PrefabInstance:
propertyPath: m_StaticShadowCaster
value: 0
objectReference: {fileID: 0}
- target: {fileID: 290325765835358597, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 5
objectReference: {fileID: 0}
- target: {fileID: 295142088309498721, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_StaticEditorFlags
value: 1
@@ -9828,6 +9983,10 @@ PrefabInstance:
propertyPath: m_StaticEditorFlags
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3183993441619517544, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3190154346075120442, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_CastShadows
value: 1
@@ -12000,6 +12159,10 @@ PrefabInstance:
propertyPath: m_StaticEditorFlags
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4184018941781392851, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 2
objectReference: {fileID: 0}
- target: {fileID: 4185318652204861182, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_StaticEditorFlags
value: 1
@@ -13256,6 +13419,10 @@ PrefabInstance:
propertyPath: m_StaticShadowCaster
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4765074342053365812, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4767237812867436520, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_StaticEditorFlags
value: 1
@@ -15504,6 +15671,10 @@ PrefabInstance:
propertyPath: m_RenderingLayerMask
value: 4294967295
objectReference: {fileID: 0}
- target: {fileID: 5901532726994830447, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 3
objectReference: {fileID: 0}
- target: {fileID: 5904592878466902507, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_ScaleInLightmap
value: 0
@@ -16192,6 +16363,10 @@ PrefabInstance:
propertyPath: m_StaticEditorFlags
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6261162410268618183, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 4
objectReference: {fileID: 0}
- target: {fileID: 6272054069949685752, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_CastShadows
value: 1
@@ -19848,6 +20023,10 @@ PrefabInstance:
propertyPath: m_StaticEditorFlags
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8015710047439777487, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: index
value: 6
objectReference: {fileID: 0}
- target: {fileID: 8016581240934273481, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3}
propertyPath: m_StaticEditorFlags
value: 1

View File

@@ -14,6 +14,7 @@ namespace ChunilENG
public class ChunilENGAppMain : SingletonApp<ChunilENGAppMain>
{
public OrbitalController cameraController;
public ProjectListController projectListController;
public Action Initialized;
@@ -29,6 +30,7 @@ namespace ChunilENG
SetNetworkConfig();
cameraController = FindAnyObjectByType<OrbitalController>();
projectListController = FindAnyObjectByType<ProjectListController>();
if (Initialized != null)
{

View File

@@ -0,0 +1,18 @@
using ChunilENG.Management;
using UVC.UI.Commands;
namespace ChunilENG.UI.Command
{
public class OpenHomePanelCommand : ICommand
{
public void Execute(object? parameter = null)
{
ChunilENGAppMain.Instance.projectListController.ReturnHome();
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<PopupCanvas>().ClosePanel();
//uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().ResetToolBox();
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 3e1b334660e386c48b576e833e45ec81

View File

@@ -15,7 +15,7 @@ namespace ChunilENG
private List<Thermostat> thermostatList = new List<Thermostat>();
// Floor
public Floor GetCurFloor() { return floorList[curFloorIndex + 1]; }
public Floor GetCurFloor() { return floorList[curFloorIndex]; }
private List<Floor> floorList = new List<Floor>();
private int curFloorIndex;
@@ -59,9 +59,9 @@ namespace ChunilENG
public void SetFloor(int index)
{
for (int i = 0; i < floorList.Count; ++i)
for (int i = 1; i < floorList.Count; ++i)
{
bool bottom = i <= index + 1;
bool bottom = i <= index;
floorList[i].gameObject.SetActive(bottom);
}

View File

@@ -25,13 +25,13 @@ namespace ChunilENG.UI
SelectImage = transform.Find(nameof(SelectImage)).GetComponent<Image>();
if (value + 1 >= 6)
if (value >= 6)
{
buttonText.SetText("RF");
}
else
{
buttonText.SetText($"{value + 1}F");
buttonText.SetText($"{value}F");
}
button.onClick.AddListener(OnClickButton);

View File

@@ -10,7 +10,7 @@ namespace ChunilENG.UI
{
public class FloorControlPanel : UIPanel
{
public List<FloorControlItem> floorButtons = new List<FloorControlItem>();
public Dictionary<int, FloorControlItem> floorButtons = new Dictionary<int, FloorControlItem>();
public FloorControlItem itemPrefab;
public FloorControlItem currentFloorItem;
@@ -19,19 +19,19 @@ namespace ChunilENG.UI
public override async UniTask Init()
{
itemPrefab = Resources.Load<FloorControlItem>($"{ResourceURL.chunilENGUIPrefabFolderPath}{nameof(FloorControlItem)}");
SettingButtons(5);
SettingButtons(6);
gameObject.SetActive(false);
await UniTask.CompletedTask;
}
public void SettingButtons(int floorCount)
{
for (int i = 0; i <= floorCount; i++)
for (int i = 1; i <= floorCount; i++)
{
var floorButton = Instantiate(itemPrefab, transform);
floorButton.SettingButton(i);
floorButton.onClickButton += OnClickButton;
floorButtons.Add(floorButton);
floorButtons.Add(i, floorButton);
}
ChangeValueFromOutside(floorCount);

View File

@@ -61,7 +61,10 @@ namespace ChunilENG
"설정 창을 엽니다.");
//홈 화면 돌아가기
toolbarModel.AddStandardButton("홈 화면 돌아가기", $"{ResourceURL.uiSpriteFolderPath}TopToolBar/IMG_Exit", new ActionCommand(() => { Debug.Log("홈 화면 돌아가기 창 열기"); var controller = FindFirstObjectByType<ProjectListController>(FindObjectsInactive.Include); if (controller != null) { controller.ReturnHome(); } }), "홈 화면 돌아가기 창을 엽니다.");
toolbarModel.AddStandardButton("홈 화면 돌아가기",
$"{ResourceURL.uiSpriteFolderPath}TopToolBar/IMG_Exit",
new OpenHomePanelCommand(),
"홈 화면 돌아가기 창을 엽니다.");
topToolBox.SetData(toolbarModel);
topToolBox.Initialize();

View File

@@ -143,7 +143,7 @@ namespace OCTOPUS_TWIN
}
private void SetActiveProgjectDataObject(Transform parent, string targetName, bool isOn)
{
Transform targetModel = parent.Find(targetName);
Transform targetModel = FindInChildren(parent, targetName);
if (targetModel != null)
{
@@ -154,6 +154,15 @@ namespace OCTOPUS_TWIN
Debug.LogError($"'{parent.name}' 아래에서 '{targetName}' 오브젝트를 찾을 수 없습니다. 이름을 확인해주세요.");
}
}
private Transform FindInChildren(Transform parent, string name)
{
foreach (Transform child in parent.GetComponentsInChildren<Transform>(true))
{
if (child.name == name)
return child;
}
return null;
}
public void ReturnHome()
{

View File

@@ -50,6 +50,13 @@ namespace UVC.UI
break;
}
}
public void ClosePanel()
{
foreach(var panel in panels)
{
panel.Close();
}
}
public async UniTask<T> LoadPanel<T>(Transform parent = null) where T : UIPanel
{