2026-02-26 17:26:55 +09:00
|
|
|
using AZTECHWB.Core;
|
|
|
|
|
using AZTECHWB.Management;
|
|
|
|
|
using Cysharp.Threading.Tasks;
|
2026-01-09 10:43:40 +09:00
|
|
|
using System;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
2026-02-26 17:26:55 +09:00
|
|
|
namespace AZTECHWB.UI
|
2026-01-09 10:43:40 +09:00
|
|
|
{
|
2026-02-26 17:26:55 +09:00
|
|
|
public class MiniMap : UIPanel
|
2026-01-09 10:43:40 +09:00
|
|
|
{
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
private RectTransform rectTransform;
|
2026-01-09 10:43:40 +09:00
|
|
|
GameObject target;
|
|
|
|
|
|
|
|
|
|
private Image MiniMapScreen;
|
|
|
|
|
private RectTransform Image_MiniMapIcon;
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
private Button Button_Close;
|
2026-01-09 10:43:40 +09:00
|
|
|
|
|
|
|
|
public Vector2 worldPos;
|
|
|
|
|
|
|
|
|
|
public Vector2 worldMin;
|
|
|
|
|
public Vector2 worldMax;
|
|
|
|
|
public float offset;
|
|
|
|
|
|
|
|
|
|
public Action onClickCloseButton;
|
|
|
|
|
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
//[SerializeField] Sprite[] miniMapImages;
|
2026-01-09 10:43:40 +09:00
|
|
|
|
2026-02-26 17:26:55 +09:00
|
|
|
public override async UniTask Init()
|
2026-01-09 10:43:40 +09:00
|
|
|
{
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
rectTransform = transform.GetComponent<RectTransform>();
|
2026-02-26 17:26:55 +09:00
|
|
|
target = AZTECHAppMain.Instance.cameraController.cameraPivot.gameObject;
|
2026-01-09 10:43:40 +09:00
|
|
|
|
2026-02-26 17:26:55 +09:00
|
|
|
MiniMapScreen = GetElement<Image>(nameof(MiniMapScreen));
|
|
|
|
|
Image_MiniMapIcon = GetElement<RectTransform>(nameof(Image_MiniMapIcon));
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
Button_Close = GetElement<Button>(nameof(Button_Close));
|
|
|
|
|
|
|
|
|
|
Button_Close.onClick.AddListener(Close);
|
2026-01-09 10:43:40 +09:00
|
|
|
|
2026-02-26 17:26:55 +09:00
|
|
|
await UniTask.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Close()
|
|
|
|
|
{
|
|
|
|
|
var topMenuPanel = AZTECHSceneMain.Instance.GetManager<AZTECHUIManager>().GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>();
|
|
|
|
|
topMenuPanel.SetToggleButton("button_minimap_screen", false);
|
2026-01-09 10:43:40 +09:00
|
|
|
gameObject.SetActive(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Update()
|
|
|
|
|
{
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
//UpdateMiniMapBackground();
|
2026-01-09 10:43:40 +09:00
|
|
|
UpdateMiniMapIcon();
|
|
|
|
|
}
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
// private void UpdateMiniMapBackground()
|
|
|
|
|
// {
|
|
|
|
|
// var sprite = building.isOnlyMachineFloorsEnabled ? miniMapImages[1] : miniMapImages[0];
|
|
|
|
|
// MiniMapScreen.sprite = sprite;
|
|
|
|
|
// }
|
2026-01-09 10:43:40 +09:00
|
|
|
|
|
|
|
|
void UpdateMiniMapIcon()
|
|
|
|
|
{
|
|
|
|
|
Vector2 worldPos = new Vector2(target.transform.position.x, target.transform.position.z);
|
|
|
|
|
Vector2 normalizedPos = (worldPos - worldMin) / (worldMax - worldMin);
|
|
|
|
|
|
|
|
|
|
RectTransform miniMapRect = MiniMapScreen.GetComponent<RectTransform>();
|
|
|
|
|
Vector2 miniMapSize = miniMapRect.rect.size;
|
|
|
|
|
Vector2 iconPos = new Vector2(
|
2026-03-17 10:49:06 +09:00
|
|
|
-((normalizedPos.x * miniMapSize.x) - (miniMapSize.x * 0.5f)),
|
|
|
|
|
-((normalizedPos.y * miniMapSize.y) - (miniMapSize.y * 0.5f))
|
2026-01-09 10:43:40 +09:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
Image_MiniMapIcon.anchoredPosition = iconPos;
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
}
|
|
|
|
|
public void ShowPopupNextToButton(RectTransform buttonRect, float offset)
|
|
|
|
|
{
|
|
|
|
|
Canvas.ForceUpdateCanvases();
|
|
|
|
|
|
|
|
|
|
var canvas = rectTransform.GetComponentInParent<Canvas>();
|
|
|
|
|
float scaledOffset = offset / canvas.scaleFactor;
|
|
|
|
|
|
|
|
|
|
Vector3 pos = buttonRect.position;
|
2026-01-09 10:43:40 +09:00
|
|
|
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
pos.x += buttonRect.rect.width * (1 - buttonRect.pivot.x) + scaledOffset;
|
|
|
|
|
pos.y += buttonRect.rect.height * (1 - buttonRect.pivot.y);
|
|
|
|
|
|
|
|
|
|
pos.x += rectTransform.rect.width * rectTransform.pivot.x;
|
|
|
|
|
pos.y -= rectTransform.rect.height * (1 - rectTransform.pivot.y);
|
|
|
|
|
|
|
|
|
|
rectTransform.position = pos;
|
2026-01-09 10:43:40 +09:00
|
|
|
}
|
|
|
|
|
}
|
[정영민] 아즈텍 UI 디자인 변경 및 기능 수정 1차
26.04.03
가상공장 화면 디자인 반영
• 좌측 도구 창, 상단 UI, 하단 UI
• 생산 현황판, 알림 현황판
• 설비 라벨, 요약 팝업, 대시보드, 데이터 보드
• 설정창, 미니맵, AI 시뮬레이션 결과창, 나가기 팝업
가상 공장 화면 디자인 변경에 따른 기능 추가
• 미니맵 드래그 및 위치 조정 기능 추가
• UI 상호 작용(호버링, 선택, 위치 이동, 재설정)
• UI 기능 추가(상태 표시, 색상)
2026-04-03 11:50:05 +09:00
|
|
|
}
|