카테고리 없음

Unity / 팀프로젝트 / FPS / Aim Hero / 에임 연습 게임 / UI

도도9999 2023. 10. 17. 20:52
 
1. 장탄수 / 총기 발사 모드 UI

현재 총알 / 전체 총알

단발 / 점사 / 연사 모드 구현

총기 발사 파트에서 제작해준 스크립트를 기반으로 총알이 발사되는 값을 가져와 표시하기만 하면 된다.

using UnityEngine;
using TMPro;

public class AmmosUI : MonoBehaviour
{
    public TextMeshProUGUI currentAmmoText;
    public TextMeshProUGUI totalAmmoText;
    public TextMeshProUGUI shootingState;
    public GameObject m16ImagePrefab; 
    public GameObject ak47ImagePrefab;
    public GameObject trgImagePrefab;
    private Gun gun; 

    void Start()
    {
        gun = FindObjectOfType<Gun>(); 
        totalAmmoText.text = gun.maxAmmo.ToString(); // 총알 최대 수를 나타내는 값 설정 (총의 종류에 따라 수정될 예정)
    }

    void Update()
    {
        ShowGunImage();

        currentAmmoText.text = gun.currentAmmo.ToString();

        if (gun.currentFireMode == Gun.FireMode.Single)
        {
            shootingState.text = "Single"; 
        }
        else if (gun.currentFireMode == Gun.FireMode.Burst3)
        {
            shootingState.text = "Burst"; 
        }
        else if (gun.currentFireMode == Gun.FireMode.FullAuto)
        {
            shootingState.text = "Full Auto"; 
        }
    }

    private void ShowGunImage()
    {
        //    if (gun.gunType == Gun.GunType.AK47) // gunType에 따라 이미지 변경
        //    {
        //        // AK47 이미지 표시 코드
        //    }
        //    else if (gun.gunType == Gun.GunType.M16)
        //    {
        //        // M16 이미지 표시 코드
        //    }
        //    else if (gun.gunType == Gun.GunType.TRG)
        //    {
        //        // TRG 이미지 표시 코드
        //    }
    }

}

-> 추후 화면 상단의 스탯UI, 세션 종료 후 트레이닝리포트에도 해당 내용을 적용해야한다.

 

 

2. 훈련 세션 트리거

 

1) 맵의 트레이닝 세션 입장에 따라 게임 시작 / 종료 세팅

→ 각 세션트리거에 5초 이상 대기 시 훈련 세션이 시작

→ 보이지 않는 3d 박스콜라이더(?) 를 넣어두고, 플레이어에도 rigidbody를 넣어 충돌 감지

 

 

구현 전 생각해볼 사항

  • 한 세션이 종료되고 다시 해당 세션 돌입 가능하도록
  • 세션 중 해당 트리거를 다시 밟았을때 세션이 재시작되지 않도록 잠그기
  • 각 세션 트리거가 딱 봐도 해당 부분을 밟아야 세션이 시작될수 있도록 맵 개발 파트에 표시 요청하기