카메라 시점 기능 수정

This commit is contained in:
정영민
2025-04-09 14:41:40 +09:00
parent 6aa79ae91b
commit 45767d82ed
8 changed files with 464 additions and 109 deletions

View File

@@ -8,9 +8,11 @@ using RenderHeads.Media.AVProMovieCapture;
using System.IO;
using SFB;
using CHN;
using System.Linq;
public class Panel_ToolBar : PanelBase
{
private Dictionary<ViewMode, Button> viewButtons = new Dictionary<ViewMode, Button>();
public Button Button_TopView;
public Button Button_QuarterView;
public Button Button_SholuderView;
@@ -26,6 +28,7 @@ public class Panel_ToolBar : PanelBase
private Image Image_MiniMapActive;
private Image Image_FloorControlActive;
private Button currentViewButton;
private CaptureBase capture;
public Action<ViewMode> onClickCameraView;
@@ -47,6 +50,10 @@ public class Panel_ToolBar : PanelBase
Button_Capture.onClick.AddListener(OnClickCapture);
Button_FloorControl.onClick.AddListener(OnClickFloorControl);
viewButtons.Add(ViewMode.TopView, Button_TopView);
viewButtons.Add(ViewMode.PerspectiveView, Button_QuarterView);
viewButtons.Add(ViewMode.FirstPersonView, Button_SholuderView);
RecordSetting();
CaptureSetting();
}
@@ -168,4 +175,24 @@ public class Panel_ToolBar : PanelBase
{
onClickCameraView?.Invoke(ViewMode.TopView);
}
private void SetViewButtonState(Button button)
{
if (currentViewButton != null)
{
var images = currentViewButton.GetComponentsInChildren<Image>(true);
var image = images.Where(a => a != currentViewButton.image).First();
image.gameObject.SetActive(false);
}
currentViewButton = button;
var currentButtonImages = currentViewButton.GetComponentsInChildren<Image>(true);
var currentButtonImage = currentButtonImages.Where(a => a != currentViewButton.image).First();
currentButtonImage.gameObject.SetActive(true);
}
public void SetChangeViewButtonState(ViewMode viewMode)
{
var viewButton = viewButtons[viewMode];
SetViewButtonState(viewButton);
}
}