diff --git a/Assets/Scripts/Studio/AssetTool/FBXFileManager.cs b/Assets/Scripts/Studio/AssetTool/FBXFileManager.cs index c2f11fcf..17a2d2af 100644 --- a/Assets/Scripts/Studio/AssetTool/FBXFileManager.cs +++ b/Assets/Scripts/Studio/AssetTool/FBXFileManager.cs @@ -17,19 +17,19 @@ namespace XED.Manage { public class FBXFileManager : Manager { - CustomAssetDataRepository dataRepo; + public CustomAssetDataRepository dataRepo; public string identifier; public string password; public UnityEvent onRemoveFbxFile; - private SaveData saveData; + public SaveData saveData; private Queue loadFilePath = new Queue(); - private SharedMaterial sharedMaterial; + public SharedMaterial sharedMaterial; private MessagePackFileManager messagePacker; private bool isSaveTaskComplete = true; public bool isLoadTaskComplete = true; - private Transform fbxAnchor; + public Transform fbxAnchor; public FBXFileManager() { @@ -145,16 +145,9 @@ namespace XED.Manage yield break; } - saveData = task.Result; - // float loadTime = 0f; - - - var command = new LoadLocalTextureDataCommand(sharedMaterial, saveData.textureDatas); - CommandInvoker.instance.Invoke(command); - - - var command2 = new LoadLocalModelDataCommand(saveData, dataRepo, fbxAnchor, sharedMaterial); - CommandInvoker.instance.Invoke(command2); + saveData = task.Result; + CommandInvoker.instance.Invoke(new LoadLocalTextureDataCommand()); + CommandInvoker.instance.Invoke(new LoadLocalModelDataCommand()); isLoadTaskComplete = true; } diff --git a/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs b/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs index 722f996c..2fb3039a 100644 --- a/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs +++ b/Assets/Scripts/Studio/AssetTool/RenderObjectHandler.cs @@ -20,7 +20,7 @@ namespace XED.Util List copyRenderObjects = new List(); List selectedGameObjects = new List(); CustomAssetRenderObject prevSelectedObject; - RTGController rtgController; + public RTGController rtgController; ConvexHullCalculator convexHullCalculator = new ConvexHullCalculator(); UserInputManager userInputManager; Vector3 clickBeginPos; diff --git a/Assets/Scripts/Studio/Command/FileCommand/LoadLocalModelDataCommand.cs b/Assets/Scripts/Studio/Command/FileCommand/LoadLocalModelDataCommand.cs index 446c4ebc..a2cd1415 100644 --- a/Assets/Scripts/Studio/Command/FileCommand/LoadLocalModelDataCommand.cs +++ b/Assets/Scripts/Studio/Command/FileCommand/LoadLocalModelDataCommand.cs @@ -10,19 +10,12 @@ namespace XED.Command { public class LoadLocalModelDataCommand : IIrreversibleCommand { - private SaveData saveData; - private CustomAssetDataRepository dataRepo; - private Transform fbxAnchor; - private SharedMaterial sharedMaterial; - - float loadTime = 0f; + private FBXFileManager fbxFileManager; + private float loadTime = 0f; - public LoadLocalModelDataCommand(SaveData saveData, CustomAssetDataRepository dataRepo, Transform fbxAnchor, SharedMaterial sharedMaterial) + public LoadLocalModelDataCommand() { - this.saveData = saveData; - this.dataRepo = dataRepo; - this.fbxAnchor = fbxAnchor; - this.sharedMaterial = sharedMaterial; + } public string id { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } @@ -34,7 +27,9 @@ namespace XED.Command public void Execute() { - for (int i = 0; i < saveData.modelDatas.Length; i++) + fbxFileManager = ManagerHub.instance.Get(); + + for (int i = 0; i < fbxFileManager.saveData.modelDatas.Length; i++) { CoroutineRunner.instance.StartCoroutine(LoadModelData(i)); } @@ -42,7 +37,7 @@ namespace XED.Command IEnumerator LoadModelData(int index) { - if (!LoadSaveData(saveData, index)) + if (!LoadSaveData(fbxFileManager.saveData, index)) yield break; loadTime += Time.deltaTime; @@ -58,7 +53,7 @@ namespace XED.Command var modelData = saveData.modelDatas[index]; string assetName = modelData.attributes.FirstOrDefault(x => x[0].Equals("assetName"))?[1]; - if (dataRepo.TryGetDataFromName(assetName, out var p)) + if (fbxFileManager.dataRepo.TryGetDataFromName(assetName, out var p)) return false; string folderName = modelData.attributes.FirstOrDefault(x => x[0].Equals("folderName"))?[1]; @@ -71,7 +66,7 @@ namespace XED.Command Texture2D thumbnail = new Texture2D(1, 1); thumbnail.LoadImage(saveData.thumbnailDatas[index].data); GameObject newObject = new GameObject(assetName); - newObject.transform.parent = fbxAnchor; + newObject.transform.parent = fbxFileManager.fbxAnchor; CustomAssetData assetData = newObject.AddComponent(); assetData.assetName = assetName; assetData.folderName = folderName; @@ -80,11 +75,11 @@ namespace XED.Command assetData.UploadDate = uploadDate; assetData.Creator = creator; assetData.Manager = manager; - assetData.loadedObject = modelData.LoadModelData(sharedMaterial); + assetData.loadedObject = modelData.LoadModelData(fbxFileManager.sharedMaterial); assetData.thumbnail = thumbnail; assetData.OnLoadComplete(); - dataRepo.Add(assetData); + fbxFileManager.dataRepo.Add(assetData); //listAssets.Add(assetData); ManagerHub.instance.Get().assetDataHandler.OnLoadFbxFile(assetData.assetName, assetData.folderName, assetData); diff --git a/Assets/Scripts/Studio/Command/FileCommand/LoadLocalTextureDataCommand.cs b/Assets/Scripts/Studio/Command/FileCommand/LoadLocalTextureDataCommand.cs index f78c894b..eedfd4fb 100644 --- a/Assets/Scripts/Studio/Command/FileCommand/LoadLocalTextureDataCommand.cs +++ b/Assets/Scripts/Studio/Command/FileCommand/LoadLocalTextureDataCommand.cs @@ -6,15 +6,12 @@ namespace XED.Command { public class LoadLocalTextureDataCommand : IIrreversibleCommand { - private SharedMaterial sharedMaterial; - private TextureData[] textureData; + private FBXFileManager fbxFileManager; + private float loadTime = 0f; - float loadTime = 0f; - - public LoadLocalTextureDataCommand(SharedMaterial sharedMaterial, TextureData[] textureData) + public LoadLocalTextureDataCommand() { - this.sharedMaterial = sharedMaterial; - this.textureData = textureData; + } public string id { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); } @@ -25,8 +22,10 @@ namespace XED.Command } public void Execute() - { - foreach (var tex in textureData) + { + fbxFileManager = ManagerHub.instance.Get(); + + foreach (var tex in fbxFileManager.saveData.textureDatas) { CoroutineRunner.instance.StartCoroutine(LoadTextureData(tex)); } @@ -35,7 +34,7 @@ namespace XED.Command IEnumerator LoadTextureData(TextureData texData) { - sharedMaterial.AddTextureData(texData); + fbxFileManager.sharedMaterial.AddTextureData(texData); loadTime += Time.deltaTime; if (loadTime > 1f / 30f) diff --git a/Assets/Scripts/Studio/Command/GizmoCommand/ActivateMoveGizmoCommand.cs b/Assets/Scripts/Studio/Command/GizmoCommand/ActivateMoveGizmoCommand.cs index cceb658a..bb82ebb9 100644 --- a/Assets/Scripts/Studio/Command/GizmoCommand/ActivateMoveGizmoCommand.cs +++ b/Assets/Scripts/Studio/Command/GizmoCommand/ActivateMoveGizmoCommand.cs @@ -1,5 +1,6 @@ using XED.Manage; using XED.RuntimeGizmo; +using XED.Util; namespace XED.Command { @@ -19,8 +20,8 @@ namespace XED.Command public void Execute() { - var rtgController = new RTGController(); - rtgController.SetWorkGizmoId(RTGController.GizmoId.Move); + var renderObjectHandler = ManagerHub.instance.Get(); + renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.Move); } } } diff --git a/Assets/Scripts/Studio/Command/GizmoCommand/ActivateRotateGizmoCommand.cs b/Assets/Scripts/Studio/Command/GizmoCommand/ActivateRotateGizmoCommand.cs index 25319e69..efa7dfeb 100644 --- a/Assets/Scripts/Studio/Command/GizmoCommand/ActivateRotateGizmoCommand.cs +++ b/Assets/Scripts/Studio/Command/GizmoCommand/ActivateRotateGizmoCommand.cs @@ -1,4 +1,6 @@ +using XED.Manage; using XED.RuntimeGizmo; +using XED.Util; namespace XED.Command { @@ -18,8 +20,8 @@ namespace XED.Command public void Execute() { - var rtgController = new RTGController(); - rtgController.SetWorkGizmoId(RTGController.GizmoId.Rotate); + var renderObjectHandler = ManagerHub.instance.Get(); + renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.Rotate); } } } diff --git a/Assets/Scripts/Studio/Command/GizmoCommand/ActivateScaleGizmoCommand.cs b/Assets/Scripts/Studio/Command/GizmoCommand/ActivateScaleGizmoCommand.cs index ad7f74d7..319090c7 100644 --- a/Assets/Scripts/Studio/Command/GizmoCommand/ActivateScaleGizmoCommand.cs +++ b/Assets/Scripts/Studio/Command/GizmoCommand/ActivateScaleGizmoCommand.cs @@ -1,4 +1,6 @@ +using XED.Manage; using XED.RuntimeGizmo; +using XED.Util; namespace XED.Command { @@ -18,8 +20,8 @@ namespace XED.Command public void Execute() { - var rtgController = new RTGController(); - rtgController.SetWorkGizmoId(RTGController.GizmoId.Scale); + var renderObjectHandler = ManagerHub.instance.Get(); + renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.Scale); } } } diff --git a/Assets/Scripts/Studio/Command/GizmoCommand/ResetGizmoCommand.cs b/Assets/Scripts/Studio/Command/GizmoCommand/ResetGizmoCommand.cs index 66c4dfaf..b3ec5d0c 100644 --- a/Assets/Scripts/Studio/Command/GizmoCommand/ResetGizmoCommand.cs +++ b/Assets/Scripts/Studio/Command/GizmoCommand/ResetGizmoCommand.cs @@ -1,4 +1,6 @@ +using XED.Manage; using XED.RuntimeGizmo; +using XED.Util; namespace XED.Command { @@ -18,8 +20,9 @@ namespace XED.Command public void Execute() { - var rtgController = new RTGController(); - rtgController.SetWorkGizmoId(RTGController.GizmoId.None); + var renderObjectHandler = ManagerHub.instance.Get(); + renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.None); } } } + \ No newline at end of file