기지모 버그 수정 및 LoadData Command 리팩토링 #55
@@ -17,19 +17,19 @@ namespace XED.Manage
|
||||
{
|
||||
public class FBXFileManager : Manager
|
||||
{
|
||||
CustomAssetDataRepository dataRepo;
|
||||
public CustomAssetDataRepository dataRepo;
|
||||
|
||||
public string identifier;
|
||||
public string password;
|
||||
public UnityEvent<string> onRemoveFbxFile;
|
||||
private SaveData saveData;
|
||||
public SaveData saveData;
|
||||
|
||||
private Queue<string> loadFilePath = new Queue<string>();
|
||||
private SharedMaterial sharedMaterial;
|
||||
public SharedMaterial sharedMaterial;
|
||||
private MessagePackFileManager<SaveData> 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;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace XED.Util
|
||||
List<CustomAssetRenderObject> copyRenderObjects = new List<CustomAssetRenderObject>();
|
||||
List<GameObject> selectedGameObjects = new List<GameObject>();
|
||||
CustomAssetRenderObject prevSelectedObject;
|
||||
RTGController rtgController;
|
||||
public RTGController rtgController;
|
||||
ConvexHullCalculator convexHullCalculator = new ConvexHullCalculator();
|
||||
UserInputManager userInputManager;
|
||||
Vector3 clickBeginPos;
|
||||
|
||||
@@ -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<FBXFileManager>();
|
||||
|
||||
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<CustomAssetData>();
|
||||
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<CustomAssetConnector>().assetDataHandler.OnLoadFbxFile(assetData.assetName, assetData.folderName, assetData);
|
||||
|
||||
|
||||
@@ -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<FBXFileManager>();
|
||||
|
||||
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)
|
||||
|
||||
@@ -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>();
|
||||
renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.Move);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.Rotate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.Scale);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
renderObjectHandler.rtgController.SetWorkGizmoId(RTGController.GizmoId.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user