Compare commits

...

1 Commits

Author SHA1 Message Date
정영민
c15d6e6a13 Merge branch 'dev/jym/250526_00'
# Conflicts:
#	Assets/Scenes/pre-0.24.0.unity
2025-05-26 10:51:48 +09:00
6 changed files with 100 additions and 12 deletions

View File

@@ -831,6 +831,7 @@ GameObject:
- component: {fileID: 6954167609728662753}
- component: {fileID: 8549676201747870985}
- component: {fileID: 7236664214523229146}
- component: {fileID: 8105564570549308953}
m_Layer: 5
m_Name: Panel_AssetManager
m_TagString: Untagged
@@ -909,6 +910,23 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 25457a0961cc0bb4a949d5fe58c2ada6, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &8105564570549308953
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2762757506943678736}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f9c6f8c6f0c462a4ab09d615c0d0db6c, type: 3}
m_Name:
m_EditorClassIdentifier:
state: 0
resizeDirection: 0
handleThickness: 5
minWidth: 100
minHeight: 100
--- !u!1 &2774336303168765450
GameObject:
m_ObjectHideFlags: 0

View File

@@ -117,8 +117,36 @@ namespace Studio.AssetTool
}
yield return null;
}
}
private void OnLoadAssetSelected(AssetLibraryItem item, AssetData asset)
{
if (item == null || item.linkedObject == null)
{
selectedAssetData = null;
return;
}
selectedAssetData = item.linkedObject.GetComponent<CustomAssetData>();
if (selectedAssetData == null || selectedAssetData.isLoadComplete == false)
{
selectedAssetData = null;
return;
}
selectedItem = UnityEngine.GameObject.Instantiate(renderObjectPrefab);
selectRenderObject = selectedItem.GetComponent<CustomAssetRenderObject>();
selectRenderObject.OnSelected += panel_ObjectDistance.SelectObjectFromCreate;
selectRenderObject.instantiateObject = selectedAssetData.InstantiateLoadedObject;
selectRenderObject.getBounds = selectedAssetData.GetCombinedBoundary;
selectRenderObject.CreateRenderObject();
selectRenderObject.Select();
selectedAssetData.AddTransformToRender(selectedItem.transform);
CoroutineRunner.instance.StartCoroutine(ChangeSelectedAssetTransform());
selectRenderObject.transform.position = new Vector3(asset.position.x, asset.position.y, asset.position.z);
selectRenderObject.transform.eulerAngles = new Vector3(asset.rotation.x, asset.rotation.y, asset.rotation.z);
selectRenderObject.transform.localScale = new Vector3(asset.scale.x, asset.scale.y, asset.scale.z);
}
public void OnAssetSelected(AssetLibraryItem item)
{
if (item == null || item.linkedObject == null)
@@ -190,10 +218,7 @@ namespace Studio.AssetTool
public void OnLoadAsset(AssetData asset)
{
AssetLibraryItem item = assetScrollView.FindItem(asset.name, AssetLibraryItemType.file);
OnAssetSelected(item);
selectRenderObject.transform.position = new Vector3(asset.position.x, asset.position.y, asset.position.z);
selectRenderObject.transform.eulerAngles = new Vector3(asset.rotation.x, asset.rotation.y, asset.rotation.z);
selectRenderObject.transform.localScale = new Vector3(asset.scale.x, asset.scale.y, asset.scale.z);
OnLoadAssetSelected(item, asset);
OnAssetDropped(item);
}

View File

@@ -55,11 +55,11 @@ namespace Studio.AssetTool
var files = Directory.GetFiles(path, "*.fbx", SearchOption.AllDirectories);
if (dataRepo.TryGetDataFromPath(path, out var p))
return;
foreach (var file in files)
{
if (dataRepo.TryGetDataFromPath(path, out var p))
continue;
filePaths.Add(file);
}
@@ -74,6 +74,9 @@ namespace Studio.AssetTool
var directoryPath = Path.GetDirectoryName(file);
var folderName = Path.GetFileName(directoryPath);
if (dataRepo.TryGetDataFromName(assetName, out var p))
continue;
GameObject newObject = new GameObject(assetName);
newObject.transform.parent = fbxAnchor;
CustomAssetData assetData = newObject.AddComponent<CustomAssetData>();
@@ -89,6 +92,7 @@ namespace Studio.AssetTool
OnLoadComplete(assetData);
}
onLoadComplete?.Invoke();
}
public void SaveToLocalData(List<CustomAssetData> assetDatas, string path = "")
@@ -231,7 +235,6 @@ namespace Studio.AssetTool
connector.assetScrollView.AddItem(folderName, null, AssetLibraryItemType.folder);
AssetLibraryItem item = connector.assetScrollView.AddItem(assetData.assetName, assetData.gameObject, AssetLibraryItemType.file, urlSectionItem);
onLoadComplete?.Invoke();
}
}
}

