본문 바로가기

Unity/Unity3D_MyProject

Unity3D_MyProject - 게임개발일지#0(2022. 1. ~ 2022. 12.)

2022년도는 개인적인 이유로 개발에 많은 시간을 투자하지 못했습니다 ㅠㅠ... 
하지만 최종적으로 기회의 큰 틀을 잡고 추가적으로 여러가지 요소들을 더해가면서

인게임Scean : UI Scean을 약 4:6정도의 비율로 작업을 했던 것 같습니다.
2023년 초에는 개발을 마무리할 생각으로 기능적인 부분은 마무리짓고 사운드작업까지 완료했네요
UI Scean은 95%이상 마무리가 되었습니다

그런데  이 후 인게임Scean을 마무리 지으려했는데 무언가가 부족하다고 느껴졌는지 Play요소들을 추가하려는 계획을 세워버렸네요.
2022년도에 개발을 하면서 유저를 사로잡기 위해서 레벨디자인이 중요하다는 것을 깨달았습니다.
그러면서 저의 첫게임을 할 수 있는 것들은 다 해보자는 생각으로 약간의 기획변경 및 수정을 거쳐야 겠다고 마음 먹었죠. 
2023년 개발일지에는  인게임 Scean에 Play 단계 및 기능들이 추가되면서 아마 기존보다 약간 플레이스토어 출시일정이 늦어질 것 같습니다.. ㅠ

2022. 1.1 ~ 2022. 12.31

●1/3 작업목록
 - 불의권능에 추가데미지를 추가해주고 아티팩트를 교체하여 해제하였을때 반대로 효과를 제거하는 로직 추가(불의 권능부터 테스트 하고 이후 나머지A등급 아티팩트장착효과 구현 이후 B,C등급 아티팩트 효과제거 구현)
 - 아티팩트 선택 또는 교체 과정에서 이미 장착중인 같은 아티팩트가 있다면 리턴과 함께 경고문 출력하기 -> 1/10완료 
 - 같은 아티팩트를 선택하도록 나오지 않게 만들기 ---> 1/24완료 로비의 아티팩트 장착과정에서 아티팩트는 중복하여 장착할 수 없도록 함
 - 이미 예를 들자면 frie2 스킬레벨이 3레벨인 상태에서 불의 권능같은 액티브레벨+1 해주는 아티팩트를 장착했을때 +1효과는 발동하지 않도록 하기 ---- >1/24 액티브레벨 +1효과는 삭제함
 - 아티팩트 교체창에서 뒤로가기로 다시 아티팩트 선택창으로 가도록 뒤로가기 버튼 생성하기
 - 같은 레벨의 아티팩트 최대 등록 갯수를 제한을줘야 할듯하다
 - 몬스터 잡았을때 골드가 캐릭터쪽으로 날라가서 캐릭터가 흡수하는데 버그가 많음.. 방식을 바꾸어보자

●1/10
- 둘중 하나의 아티팩트를 고를때 이미 장착중인 아티팩트는 2개의 후보군에 올라오지 않도록 조치 - ArtifactChoose스크립트 87~95번째 줄 / ArtifactSettingPanel스크립트 34 83 87 줄

●2/17
- 장착중인 아티팩트를 해재했을때 아티팩트로 인해 증진혹은 감소 되었던 능력치를 원래대로 돌아오도록 함(진행중)


###########참고  #########
 - ******* IngameTest 를 검색하여 나오는 부분을 스크립트수정하면 인게임부터 시작하여 오류없이 테스트 가능 *****
                                -******* 인게임부터 시작이아닌 최초게임시작시부터 할때 *********_
 - ******* 미리 2개의 캐릭터모두 비활성화 한 상태에서 시작해야 버그 없음,, 테스트단계인 현재는 조우타이를 처음부터 활성화 해두고 시작하고 있음
 - ******* Canvas에서 SettingPanel을 활성화 시킨 상태에서 시작해야 버그 없음,, 

###########해야할 일  #########
1.canvas오브젝트에 몬스터의 hp관련 UI가 instantiate되는데 이를 오브젝트풀링해야함 --//4.17//완료
  +오브젝트풀링까지는 완료했는데 체력바UI 크기가 너무 커서 조절이필요하고, - //4.17//완료
   비활성화된 상태에서 재활성화 될때 체력이 0에서 100으로 슬라이드로 차는게 보이는데 이걸 없애주고싶고, -//4.17//완료
   액티브스킬같은 것에 데미지를 크게 입었을때 체력바가 0이하로까지 내려가는게 눈에 보이는데 0이 되면 더이상 깍이지 않도록 해줘야할 필요가 있음 - //4.17//완료
