내일배움캠프 87일차 TIL + 버그 수정
작업 내용
버그 수정
공격 상태 시작시 공격 속도를 1번만 가져왔는데, 이랬더니 영웅궁수는 공격하다가 스킬이 터지면 공격속도가 빨라져야하는데 공격 상태 중간에는 공격속도를 가져오지 않아 공속이 빨라지지 않았다.
이제는 매번 가져와서 공속 변동시 적용이 된다.
UserUnitAttackState.cs :
public override void Update()
{
if (isUpdating)
{
if (targetEnemy == null || targetEnemy.Dead)
{
userUnit.Action.TargetEnemy = null;
userUnit.StateMachine.ChangeToSuperState();
return;
}
// 공격 속도에 따른 시간 마다 Alert 상태면 공격 시도
if (Time.time - lastAttackTime > attackSpeed && InAttackRange())
{
lastAttackTime = Time.time;
userUnit.Action.Attack();
attackSpeed = userUnit.Stat.AttackSpeed.TotalValule;
}
}
}
미니맵 클릭시 카메라 이동이 미니맵이 아닌 다른 UI를 클릭해도 적용이 되었다.
이제 미니맵만 클릭해야지 카메라가 움직인다.
if (isUI)
{
// 마우스 위치가 미니맵 범위 내에 있는지 확인
if (RectTransformUtility.RectangleContainsScreenPoint(miniMapRectTransform, MouseStartPos, null))
{
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(miniMapRectTransform, MouseStartPos, null, out localPoint);
// 미니맵의 사이즈와 실제 월드의 사이즈 비율 계산
float mapHeightRatio = worldMapHeight / miniMapRectTransform.rect.height;
float mapWidthRatio = worldMapWidth / miniMapRectTransform.rect.width;
// 월드 좌표로 변환
Vector3 worldCamPosition = new Vector3(localPoint.x * mapWidthRatio, localPoint.y * mapHeightRatio, 0);
cameraControl.ChangePosition(worldCamPosition);
}
}
유닛 도감, 스킬 설명 수정
유닛 스킬 설명을 도감에서 직접 설명해주었는데, 대신 스킬각각에 설명을 넣어주고 userUnit에 Skill 참조 변수를 넣어주어 이를 통해 참조해 스킬 설명을 읽어오게 했다.
유닛 도감에서 오브젝트풀에 되돌려줄 때 parent를 놔뒀더니 생겨난 오브젝트중에 Queue에 들어온 순으로 가져오다보니 도감을 적유닛을 눌러서 컨텐츠량을 늘렸다가 더 적은 플레이어유닛 도감으로 바꾸니 도감 오브젝트 풀에 객체들을 반반씩 가져와서 parent밑에 있는 순서 때문에 도감에 유닛들 순서가 바뀌었다.
그래서 오브젝트풀에 돌려줄 때 parent도 초기화해줘서 매번 가져오는 오브젝트가 맨 위에 있도록 바꿨다.
마무리
오늘은 버그 잡고 약간의 수정을 했다. 목요일 발표인데 이제는 개발보다는 기존의 코드를 수정하고 복기하라는 튜터님의 말이 있어서 목요일까지 이렇게 진행할듯하다.
팀원들도 비슷한데 주된 이유는 역시 다른거 만들다가 버그 생기면 수정할 시간이 넉넉하지 않다는 것이다.
믿지 못했다가 내 미니맵 기능이 오늘 바로 버그가 있는걸 발견해서 믿게 되었다.
역시 버그는 위험하다