View File

@@ -31,6 +31,7 @@ namespace Studio
fbxFileManager.onLoadComplete += OnLoadCustomAsset;
onAssetManagerDatas += canvas_Popup.panel_assetmanager.SetAssetManager;
onAssetManagerDatas += (data) => projectManager.OpenProjectSettingsDataAfterDataLoad();
}
public void LoadLocalFBXDirectorys(List<string> folderPaths)
{
@@ -80,13 +81,12 @@ namespace Studio
{
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
connector.OnLoadAsset(asset);
itemDict.Add(asset.id, connector.connectedAssets.Last().hierarchyItem);
}
private void RestoreHierarchy(AssetData asset)
{
var connector = ManagerHub.instance.Get<CustomAssetConnector>();
itemDict.TryAdd(asset.id, connector.connectedAssets.Last().hierarchyItem);
foreach (int id in asset.children)
{

View File

@@ -7,6 +7,7 @@ using System.Collections.Generic;
using System;
using Studio.Util;
using Studio.AssetTool;
using System.Linq;
namespace Studio
{
@@ -27,6 +28,30 @@ namespace Studio
public Action<UI_DynamicObjectItem> onUISetting;
public Action<UI_DynamicObjectItem> onRemoveItem;
public void SetDataList(List<string> dataList)
{
this.dataList = dataList;
var preDataDropdownOption = Dropdown_Data.options[Dropdown_Data.value].text;
SetDataDropdown();
foreach(var option in Dropdown_Data.options)
{
Dropdown_Data.value = option.text == preDataDropdownOption ? Dropdown_Data.options.IndexOf(option) : 0;
}
}
public void SetModelList(List<CustomAssetData> modelList)
{
this.modelList = modelList;
var preDataDropdownOption = Dropdown_Model.options[Dropdown_Model.value].text;
SetModelDropdown();
foreach (var option in Dropdown_Model.options)
{
Dropdown_Model.value = option.text == preDataDropdownOption ? Dropdown_Model.options.IndexOf(option) : 0;
}
}
public void SetData(List<string> dataList, List<CustomAssetData> modelList)
{
this.dataList = dataList;
@@ -106,7 +131,11 @@ namespace Studio
{
var dynamic3DModelConnection = new Dynamic3DModelConnection();
dynamic3DModelConnection.dataName = Dropdown_Data.options[Dropdown_Data.value].text;
dynamic3DModelConnection.modelName = selectedModel.assetName;
if (selectedModel != null)
{
dynamic3DModelConnection.modelName = selectedModel.assetName;
}
dynamic3DModelConnection.modelUISettingData = selectDynamicObjectData;
return dynamic3DModelConnection;

View File

@@ -51,7 +51,9 @@ namespace Studio
if (mqttSetting == null)
return;
foreach(var mqttConnection in mqttSetting.mqttConnections)
dataList.Clear();
foreach (var mqttConnection in mqttSetting.mqttConnections)
{
foreach(var mqttTopic in mqttConnection.topics)
{
@@ -59,11 +61,22 @@ namespace Studio
dataList.Add(dataName);
}
}
foreach(var item in dynamicObjectItems)
{
item.SetDataList(dataList);
}
}
public void SetModelDropdownData(CustomAssetDataRepository customAssetDataRepository)
{
modelList.Clear();
var assetDatas = customAssetDataRepository.assetDatas;
modelList.AddRange(assetDatas);
foreach (var item in dynamicObjectItems)
{
item.SetModelList(modelList);
}
}
private void OnClickAddDynamicObjectButton()
{