using CodeJay.Classes; using UnityEngine; public class ShowPanel : MonoBehaviour { public Camera m_Cam; public SpriteRenderer i_image; public GameObject[] gos_off; public GameObject go_btns, go_x; public bool isFull; int zoomStep = 0; public void Set(HuntingData data) { gameObject.SetActive(true); DSUtil.InActivateGameObjects(gos_off); go_btns.SetActive(true); go_x.SetActive(false); i_image.sprite = data.HuntingImage(); isFull = false; zoomStep = 0; m_Cam.orthographicSize = 4f; m_Cam.transform.position = new Vector3(0f, 0f, -10f); //Set_ImageSize(); GameManager.ADS.HideBanner(); } void Set_ImageSize() { // 스프라이트의 원래 크기(픽셀 단위) float spriteWidth = i_image.sprite.bounds.size.x; float spriteHeight = i_image.sprite.bounds.size.y; // 카메라 float worldScreenHeight = m_Cam.orthographicSize * 2f; // 세로 크기(월드 단위) float worldScreenWidth = worldScreenHeight * m_Cam.aspect; // 가로 크기(월드 단위) // 배경 스케일 계산 i_image.transform.localScale = new Vector3( worldScreenWidth / spriteWidth, worldScreenHeight / spriteHeight, 1f ); } public void OnClick_Btn(int index) { switch (index) { case 0: // 나가기 gameObject.SetActive(false); DSUtil.ActivateGameObjects(gos_off); GameManager.ADS.ShowBanner(); i_image.sprite = null; break; case 1: // 풀 스크린 go_btns.SetActive(false); go_x.SetActive(true); Invoke("Set_Full", Time.deltaTime); break; case 2: // 확대 (2단계까지만) ++zoomStep; if (zoomStep > 2) zoomStep = 2; m_Cam.orthographicSize = 4 - zoomStep; break; case 3: // 축소 --zoomStep; if (zoomStep < 0) zoomStep = 0; m_Cam.orthographicSize = 4 - zoomStep; m_Cam.transform.position = new Vector3(0f, 0f, -10f); break; case 4: // UI 다시 보이기 if (isFull) { isFull = false; go_btns.SetActive(true); go_x.SetActive(false); } break; } } void Set_Full() { isFull = true; } }