Cursor, Camera Manager 리팩토링 #46

Merged
UVCXR merged 3 commits from pgd/20250414_2 into main 2025-04-15 17:45:38 +09:00
7 changed files with 19 additions and 223 deletions
Showing only changes of commit 1ce63b9870 - Show all commits

View File

@@ -2902,7 +2902,7 @@ GameObject:
- component: {fileID: 749092880}
- component: {fileID: 749092881}
m_Layer: 0
m_Name: GameObject
m_Name: ManagerHub
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -3030,6 +3030,10 @@ PrefabInstance:
propertyPath: m_Name
value: WallBuilder
objectReference: {fileID: 0}
- target: {fileID: 3963811325703941763, guid: a906cd4ab09260143b9d87e622d9e458, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7756644939596186566, guid: a906cd4ab09260143b9d87e622d9e458, type: 3}
propertyPath: m_LocalPosition.x
value: 1.3484559
@@ -4284,15 +4288,12 @@ Transform:
m_Children:
- {fileID: 1149817090}
- {fileID: 636283413}
- {fileID: 1451571416}
- {fileID: 1552320077}
- {fileID: 2021424132}
- {fileID: 812349388}
- {fileID: 503307894}
- {fileID: 2057021881}
- {fileID: 538683123}
- {fileID: 617235297}
- {fileID: 1801579273}
- {fileID: 749092880}
- {fileID: 1683270824}
m_Father: {fileID: 0}
@@ -8930,52 +8931,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1441967167}
m_CullTransparentMesh: 1
--- !u!1 &1451571415
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1451571416}
- component: {fileID: 1451571417}
m_Layer: 0
m_Name: CameraManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1451571416
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1451571415}
serializedVersion: 2
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: 1093055756}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1451571417
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1451571415}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d2be0153517c66d468b831d2f067af0f, type: 3}
m_Name:
m_EditorClassIdentifier:
objectViewDistance: 25
objectViewRotation: {x: 45, y: 145, z: 0}
--- !u!1 &1464917248
GameObject:
m_ObjectHideFlags: 0
@@ -9140,51 +9095,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 7e770d58ca963cd42a42328ab60b8216, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1552320075
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1552320077}
- component: {fileID: 1552320076}
m_Layer: 0
m_Name: CursorManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1552320076
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1552320075}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 23783baffd622ff438e68f32651014a5, type: 3}
m_Name:
m_EditorClassIdentifier:
currentUseGUIWindow: {fileID: 0}
--- !u!4 &1552320077
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1552320075}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1244.8824, y: 617.2903, z: -1.7088666}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1093055756}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1558737740
GameObject:
m_ObjectHideFlags: 0
@@ -10290,50 +10200,6 @@ MonoBehaviour:
panel_topbar: {fileID: 0}
panel_toolbar: {fileID: 0}
panel_modecontrol: {fileID: 0}
--- !u!1 &1801579272
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1801579273}
- component: {fileID: 1801579274}
m_Layer: 0
m_Name: ProjectManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1801579273
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1801579272}
serializedVersion: 2
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: 1093055756}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1801579274
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1801579272}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d3b7eb8ddaf6a2c4a94629439aa5654f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1809156807
GameObject:
m_ObjectHideFlags: 0

View File

@@ -1,14 +1,17 @@
using UnityEngine;
using XRLib;
namespace XED
namespace XED.Manage
{
public class CameraManager : MonoBehaviour, ISingle
public class CameraManager : Manager
{
[SerializeField]
float objectViewDistance = 25f;
[SerializeField]
Vector3 objectViewRotation = new Vector3(45, 145, 0);
private float objectViewDistance;
private Vector3 objectViewRotation;
public override void Init()
{
objectViewDistance = 25f;
objectViewRotation = new Vector3(45, 145, 0);
}
public void MoveToTwinObjectPos(TwinObject twinObject)
{

View File

@@ -30,18 +30,6 @@ namespace XED.Manage
cursor_DownRight = Resources.Load<Texture2D>("Images/cursor_diag_a");
}
//public override void AfterAwake()
//{
// cursor_Up = Resources.Load<Texture2D>("Images/cursor_vertical");
// cursor_Down = Resources.Load<Texture2D>("Images/cursor_vertical");
// cursor_Left = Resources.Load<Texture2D>("Images/cursor_horizontal");
// cursor_Right = Resources.Load<Texture2D>("Images/cursor_horizontal");
// cursor_UpLeft = Resources.Load<Texture2D>("Images/cursor_diag_a");
// cursor_UpRight = Resources.Load<Texture2D>("Images/cursor_diag_b");
// cursor_DownLeft = Resources.Load<Texture2D>("Images/cursor_diag_b");
// cursor_DownRight = Resources.Load<Texture2D>("Images/cursor_diag_a");
//}
private void Update()
{
if (currentUseGUIWindow == null)

View File

@@ -1,61 +0,0 @@
using Newtonsoft.Json;
using System;
using System.IO;
using TriLibCore.SFB;
using UnityEngine;
using XRLib;
namespace XED.Manage
{
public class FileBrowserHandler : MonoBehaviour, ISingle
{
private string lastOpenFilePath;
public void SaveFileBrowser<T>(T saveData, string title, string defaultfileName = "", string directory = "", string extension = "json")
{
var data = StandaloneFileBrowser.SaveFilePanel(title, directory, defaultfileName, extension);
SaveFile(saveData, data.Name);
}
public void SaveFile<T>(T saveData, string path)
{
if (string.IsNullOrEmpty(path))
return;
string json = JsonConvert.SerializeObject(saveData);
FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.Unicode);
lastOpenFilePath = path;
writer.Write(json);
writer.Close();
}
public T OpenFileBrowser<T>(string title, string directory = "", string extension = "json")
{
var data = StandaloneFileBrowser.OpenFilePanel(title, directory, extension, false);
if (data.Count >= 1 && !string.IsNullOrEmpty(data[0].Name))
{
string json = File.ReadAllText(data[0].Name);
try
{
lastOpenFilePath = data[0].Name;
return JsonConvert.DeserializeObject<T>(json);
}
catch (Exception ex)
{
Debug.Log(ex.Message);
}
}
else
{
Debug.Log("File not found!");
}
return default(T);
}
public string GetLastOpenFilePath()
{
return lastOpenFilePath;
}
}
}

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: d3b7eb8ddaf6a2c4a94629439aa5654f

View File

@@ -19,6 +19,7 @@ namespace XED.Manage
Join(new RenderObjectHandler());
Join(new InterferedObjectManager());
Join(new CursorManager());
Join(new CameraManager());
foreach(var m in managers)
{

View File

@@ -1,6 +1,7 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using XED.Manage;
using XED.Util;
using XRLib;
using XRLib.UI;
@@ -23,12 +24,12 @@ namespace XED.UI
content = GetComponentInChildren<ScrollRect>().content;
buttonPrefab = Resources.Load<GameObject>("Prefabs/UI/PRF_InterferedObjectButton");
cameraManager = FindSingle<CameraManager>();
cameraManager = ManagerHub.instance.Get<CameraManager>();
}
public void CreateContentButton((TwinObject, TwinObject) pair)
{
var newButton = Instantiate(buttonPrefab, content).GetComponent<UI_InterferedObjectButton>();
var newButton = Object.Instantiate(buttonPrefab, content).GetComponent<UI_InterferedObjectButton>();
newButton.OnClickButton += cameraManager.MoveToTwinObjectPos;
newButton.Initialize(pair.Item1, pair.Item2);
createdButtons.Add(pair, newButton);