완료 시간 알람 기능 복원 및 카메라 시점 기능 개발
This commit is contained in:
@@ -26,18 +26,18 @@ MonoBehaviour:
|
||||
_elevationRotateLimit: 0
|
||||
_isFirstPersonView: 0
|
||||
originElevation: 28.5
|
||||
currentElevation: 28.5
|
||||
currentElevation: 90
|
||||
elevationSensivity: 15
|
||||
minElevation: 5
|
||||
maxElevation: 90
|
||||
originAzimuth: 133
|
||||
currentAzimuth: 133
|
||||
currentAzimuth: 89.75
|
||||
azimuthSensivity: 15
|
||||
maxDistance: 150
|
||||
minDistance: 5
|
||||
moveClamper: 0.5334569
|
||||
moveClamper: 0.033333335
|
||||
originDistance: 120
|
||||
originTargetPos: {x: -37.685005, y: 27, z: 29.893412}
|
||||
originTargetRot: {x: -0, y: 0, z: 0}
|
||||
currentDistance: 120.02781
|
||||
currentDistance: 115.012886
|
||||
target: {fileID: 0}
|
||||
|
||||
@@ -161,8 +161,6 @@ namespace WI
|
||||
moveVector *= option.moveClamper * option.moveSpeed * option.moveSensivity;
|
||||
nextPosition = option.target.position - moveVector;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Vector3 CalculateMovePosition(Vector3 origPos, Vector3 moveVec)
|
||||
@@ -277,6 +275,7 @@ namespace WI
|
||||
var distPos = Quaternion.Euler(option.currentElevation, option.currentAzimuth, 0f) * dist;
|
||||
cameraPosition = nextPosition + distPos;
|
||||
camera.transform.position = cameraPosition;
|
||||
camera.orthographicSize = Mathf.Clamp(option.currentDistance, option.minDistance, option.maxDistance);
|
||||
|
||||
if (option.currentElevation <= 90f)
|
||||
{
|
||||
@@ -378,22 +377,14 @@ namespace WI
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void ChangeCameraView()
|
||||
{
|
||||
if (!option.isFirstPersonView)
|
||||
{
|
||||
SetViewMode(ViewMode.FirstPersonView);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetViewMode(ViewMode.PerspectiveView);
|
||||
}
|
||||
}
|
||||
public void CameraTopView()
|
||||
{
|
||||
option.maxDistance = 35f;
|
||||
option.currentElevation = 90f;
|
||||
CameraFix();
|
||||
option.currentDistance = 35f;
|
||||
option.currentAzimuth = 0f;
|
||||
|
||||
LastPositioning(true);
|
||||
}
|
||||
public void CameraFirstPersonView()
|
||||
{
|
||||
@@ -406,6 +397,7 @@ namespace WI
|
||||
}
|
||||
public void CameraPerspectiveView()
|
||||
{
|
||||
option.maxDistance = 150f;
|
||||
option.currentDistance = option.originDistance;
|
||||
option.currentAzimuth = option.originAzimuth;
|
||||
option.currentElevation = option.originElevation;
|
||||
@@ -417,14 +409,6 @@ namespace WI
|
||||
nextPosition = pos;
|
||||
LastPositioning(true);
|
||||
}
|
||||
public void SetTargetYUpPos(Vector3 pos)
|
||||
{
|
||||
var targetPos = pos;
|
||||
targetPos.y += yUpPos;
|
||||
nextPosition = targetPos;
|
||||
LastPositioning(true);
|
||||
}
|
||||
|
||||
private void FindLookAtObject()
|
||||
{
|
||||
switch(viewMode)
|
||||
|
||||
22749
Assets/Scenes/Main.unity
22749
Assets/Scenes/Main.unity
File diff suppressed because it is too large
Load Diff
@@ -63,7 +63,7 @@ namespace CHN
|
||||
|
||||
var pos = controller.option.target.position;
|
||||
pos.y = currentFloor.StartPoint.position.y;
|
||||
controller.SetTargetYUpPos(pos);
|
||||
controller.SetTargetPos(pos);
|
||||
|
||||
if (currentFloor.isEmptyFloor)
|
||||
{
|
||||
@@ -82,6 +82,7 @@ namespace CHN
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetAllFloorExternalState();
|
||||
|
||||
if (!controller.option.isFirstPersonView)
|
||||
|
||||
@@ -34,16 +34,18 @@ namespace CHN
|
||||
|
||||
//building.onSettingBuildingComplete += topCanvas.panel_toptoolbar.SetChangeViewState;
|
||||
|
||||
topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open;
|
||||
topCanvas.panel_toolbar.onClickCameraView += ChangeCameraView;
|
||||
|
||||
topCanvas.panel_toptoolbar.GetFloor = building.GetFloor;
|
||||
//topCanvas.panel_toptoolbar.onChangeView += ChangeCameraView;
|
||||
topCanvas.panel_toptoolbar.onClickAlarms += popupCanvas.panel_completealramhistory.SetActive;
|
||||
topCanvas.panel_toptoolbar.onClickScreenInitialization += SceneReLoad;
|
||||
topCanvas.panel_toptoolbar.onClickProductionProgress += popupCanvas.panel_injectionproduction.Open;
|
||||
topCanvas.panel_toptoolbar.onClickAssemblyProgress += popupCanvas.panel_assemblyproduction.Open;
|
||||
topCanvas.panel_toptoolbar.onClickSetting += popupCanvas.panel_menu.Open;
|
||||
|
||||
|
||||
rightCanvas.panel_floorcontrol.onValueChanged += building.SetTopFloor;
|
||||
//rightCanvas.panel_floorcontrol.onValueChanged += topCanvas.panel_toptoolbar.SetChangeViewState;
|
||||
topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open;
|
||||
|
||||
popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering;
|
||||
popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine;
|
||||
@@ -58,6 +60,8 @@ namespace CHN
|
||||
popupCanvas.onClickDetail += datamanager.GetCompleteInfo;
|
||||
|
||||
popupCanvas.panel_completealramhistory.onCheckAlarmData += completeTimeManager.CheckCompleteTimeAlarm;
|
||||
popupCanvas.panel_completealramhistory.onCheckAlarm += topCanvas.panel_toptoolbar.SetAlarmCount;
|
||||
popupCanvas.panel_completealramhistory.onOpen += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnOpenDashboardItem;
|
||||
popupCanvas.panel_completealramhistory.onClose += popupCanvas.panel_dashboard.dashBoardCheckListBox.OnCloseDashbordItem;
|
||||
|
||||
popupCanvas.panel_workconditionanalysis.onSearchData += httpManager.SearchWorkConditions;
|
||||
@@ -91,7 +95,6 @@ namespace CHN
|
||||
httpManager.onSendWorkConditionsData += workConditionsManager.SetWorkConditionsData;
|
||||
httpManager.onSendWorkTimeData += workTimeManager.SetWorkTimeData;
|
||||
|
||||
//workConditionsManager.onSendChartLabels += popupCanvas.panel_workconditionanalysis.SetChartLabels;
|
||||
workConditionsManager.onCompleteLoadData += popupCanvas.panel_workconditionanalysis.SetWorkConditionsData;
|
||||
workConditionsManager.onSendMainChartData += popupCanvas.panel_workconditionanalysis.SetChartData;
|
||||
workConditionsManager.onSendSubChartData += popupCanvas.panel_workconditionanalysis.SetSubChartDatas;
|
||||
@@ -132,14 +135,13 @@ namespace CHN
|
||||
|
||||
var raycaster = FindSingle<CHNRaycaster>();
|
||||
|
||||
if (raycaster.hitFloorIndex != building.currentFloor.floorIndex)
|
||||
{
|
||||
var slider = FindSingle<Canvas_Right>().panel_floorcontrol;
|
||||
slider.ChangeValueFromOutside(raycaster.hitFloorIndex);
|
||||
}
|
||||
//if (raycaster.hitFloorIndex != building.currentFloor.floorIndex)
|
||||
//{
|
||||
// var slider = FindSingle<Canvas_Right>().panel_floorcontrol;
|
||||
// slider.ChangeValueFromOutside(raycaster.hitFloorIndex);
|
||||
//}
|
||||
|
||||
var pos = controller.option.target.position;
|
||||
pos.y -= controller.yUpPos;
|
||||
|
||||
if (building.currentFloor.FloorContainsPoint(pos))
|
||||
break;
|
||||
|
||||
@@ -9,11 +9,12 @@ namespace CHN
|
||||
public int floorIndex;
|
||||
public List<Machine> machines = new();
|
||||
|
||||
public bool isEmptyFloor => machines.Count == 0;
|
||||
public bool isEmptyFloor;
|
||||
public Transform StartPoint;
|
||||
|
||||
public GameObject Outer;
|
||||
public GameObject TopSurfaces;
|
||||
public GameObject FloorGroundCollider;
|
||||
//public GameObject Ceiling;
|
||||
public GameObject VisualizationAreas;
|
||||
Transform CeilingQuad;
|
||||
@@ -29,6 +30,9 @@ namespace CHN
|
||||
case nameof(Outer):
|
||||
Outer = transform.GetChild(i).gameObject;
|
||||
break;
|
||||
case nameof(FloorGroundCollider):
|
||||
FloorGroundCollider = transform.GetChild(i).gameObject;
|
||||
break;
|
||||
//case nameof(Ceiling):
|
||||
// Ceiling = transform.GetChild(i).gameObject;
|
||||
// break;
|
||||
@@ -44,7 +48,7 @@ namespace CHN
|
||||
|
||||
public bool FloorContainsPoint(Vector3 pos)
|
||||
{
|
||||
var floorColliders = transform.GetComponents<BoxCollider>();
|
||||
var floorColliders = FloorGroundCollider.GetComponentsInChildren<BoxCollider>();
|
||||
|
||||
foreach(var collider in floorColliders)
|
||||
{
|
||||
|
||||
@@ -15,8 +15,9 @@ namespace CHN
|
||||
|
||||
public Dictionary<string, UI_CompleteTimeAlarmInfo> completeInfoList = new();
|
||||
public List<UI_CompleteTimeAlarmInfo> notCheckAlramList = new();
|
||||
//public Action<int> onCheckAlarm;
|
||||
public Action<int> onCheckAlarm;
|
||||
public Action<CompleteInfo, bool> onCheckAlarmData;
|
||||
public Action<string> onOpen;
|
||||
public Action<string> onClose;
|
||||
|
||||
public override void AfterAwake()
|
||||
@@ -26,9 +27,24 @@ namespace CHN
|
||||
completeInfoList.Clear();
|
||||
SetActive(false);
|
||||
}
|
||||
|
||||
public void SetActive()
|
||||
{
|
||||
var isActive = rectTransform.gameObject.activeSelf;
|
||||
var active = isActive ? false : true;
|
||||
|
||||
if (active)
|
||||
{
|
||||
Open();
|
||||
}
|
||||
else
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
public void Open()
|
||||
{
|
||||
SetActive(true);
|
||||
onOpen?.Invoke("완료 시간 알람");
|
||||
}
|
||||
public void Close()
|
||||
{
|
||||
@@ -51,24 +67,24 @@ namespace CHN
|
||||
|
||||
completeInfoList.Add(infos[i].completeInfo.worknm, infoItem);
|
||||
|
||||
//if (!infoItem.isCheck)
|
||||
//{
|
||||
// notCheckAlramList.Add(infoItem);
|
||||
//}
|
||||
if (!infoItem.isCheck)
|
||||
{
|
||||
notCheckAlramList.Add(infoItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//BlinkAlarmItems();
|
||||
BlinkAlarmItems();
|
||||
}
|
||||
private void BlinkAlarmItems()
|
||||
{
|
||||
onCheckAlarm?.Invoke(notCheckAlramList.Count);
|
||||
}
|
||||
//private void BlinkAlarmItems()
|
||||
//{
|
||||
// onCheckAlarm?.Invoke(notCheckAlramList.Count);
|
||||
//}
|
||||
private void CheckAlram(UI_CompleteTimeAlarmInfo completeTimeAlarmInfo)
|
||||
{
|
||||
onCheckAlarmData?.Invoke(completeTimeAlarmInfo.completeInfo, completeTimeAlarmInfo.isCheck);
|
||||
//notCheckAlramList.Remove(completeTimeAlarmInfo);
|
||||
//onCheckAlarm?.Invoke(notCheckAlramList.Count);
|
||||
notCheckAlramList.Remove(completeTimeAlarmInfo);
|
||||
onCheckAlarm?.Invoke(notCheckAlramList.Count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace CHN
|
||||
public Button Button_WorkProgress;
|
||||
public Button Button_ProductionProgress;
|
||||
public Button Button_AssemblyProgress;
|
||||
public Button Button_Alrams;
|
||||
public Button Button_Setting;
|
||||
public Button Button_Exit;
|
||||
|
||||
@@ -20,11 +21,12 @@ namespace CHN
|
||||
public Action onClickWorkProgress;
|
||||
public Action onClickProductionProgress;
|
||||
public Action onClickAssemblyProgress;
|
||||
public Action onClickAlarms;
|
||||
public Action onClickSetting;
|
||||
public Action onClickExit;
|
||||
|
||||
//public Action onClickCompleteTimeAlarm;
|
||||
//public Action<ViewMode> onChangeView;
|
||||
public Action onClickCompleteTimeAlarm;
|
||||
public Action<ViewMode> onChangeView;
|
||||
|
||||
//public Image Image_Alarm;
|
||||
|
||||
@@ -34,6 +36,7 @@ namespace CHN
|
||||
Button_WorkProgress.onClick.AddListener(OnClickWorkProgress);
|
||||
Button_ProductionProgress.onClick.AddListener(OnClickProductionProgress);
|
||||
Button_AssemblyProgress.onClick.AddListener(OnClickAssemblyProgress);
|
||||
Button_Alrams.onClick.AddListener(OnClickAlrams);
|
||||
Button_Setting.onClick.AddListener(OnClickSetting);
|
||||
Button_Exit.onClick.AddListener(OnClickExit);
|
||||
|
||||
@@ -58,6 +61,10 @@ namespace CHN
|
||||
{
|
||||
onClickAssemblyProgress?.Invoke();
|
||||
}
|
||||
private void OnClickAlrams()
|
||||
{
|
||||
onClickAlarms?.Invoke();
|
||||
}
|
||||
private void OnClickSetting()
|
||||
{
|
||||
onClickSetting?.Invoke();
|
||||
@@ -67,11 +74,11 @@ namespace CHN
|
||||
onClickExit?.Invoke();
|
||||
}
|
||||
|
||||
//public void SetAlarmCount(int count)
|
||||
//{
|
||||
// var text = Button_Alarms.GetComponentInChildren<TMP_Text>();
|
||||
// text.SetText(count.ToString());
|
||||
//}
|
||||
public void SetAlarmCount(int count)
|
||||
{
|
||||
var text = Button_Alrams.GetComponentInChildren<TMP_Text>();
|
||||
text.SetText(count.ToString());
|
||||
}
|
||||
|
||||
//private void OnClickCompleteTimeAlarm()
|
||||
//{
|
||||
|
||||
@@ -126,7 +126,10 @@ namespace CHN
|
||||
foreach (var machine in matchingMachines)
|
||||
{
|
||||
if (machine.GetComponentInParent<Floor>() != currentFloor)
|
||||
{
|
||||
machine.machineKPI.SetActive(false);
|
||||
continue;
|
||||
}
|
||||
|
||||
MachineKPIsActive(machine, layerMask);
|
||||
|
||||
@@ -134,6 +137,16 @@ namespace CHN
|
||||
machineKPI.transform.localScale = originScale * distanceScale;
|
||||
}
|
||||
}
|
||||
bool IsScreenRange(Machine machine)
|
||||
{
|
||||
Vector3 viewPos = cam.camera.WorldToViewportPoint(machine.centerPos);
|
||||
|
||||
if (viewPos.x >= 0 && viewPos.x <= 1 && viewPos.y >= 0 && viewPos.y <= 1 && viewPos.z > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
void MachineKPIsActive(Machine machine, LayerMask layerMask)
|
||||
{
|
||||
var dir = cam.camera.transform.localPosition - machine.centerPos;
|
||||
@@ -145,6 +158,9 @@ namespace CHN
|
||||
|
||||
if (hitCameraLayer)
|
||||
{
|
||||
if (!IsScreenRange(machine))
|
||||
return;
|
||||
|
||||
machine.machineKPI.Active();
|
||||
}
|
||||
else
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace CHN
|
||||
{
|
||||
var dic = new Dictionary<string, GameObject>();
|
||||
|
||||
dic.Add("완료 알람 시간", completeAlramHistory.gameObject);
|
||||
dic.Add("완료 시간 알람", completeAlramHistory.gameObject);
|
||||
dic.Add("라이브러리", library.gameObject);
|
||||
dic.Add("작업 조건 분석", workConditionAnalysis.gameObject);
|
||||
dic.Add("작업 시간 분석", workTimeAnalysis.gameObject);
|
||||
|
||||
@@ -24,6 +24,7 @@ public class Panel_ToolBar : PanelBase
|
||||
private CaptureBase capture;
|
||||
|
||||
public Action onClickDashBoard;
|
||||
public Action<ViewMode> onClickCameraView;
|
||||
public override void AfterAwake()
|
||||
{
|
||||
Button_TopView.onClick.AddListener(OnClickTopView);
|
||||
@@ -130,16 +131,16 @@ public class Panel_ToolBar : PanelBase
|
||||
|
||||
private void OnClickShoulderView()
|
||||
{
|
||||
Debug.Log("ShoulderView");
|
||||
onClickCameraView?.Invoke(ViewMode.FirstPersonView);
|
||||
}
|
||||
|
||||
private void OnClickQuaterView()
|
||||
{
|
||||
Debug.Log("QuaterView");
|
||||
onClickCameraView?.Invoke(ViewMode.PerspectiveView);
|
||||
}
|
||||
|
||||
private void OnClickTopView()
|
||||
{
|
||||
Debug.Log("TopView");
|
||||
onClickCameraView?.Invoke(ViewMode.TopView);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,12 +13,13 @@ namespace CHN
|
||||
public UI_DashboardCheckListItem prf_item;
|
||||
|
||||
private Dictionary<string, GameObject> originDashBoardItems = new();
|
||||
private Dictionary<string, UI_DashboardCheckListItem> dashboardItemList = new();
|
||||
public SDictionary<string, UI_DashboardCheckListItem> dashboardItemList = new();
|
||||
public void Init(Dictionary<string, GameObject> items)
|
||||
{
|
||||
prf_item = Resources.Load<UI_DashboardCheckListItem>("Prefabs/UI/UI_DashboardCheckListItem");
|
||||
|
||||
originDashBoardItems.Clear();
|
||||
dashboardItemList.Clear();
|
||||
foreach (var item in items)
|
||||
{
|
||||
var dashboardItem = CreateItem();
|
||||
@@ -35,9 +36,13 @@ namespace CHN
|
||||
}
|
||||
}
|
||||
|
||||
public void OnCloseDashbordItem(string dahboardKey)
|
||||
public void OnOpenDashboardItem(string dashboardKey)
|
||||
{
|
||||
dashboardItemList[dahboardKey].ToggleOffItem();
|
||||
dashboardItemList[dashboardKey].ToggleOnItem();
|
||||
}
|
||||
public void OnCloseDashbordItem(string dashboardKey)
|
||||
{
|
||||
dashboardItemList[dashboardKey].ToggleOffItem();
|
||||
}
|
||||
private UI_DashboardCheckListItem CreateItem()
|
||||
{
|
||||
|
||||
@@ -48,6 +48,10 @@ namespace CHN
|
||||
toggleText.SetText(keyName);
|
||||
}
|
||||
|
||||
public void ToggleOnItem()
|
||||
{
|
||||
toggle.isOn = true;
|
||||
}
|
||||
public void ToggleOffItem()
|
||||
{
|
||||
toggle.isOn = false;
|
||||
|
||||
Reference in New Issue
Block a user