2.몬스터 총알이 플레이어에 맞지 않았을때 사라지는 포인트를 지정해줘야함 -- /4.17/ 완료
3.마초근접공격콜라이더 오브젝트풀이 한번 생성되면 계쏙 남아있음.. 비활성화되는 로직 추가해줘야함 /4.17/완료..(다시 확인해보니 정상작동)
4.몬스터를 잡아서 나온 골드프리팹이 플레이어에게 바로 흡수되는데 경험치가 정상적으로 바로 올라가지 않음..//4.21//완료
5.플레이어 레벨업시에 스킬선택슬롯머신은 그대로 돌아가고 나머지 플레이어나 몬스터들은 일시정지 시키고 싶음... //4.25//완료
6.몬스터생성기를 손댈건데 일정시간(시간이 지날수록 몬스터스폰시간간격이 짧아지도록)마다 플레이어 주변 일정반경 랜덤한 위치에서 몬스터가 스폰되도록 할 것임. //5.2완료
7.플레이어가 살아있는 동안 시간을 측정하고 Text로 UI상에 표시해줄것 + 죽으면 시간 정지 //5.2완료
8.죽고 로비로 향하기 누르면 위 시간을 기록하고 인게임Scene에서 기록된 시간과 잡은 몬스터 수를 표시 + 해당 캐릭터(마초)의 경험치를 올려주는 UI까지 만들어주고 //5.3 진행중
  8-0. 캐릭터의 고유경험치등은 클래스로 만들어서 로비씬으로 넘어가도 파괴되지 않도록 만듬//5.12완료
  8-1-1. 게임종료시 로비버튼 -> 닫기 버튼 눌렀을때 -> 로비로 돌아오되 Goworld탭이 보이고 그 아래 타임최고기록이 표시되도록 구현하기//5.16 완료
  8-2. 아티팩트 등 DB 저장방식을 엑셀->txt파일->불러오기 방식으로 변경//굳이 필요성을 못느낌..
  8-4. 아티팩트 선택창에서도 시간이 멈추도록 만들어줘야함//5.18 완료   

9.최초Scene으로 돌아가서 goworld 탭을 보여주는데 해당 시간이 최고기록이면 goworld 탭 아래에 표시해줌//5.16완료
  9-0. 로비의 캐릭터창을 제어할 새로운 스크립트를 만들어주고 캐릭터선택창과 선택된 캐릭터창(선택된 캐릭터 정보스텟표시) 그리고 어떤캐릭터를 사용중인지까지 표시해줘야함//5.18 완료
  9-1. 로비에 있는 DonDestroyRobbyManiger에 캐릭터별 정보가 담긴 클래스를 추가해주어 
        기본스텟등을 로비에서 정해주고(//여기까진 5.18 완료) 
        추가로 캐릭터별 고유 경험치, 레벨등도 로비에서 표시되도록 해주어야 함// 5.19 완료
        인게임으로 넘어갈때 로비의 캐릭터정보를 받아서 인게임캐릭터 스텟이 정해지도록 로직을 바꿀예정// 5.19 완료
  9-1-2. 게임시작시 보유중인 아티팩트만을 아티팩트인벤토리창에 순서대로 보여주도록 만들어줘야함 // 6. 8 완료
  9-2-1.인게임에서 캐릭터가 사망하여 로비씬으로 돌아오면 기존에 장착중이던 아티팩트 목록과 보요중이던 아티팩트 목록이 초기화 됨
         -> 보유 아티팩트 목록을 애초에 일정 갯수 존재하도록 만들어주고 장착중이던 아티팩트도 인게임씬전에 이미 착용중이던 아티팩트가 유지되도록 수정 //완료
  9-2-3. 아티팩트 등급별로 테두리 색을 달리해주기(파 노 빨) //완료
  9-2-3. 로비 아티팩트 셋팅판넬에서 10개의 모든 아티팩트를 장착해야만 인게임으로 들어갈 수 있도록 경고창 등 구현  //완료
  9-2-2. 어플을 완전히 종료하고 다시 접속했을때 save, load 할 항목들을 생각하고 save,load구현  //완료
          (로비)=> 최고기록 시간, 획득한 캐릭터(활성화 해줄) 목록, 플레이한 캐릭터의 누적 경험치, 및 플레이어스텟정보 
  

10.어플을 완전히 종료하고 다시 접속했을때 save, load 할 항목들을 생각하고 save,load구현 (인게임) //완료
10.캐릭별로 경험치를 저장하고 해당 최초Scene상의 캐릭터가 레벨업을 하면 기본공격력, 공속등이 올라가도록 코드 구현및 UI구현//완료
11.액티브스킬 자동사용기능도 생성//완료
12.인게임씬에서 로비씬으로 넘어왔을때 인벤토리창에 리셋되어 비워져있는데 이를 기존 최초 로비씬에서 획득한 아티팩트 와 장착중이던 아티팩트 정보가 저장되어 그대로 발현되어 있도록 만들어야함//완료
14.인게임씬 목숨 1개로 조정//완료
15. 인게임중 설정에서 홈버튼을 눌렀을때 로비로 나가기 //완료
17.크리티컬 확률 재조정(현재 100프로 크리나오는듯함) //완료
18.빛 1 안에 있을때 공속이너무 빨라짐 너프 필요 //완료
19.아티팩트에서 보스공격력 올라가는 아티팩트를 캐릭터 액티브스킬 올려주는 아티팩트로 바꿔주기 //완료
20.인게임 스킬슬롯에 스킬설명써주기 //완료
16.아티팩트 상자를 만들고 먹으면 아티팩트 선택 UI나오도록 //완료
21.아티팩트 상자를 30초+ 이상 획득하지 못하면 저절로 비활성화 되도록 //완료
22. 로비 아티팩트창에서 셋팅아티팩트창에 아무것도 장착하지 않은 상태를 투명이미지 기본값으로 하고 싶음... 지금은 처음은 되는데 제이슨으로 불러오기할때 미창착 아티팩트슬롯이 하얀바탕으로 바껴버림.. //완료
23. 조우타이 액티브스킬사용시 버프효과 이펙트 추가 //완료
24. 로비창 캐릭터 선택창에서 마초 및 조우타이의 기본적인 캐릭터 설명과 각 액티브스킬 설명, 캐릭터 스텟에 대한 설명 만들어주기 //완료
25. 조우타이 원거리 공격을 어떻게 할 것인지 재구상.. //완료
13.근접몬스터를 한가지 더 만들어 주고 원거리공격몬스터와 젠시간을 달리하여 스폰하는 것 까지 만들기 //완료
26. 캐릭터 별 스텟 재분배 //완료
27. UI 인터페이스 꾸며주기 //완료
30.아티팩트 뽑기 구현 //완료
31.아티팩트 정렬 구현 //완료
32. 아티팩트 뽑기시 신규아티팩트는 new표시를 해주기 //완료 
33-1. 아티팩트 뽑기시 골드 차감 및 획득 아티팩트가 무엇인지 UI로 보여주기 //완료
33-2. 마초 분노게이지 안보이게 하기 //완료
34. 사운드 작업하기 //완료
***************************************************--책갈피--************************************************************
28. 구글 애드몹 추가
29. 구글 애드몹 시청시 아티팩트 해금이 빨라지는? 방식으로 구성하기



●4/ 7
- 기존 궁수의전설 방식에서 뱀파이어서바이벌 방식처럼 플레이어 중심으로 무한맵생성하고 맵안에서 스폰되는 적들을 주어진 체력내에 잡아서 시간기록을 세우는 방식으로 변경할 계획
- MapGenerator를 도입하여 플레이어 중심으로 무한맵이 생성되도록 추가

●4/12
- z 누르면 MonsterA가 소환되고 이전의 Mapstage와 연관되었던 코드를 주석처리함 => MosterBase스크립트의 mapConditionSc = mapCoditionObj.GetComponent<MapCondition>(); 부분을 주석처리
- 몬스터프리팹의 Layer를 정상적으로 monster로 설정해주었음
- 몬스터의 hp가 canvas에 잘 나타나도록 즉 monsterBase의 체력바 관련 코드가 잘 작동하도록 monsterGenerator 스크립트에서 몬스터를 생성시에 canvas오브젝트를 넣어주었음
- 기존 네비게이션을 없애고 가상으로 넓은 판을 만들어 새롭게 네비게이션을 bake한 후에 비활성화
- 몬스터 생성시 MonsterListInMap스크립트의 MonsterListInMap리스트에 생성한 몬스터 오브젝트를 삽입해줌

●4/15
- 몬스터가 죽어도 오류 없도록 함
-....진행중... 몬스터 OnEnable()...관련.. 오브젝트풀에서 한번 비활성화 된것이 다시 활성화될때 체력Ui가 안보이는 것과... 플레이어의 액티브공격이 먹히지 않는 문제등 해결 필요...
 .... 최초 오브젝트풀링 생성시엔 Awake()와 OnEnable()까지만 실행되고 Start()는 실행안됨... 그리고 최초 오브젝트풀링 생성되고 바로 비활성화된 몬스터를 스폰하면 OnEnable()과 Start()가 실행.. 이 후 해당 몬스터가 죽어 비활성화 된놈을 다시 활성화하면 OnEnable()만 실행
  ... 근데 아싸리 새롭게 오브젝트풀링을 추가하면서 몬스터스폰까지하면 Awake()와 OnEnable() 2번 그리고 Start()까지 총 4개가 한번에 실행됨 

●4.16
- 위 체력UI 및 액티브공격 관련 버그 디버깅 완료@!

●4.17
- 몬스터 총알이 플레이어에게 맞지 않았을때 생성된지 4초후 자동으로 속력을 0으로 만들어서 오브젝트풀로 회수 되도록 만듬
- 몬스터 체력바를 기존 instantiate/Destroy방식에서 오브젝트풀링 방식으로 변경함


●4.21
- 경험치 슬라이더UI의 Fill오브젝트 위치를 재조정 + GameUi스크립트에서 경험치바를 갱신해주는 update문에서 기존의 맵 클리어시만 갱신하던 조건을 빼줌 => 경험치상태를 정상적으로 갱신표현하도록 함

●4.25
- 플레이어 레벨업시에 스킬선택슬롯머신은 그대로 돌아가고 나머지 플레이어나 몬스터들은 일시정지 
-->    슬롯머신 스크립트의 코루틴에서 yield time new waitforSeconds 부분과 Time.deltatime 부분은 Time.timeScale의 영향을 받아서 Time.timeScale = 0;
         으로 인해 게임이 일시정지 되면 다 같이 멈춰버리지만 yield time new waitForsecondsRealTime()을 사용하면 현실시간이 기준이 되기때문에 Time.timeScale의 영향을 받지 않아 일시정지에서 제외된다!

●5.2
- 몬스터생성기에서 UPdate문을 손봣는데 Time.deltaTime을 통하여 시간측정을 하고 일정시간이 지나면 몬스터가 스폰되도록 만들어준 후 , 플레이어위치를 중심으로 일정반경 반지름 끝에서 몬스터가 스폰되도록 만들어줌
- GameUi스크립트에서 기존 Update문을 LateUpdate로 바꿈(오류없으면 그대로 가자)
- GameUi스크립트에서 curtime 변수를 만들고 플레이어가 살아있는 동안의 시간을 00:00:00의 형식으로 Text로 표시해주도록 UI생성 및 코드 작성
- 몬스터가 죽으면 몬스터생성기 스크립트에 죽은몬스터 수를 ++ 해주고 인스펙터창에 표시해줌

●5.3
- 캐릭터 사망시 나오는 GameOver판넬에서 로비를 누르면 최종플레이어가 살아남은 시간, 잡은 몬스터수, 캐릭터 경험치 획득 UI를 포함한 recoding판넬이 뜸
- 캐릭터 경험치 획득 UI는 애니메이션으로 만들어서 해당 정보를 저장한채로 로비로 이동할 예정(진행중)

●5.12
- 캐릭터의 고유경험치등은 클래스로 만들어서 로비씬으로 넘어가도 파괴되지 않도록 만듬

●5.16
- 해당 판에서 캐릭터가 살아남은 최종시간이 기존 기록보다 높은 경우에만 대표기록을 재기록
- 해당판이 끝나서 로비로 가면 GoWorld탭으로 자동이동하고 최고기록을 표기

●5.18
- 아티팩트선택창이 떳을떄도 게임시간,몬스터가  멈추도록 만들어줌
- 로비씬의 캐릭터선택창(CharacterPanel 스크립트를 따로 만들어서 캐릭터창패널에 대한 제어를 따로 해줌)에서 캐릭터선택창 따로 선택된캐릭터창 따로 만들어주고 
  선택창의 캐릭터 클릭시 선택된캐릭터창에 캐릭터 스텟등이 나오도록 기존 DonDestroyRobbyManiger에 마초와 조우타이에 대한 캐릭터 클래스정보를 직렬화하여 추가해주었음

●5.19
 - 캐릭터별 고유 경험치, 레벨등도 캐릭터선택창로비에서 표시되도록 해줌 또한 DonDestroyRobbyManiger에서 기본적으로 캐릭터 레벨 및 경험치를 컨트롤 해주도록 만듬
 - 인게임으로 넘어갈때 로비의 캐릭터정보를 받아서 인게임캐릭터 스텟이 정해지도록 로직을 바꿈 이 역시 DonDestroyRobbyManiger에서 기본적으로 캐릭터 스텟등을 먼저 정하고 인게임에서는 로비의 캐릭터 정보를 받는 식으로 만듬

●6.8
 - 게임시작시 보유중인 아티팩트를 구별하고 보유중인 아티팩트만을 아티팩트인벤토리창에 보여주도록 만듬
  -> ArtifactDB에서 보유중인 아티팩트를 isHave = true로 구별해주고 HavingArtifact 스크립트에서 보유중인 아티팩트List를 따로 생성하여 그에 맞게 빈슬롯에 대입해줌

●7.2
- 보유 아티팩트 목록을 애초에 일정 갯수 존재하도록 만들어주고 장착중이던 아티팩트도 인게임씬전에 이미 착용중이던 아티팩트가 유지되도록 수정
  -> 각 패널과 패널에 상응하는 장착아티팩트 정보를 특정 DB에 옮겨 주고.. 로비전환시 해당 DB를 그대로 옮겨와줌.. --> 먼저 각 패널스크립트에 아티팩트 각 슬롯이 표기되도록 각 슬롯 클래스를 인스펙터창에 보이도록 직렬화해주자
  -> 장착중인 패널및 아트팩트는 현재상태 그대로 인게임으로 넘어가도록만 해주면 됌

●7.22
- 기존에 DonDestroyRobbyManigerd에서 활성화된 셋팅패널 1개만 해당스크립트에 저장했었는데 
  이제는 비활성화된 나머지 셋팅패널까지 포함해서 4개의 셋팅패널속 장착중인 아티팩트를 전부 가져와서 저장함


●7. 25
- 최초 게임시작전에 로비에서 장착중이던 아티팩트를 인게임씬이 끝난 이후에도 로비로 다시 돌아 왔을때 최초 착용중이던 아티팩트 및 아티팩트 패널이 유지되도록 만들어줌
  => RobbyManiger 스크립트의 strat()부분 참조

●8.20 ~ 8.26 
 - 먼저 로비에서 save() load() 구현하기
- 게임 종료 후 다시 실행시에 초기화 되지않고 저장되어야할 데이터들을 json으로 변환하고 save()와 load() 구현
  -> 먼저 로비에서 장착한 아티팩트가 초기화되지않도록 RobbyManiger에서 json.net를 활용하여 장착 아티팩트관련 save(), load() 구현함
- 모바일 빌드시에 뒤로가기 버튼 누르면 나가지는 것(Input.GetKeyDown(KeyCode.Escape))과 홈화면누르면 일시정지(OnApplicationPause())되는데 이때에도 save()와 load()가 작동되도록 RobbyManiger에서 구현


●8.28
 - 셋팅판넬에서 아티팩트를 교체할때 무조건 같은 등급아티팩트만 교체가능했던 것을 전체적인 등급별 갯수를 고려하여 알고리즘을 추가하고 
   등급별 제한갯수를 초과하지 않을 경우 하위 아티팩트와도 교체가 가능하도록 수정해줌 

●8.30
 - 로비 아티팩트 셋팅판넬에서 10개의 모든 아티팩트를 장착해야만 인게임으로 들어갈 수 있도록 경고창 구현
   -> 인게임 버튼을 눌렀을때 현재 장착중인 아티팩트 슬롯의 아티팩트가 한개라도 비어있는 상태라면 다시 아티팩트선택창으로 돌아가고 아티팩트를 모두 장착하도록 경고문을 출력해줌

###########모바일 빌드시 디버그할 목록  #########
1. 모바일 빌드시 셋판넬의 아티팩트 갯수가 쓰여진 text가 보이지 않음 -- textMeshPro 사용하여 해결
2. 모바일 빌드시 몬스터 hp바가 작아짐 - 단순히 hp바 프리팹의 크기를 키워서 해결
3. 모바일 빌드시 터치를 하지 않으면 화면이 대기모드로 들어감 -start()에 Screen.sleepTimeout = SleepTimeout.NeverSleep; 사용하여 해결
4. OnApplicationPause() 구현 후 모바일 빌드시 최초 셋팅판넬이 4개가 모두 활성화 되어있음..  ㅠㅠ  -- 해결완료

●9.4
- 인게임에서 캐릭터 레벨 스텟 경험치등 save, load 할 항목들을 구현 (인게임)
- 캐릭터가 레벨업을 하면 기본공격력, 공속등이 올라가도록 코드 구현및 UI구현

●9.5
- 모바일 빌드시 화면이 항상 켜져있도록 구현 
void Start()
{
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
}
- 버튼실행을 스크립트로 실행하도록 구현 -> btn.onClick.Invoke()
- SlotMachineManiger와 GameUi 스크립트에서 영혼액티브스킬 자동사용(오토)기능을 토글버튼UI(인게임)를 이용하여 구현
   --->GameUi스크립트의 AutoActiveSkill2OnBackEnd()와 AutoActiveSkill2OnOff(Toggle boolean) 참고

- 잡은 몬스터 수 에 비례하여 캐릭터 고정경험치를 획득하도록 변경, ->> GameUi 스크립트의 428줄 
- 몬스터 스폰시간도 기존 고정시간에서 점차 스폰시간이 짧아지도록 변경 ->>MonsterGenerator 스크립트의 53줄 ~ 
- 인게임에서 흐른 시간 만큼 비레하여 스폰되는 몬스터의 최대체력이 증가함 ->>MonsterA스크립트 34줄~
- 인게임 영혼액티브스킬 자동사용 기능 추가 --> 완료 GameUi스크립트의 172줄// 토글버튼기능 활용하기
   ++ SlotMachineManiger에서 영혼스킬2를 선택할때마다 각 영혼들을 
    //아래 AutoActiveSkill2OnBackEnd 버튼(보이지않게 투명화시킨 UI버튼)으로 한번의 Onclick()실행으로 전부실행토록 하기 위해 
    //선택한 각각의 실행해야할 영혼스킬함수를 모아두었기 때문에 아래 코루틴으로 인하여 PlayerDataMgr.Instance.autoActiveOn가 true이면 
    //즉 따로 구현한 실체가 있는 오토 버튼을 클릭하면
    //Onclick() 실행을 반복하여 자동으로 영혼스킬2가 사용되도록 오토스킬기능 구현

●9.8
- 부활목숨 정해주고 부활가능횟수 소진시 부활 불가능하도록 구현 --> GameUi 스크립트의 405줄 revive() 관련 기존함수에 코드추가
- 인게임중 설정에서 홈버튼을 눌렀을때 로비로 나가기 구현 --> GameUi 스크립트의 485줄 SettingHomeBtn() 함수 추가 
- 크리티컬 확률 제대로 발생하도록 수정 --> MonsterBase 스크립트에서 기본원거리 및 근접공격 피격시 크리티컬 확률 에따른 크리티컬 데미지 정상작동토록 코드 수정
- 아티팩트에서 보스공격력 올라가는 아티팩트를 캐릭터 액티브스킬 올려주는 아티팩트로 바꿔주기 ---> 코드까지 구현완료 실험은 아직 안함

●9.9
- 20.인게임 스킬 및 아티팩트 설명 수정

●9.13
- 인게임에서 아티팩트 상자를 만들어주고 충돌시 획득으로 인지하고 아티팩트 선택UI 활성화 --> 완료 artifactBox 프리팹과 artifactBoxGenerator 스크립트등 생성하고 10초 마다 아티팩트박스 생성토록 구현

●9.16 
- 인게임 아티팩트 상자가 30초 후에는 캐릭터가 획득하지 못할때 비활성화됨
- 로비 및 인게임 아티팩트 관련 이미지 수정, 아티팩트 등급에 따라 인게임에서 아티팩트 관련 프레임 색상이 변경되도록 코드 추가
- 로비 셋팅판넬 버튼 이미지 수정 및 눌리는 이미지 추가
- 22. 로비 아티팩트창에서 셋팅아티팩트창에 아무것도 장착하지 않은 상태를 투명이미지 기본값으로 하고 싶음... 지금은 처음은 되는데 제이슨으로 불러오기할때 미창착 아티팩트슬롯이 하얀바탕으로 바껴버림..
  --> 해결 완료  // 리소스폴더에 기본이미지 스프라이트를 추가해주고(default_Img) 아티팩트 미장착일시 아티팩트 미장착 상태의 이미지를 default_Img로 통일 시켜주고 해당 이름을 제이슨에 저장하고 불러옴

●9. 18
 - 로비 아티팩트 셋팅판넬 오토아티팩트장착기능 잔버그 수정 및 UI 꾸미기

●9.25 
 - 최고기록갱신시에만 관련 맵패널에 최고기록 갱신 애니메이션 동작하도록 구현 
 - 2번쨰 캐릭인 조우타이의 근접공격이 다수의 몬스터를 피격시킬수 있도록 만들고 그 사거리와 근접공격 범위를 넓어줌

●10.1 
 - 조우타이의 기존 원거리공격이었던 도약공격을 액티브스킬로 변경하고 레벨이 오를 수록 범위 및 이펙트 크기 증가하도록 변경
 - 액티브스킬 사용시 조우타이가 도약공격을 하고 5초동안 받피감, 근접공격력, 근접공속이 증가하는 버프를 획득하는데 5초가 지나더라도 근접공격중이라면 버프지속시간 상시유지

●10.2
 - 조우타이가 분노버프상태일시 이펙트 추가 
 - 조우타이가 기존 액티브스킬을 사용했을때에만 분노버프상태가 되었던 것에서 4회 피격 중첩시에도 분노버프상태에 돌입하도록 변경
 - 분노버프상태 기존 받는피해량 감소, 근접공격력, 근접공격속도 증가 효과에 추가적으로 입힌피해의 2% 회복 효과 까지 추가(MonsterBase 스크립트에 ZhoutaiBuffHeal()함수 추가)

●10.6
 - 조우타이가 분노버프획득 후 이동 및 근접 상태인 경우에는 버프상태유지, 원거리 공격시 버프해제

●10.12
 - 조우타이 원거리 공격(대지 가르기) 1,2, 3렙 까지 구현
 - 로비 화면 캐릭터 선택창에서 각 캐릭터별 특징을 설명해주는 버튼 구현
 - 로비 화면에서 씬전환시 캐릭터텍스쳐가 어두워지고 애니메이션이 멈추는 버그 해결
 - 로비 화면에서 모든 아티팩트가 장착되어있는데 오토셋팅 버튼을 누르면 교체하기창에 활성화되던 버그 해결
 - 로비 화면 아티팩트창에서 교체하기 진행시 교체가능한 아티팩트가 기존 사각, 비취색으로 깜빡이던것을 원형, 흰색으로 깜빡이도록 변경
 - 로비 화면 캐릭터 선택창에서 캐릭터 스텟에 대한 설명버튼 구현

●10. 17
- 근접 몬스터 구현 완료

--버그발생 : 1. 플레이어 피격시 무기만 빨개짐.. ;; 
                 2. 노란색 경고에러가 뜸.. ㅠ 
                 3. 인게임에서 사망시 처치한 몬스터등 나올때 흰글씨가 제일 낫다.. 그리고 캐릭터 이름이 휴머노이드로 나옴 


●10.27
- 아티팩트 뽑기 기능구현하기
뽑기 버튼을 누르면 -> ArtifactDB에서 특정 아티팩트가 false에서 true로 바뀌어야함 -> 해당 특정아티팩트를 보유중인 아티팩트창에 신규등록!

●10.31
- 아티팩트 정렬 기능 구현!
 정렬버튼을 누르면 아티팩트 리소스 id번호 순서대로 정렬됨
- 모든 아티팩트를 다 뽑으면 뽑기버튼 클릭시 모든아티팩트를 보유하고있습니다. 텍스트 출력
- 아티팩트 뽑기시 N 아이콘 이미지 표시해주기 , 정렬 및 세부정보 확인 하면 N 이미지 사라짐

●11.7 
- 골드 추가 및 제이슨으로 저장불러오기에 보유골드량 정보추가저장

●11.8 
 - 아티팩트 뽑기시 골드 차감 및 획득 아티팩트가 무엇인지 UI로 보여주기
 -. 마초 분노게이지 안보이게 하기
###


●11.8~ 11.30
- 사운드 작업

- 배경음 0.8f, 마초근접공격 0.6f, 마초 원거리 공격 1.2f, ice2 0.7f, dark2 0.7f, Lightning1 0.6f, ice1 0.7f


●12.5
- 피드백 
  궁쓸때 무적, 스킬 선택시 글자 눌러도 선택되도록, 대쉬는 버튼으로, 로비에서 골드는 있는데 아티팩트 구매시 보유량 부족하다고 뜨는 버그, 난이도 조절, 몬스터 수 조절, 시야 뒤로 더 빼기

●12.10
- 대쉬 버튼 만들기, 튜토리얼 만들기, 골드보유량버그 수정 완료

●12.13
- isFirstGame 세이브 앤 로드 정상작동하도록 구현.. 

●12.18 
- 로비 아티팩트 인벤토리에서 아티팩트를 클릭하면 이미 장착중인 아티팩트라면 '장착중' 문구가 출력되도록 수정
- 아티팩트 선택 이후 교체UI에서도 교체취소를 할 수 있도록 교체 취소버튼 추가
- 몬스터 스폰 방식 변경, 잡은 몬스터 수 실시간 표기 

####################할 일 #####################
- 체력회복 아이템 // 완료
- 일정시간이 지나면 포탈이 열리고 포탈로 들어가면 보스필드 진입, 포탈을 통하여 기존필드와 보스필드를 오다닐 수 있는데 보스필드 재진입 횟수를 3회 제한으로 하자//완료
- 보스몹구현하기 //진행중...
- 보스몹 사망시 월드필드몬스터와 다르게 드랍테이블 수정 //진행중...

####################디버그 목록 #####################
- 보스포탈 진입하면 기존 월드필드에 있던 몬스터들의 네비컴포넌트가 비활성화 되는데 보스필드에서 다시 캐릭터가 월드필드로 돌아와도 네비컴포넌트가 그대로 비활성화 되어 있어 몬스터가 움직이지 않는 버그
 ->해결(1.2) : 몬스터FSM()스크립트에서 월드필드로 돌아올시 다시 네비컴포넌트를 활성화하는 코드 추가

- 보스포탈 진입하여 캐릭터가 보스필드에 들어왔는데 캐릭터가 여전히 기존 월드필드에 있는 몬스터 방향으로 자동공격을 하는 버그
 ->일시해결(1.2) : 캐릭터베이스 스크립트 중 target()함수에서 보스필드에 존재할 시 일반적인 월드필드 몬스터 타겟팅 함수를 리턴하도록 수정
                : 차 후 보스몹을 생성 하고 기존 tragetList()에 보스몹도 함께 넣어주어 기존처럼 가장 가까운 몬스터를 타겟팅하도록 하거나 
                  혹은 보스필드에 존재할시 보스몬스터리스트를 추가로 생성하고 자동공격에 관한 코드 역시 추가로 생성... 
                   흠 아무래도 전자의 방법이 더 효율적일 것 같으니 전자의 방법을 사용하게 되면 기존 임시해결을 위한 코드는 Ctrl+Z해주어야함
 ->해결(1.12) : 기존 monsterInMapList 를 곧바로 플레이어의 targetList()에 대입하던 방법에서 Add로 추가해주는 방법 사용, 
              또한 최초 보스가 targetList에 삽입되는 순간은 기존 MapCondition 스크립트에서 보스필드 콜라이더가 보스오브젝트를 감지하는 순간임


 - 보스HP감소를 Updata()에서 구현하였는데 보스의 nav추적이 정상적으로 작동하지 않는 버그 발생
  ->해결(1.12) :  해당 코드를 Update()에서 LateUpdate()로 구현하니 정상작동

 - 포탈사용을 3회 모두 완료할시 보스필드에 기존 포탈이 있던 장소가 뚫려 캐릭터가 해당 길을 통해 맵 외벽으로 이동하는 버그
  -> 해결아이디어 : 포탈3회 사용시 기존 포탈 자리에 투명콜라이더를 생성해줌

●12.23
- 체력회복 아이템 포션 구현 // 완료