DevCamp 회고 - 14 (정리)

이준호·2024년 7월 13일
0

📌 DevCamp 회고



📌 Done - 24.05.13 ~ 14 (Check List)

  • 패널에서 선택 안된 카테고리는 글씨 회색/어둡게
  • 소환 광고 텍스트 표기 명확하게 변경
  • 단조 하단 능력치 아이콘 표시 (소울 참고)
  • New Icon 교체
  • 단조 소환 New 표시
  • 동료 인벤토리 New 표시
  • 동료 장착 또는 자동 장착 투력 변화 표시
  • 전투력이 더 강한 동료/악세가 나오면 레드닷 표시
  • 종합 전투력에 펫 공격력 추가.
  • 단조 소환 카드 선택창 글씨 색상 통일
  • 스킬 자동장착
  • 마나 회복 & 증가 퀘스트 추가
  • 퀘스트 6 영혼구 소환에서 첫 소환 고정 동료 3종이 해당 퀘스트 안에서 또 소환하면 계속 같은 애들로 고정되서 나옴.
    • 해당 첫 동료 고정 소환이 CurrentQuestID 로 비교하는데, 퀘스트 6에 머물면 계속 해당 퀘스트로 인식하여 똑같은 첫 동료 고정 소환이 일어나는듯.











📌 Organize

➔ 2024.05.13 (월)

(패널에 선택 안된 카테고리 토글 백그라운드 어둡게, 장비 광고 소환 텍스트 수정, 신규 동료 New 표시, 전투력이 더 강한 아이템이 나오면 레드닷 표시, 총 전투력에 펫 공격력 포함 추가, 스킬 자동 장착,

UI Panel Category Disable Dark Background

  • 패널에서 선택 안된 카테고리는 배경 및 글씨 어둡게 처리

  • 소환, 장비, 스킬 패널 적용.

  • 각 스크립트에 Image 배열을 만들어 어두운 백그라운드 이미지를 1:1 대응하여 토글의 on / off 에 따라 키고 끄는 방식으로 처리.




Summon Ads Text Modify

  • 소환 광고 텍스트 표기 명확하게 변경.



New Colleague Icon & Colleague TotalCombatPower Icon

  • 신규 동료 New Icon & 단조 총 전투력 하단 아이콘 작업



Colleague Select Panel New Icon

  • 영혼구 소환 카드 선택창에 아직 뽑은적이 없는 아이템의 종류가 나오면 New 아이콘 표시.

  • ColleagueInventoryManager.cs

    • newItemChecker (Dictionary) -> 뽑은 아이템의 종류 인덱스를 저장하는 딕셔너리
    • Save & Load 메서드 -> 저장 및 로드 추가.
    • NewItemCheck 메서드 -> 파라미터로 아이템의 인덱스를 받아 현재 딕셔너리에 해당 키값이 존재하는지 판단하고 bool값을 반환해주는 메서드
    • NewItemUpdate 메서드 -> 파라미터로 받은 인덱스를 키값으로 딕셔너리에 추가시키는 메서드
  • ColleagueItemGenerator.cs

    • ConfirmCard 메서드 -> 뽑은 아이템을 신규 아이템 딕셔너리에 등록하는 메서드 추가. (NewItemUpdate 메서드)
    • ItemSettingWork 메서드 -> 단조 소환 카드가 셋팅될 때, 신규 아이템인지 비교하고 New아이콘을 띄울지 판단하는 조건문 추가. (NewItemCheck 메서드)
    • InitRandomSetting 메서드 -> 카드 초기화 메서드에 newIcon셋팅도 추가.



Colleague New Item Icon State

  • 새로 뽑은 아이템은 New 아이콘을 띄어준다.

  • 아이템을 클릭하여 정보를 확인하거나, 장착을 하거나, 자동 장착을 하면 New 아이콘이 꺼지도록 한다.

  • UIColleagueEquip.cs

    • newBar (Image) -> New Icon 이미지
    • SetUI, SelecteItemOpenInfo 메서드 -> 해당 아이템의 newState 상태에 따라 new 아이콘을 키거나 끈다.
  • ColleagueItemGenerator.cs

    • ConfirmCard 메서드 -> 카드를 새로 뽑아오면 newState를 true로 해준다.
  • ColleagueInventoryManager.cs

    • InventoryItem 클래스 -> newState (bool) 추가.
  • UIColleaguePopup.cs

    • OpenUI 메서드 -> 아이템을 열어 정보를 확인하면 해당 아이템의 newState 를 false로 해준다.
    • EquipItem 메서드 -> 아이템을 장착하는 메서드이기에 해당 아이템의 newState를 false 해준다.



Colleague New & Equip Icon Scale/Position Modify

  • New & Equip 아이콘 크기 및 위치 조정.



Colleague TotalWarPower Reddot

  • 전투력이 더 강한 동료/악세 아이템이 나오면 레드닷 표시

  • ColleagueInventoryManager.cs

    • ReddotColleague 메서드 -> 동료 레드닷 인보크 메서드로 슬롯을 돌며 검사를 할 때, 장착된 아이템이 있다면 해당 아이템 슬롯의 인벤토리 안에 가장 전투력이 높은 아이템을 정렬하여 찾아 현재 장착된 아이템이랑 같은지 비교하여 아니라면 true를 반환하여 레드닷을 켜주는 로직을 추가.



Total Power by Pet Attack Power Add

  • 스탯바 & 종합 전투력 합산에 펫 공격력 추가.

  • PlayerStatus.cs

    • InitBattleScore 메서드 -> 종합 전투력 합산에 펫 공격력 추가.
  • ColleagueManager.cs

    • petAttackPower (BigInteger) -> 펫 공격력을 합산 보관하고 사용될 프로퍼티
  • UIColleaguePopup.cs

    • onPetAttackChange 이벤트 -> 펫 공격력이 바뀔 때 알려줄 이벤트
    • PetAttackPowerUpdateInvoke 메서드 -> onPetAttackChange 이벤트를 다른 곳에서도 인보크할 수 있게 메서드화
    • LoadEquipItem, EquipItem, EquipSettingPet,SellItem 메서드 -> 아이템을 장착 or 판매 시에 펫의 공격력 업데이트 로직 추가.
  • UIPlayerStatusPanel.cs

    • 스탯창에 펫 공격력 부분 추가를 위해 텍스트 변수, 인벤트 연결, UI최신화 프로퍼티 등 생성



Colleague Summon & NewIcon Modify

  • 동료 New아이콘 스프라이트 변경

  • 단조 소환 선택창 능력치 글씨 흰색으로 통일




Auto Skill Equip

  • 스킬 자동장착 추가.

  • SkillManager.cs

    • AnimSkillDatas (Dictionary) -> private 인 animSkillData를 읽어오기 위한 프로퍼티.
  • UISkillPanel.cs

    • skillequips 리스트 -> 보유한 스킬을 담아두기 위한 리스트
    • AutoEquipBtn 메서드 -> skillequips 리스트를 AnimSkillDatas 딕셔너리의 Value값만 가져와 리스트를 새로 만든다.
      FindAll을 사용하여 현재 보유한 스킬만 필터링한다.
      Sort를 사용하여 레어도 순으로 정렬한다.
      반복문을 돌아 레어도가 높은 순으로 차례대로 스킬을 장착한다.






➔ 2024.05.14 (화)

(스탯 3종 & 스킬 자동 장착 퀘스트 추가, 펫 자동장착 기초 수정, 인앱 결제 및 상점 기초 공사)

Stack Quest Add

  • 스탯 (받는 데미지, 마나 증가, 마나 회복) 업그레이드 & 스킬 소환 & 스킬 자동 장착 퀘스트 추가.

  • QuestManager.cs

    • StopCounter, InitializeCounter 메서드 -> 각 케이스 추가하여 이벤트 연결
    • Load 메서드 -> 자동 스킬 장착 조건 추가.
    • CountSetAsStatus 메서드 -> 스탯 3종 케이스 추가.
  • UIGrowthPanel.cs

    • 스탯 3종 Transform 변수 추가.
    • OpenTab 메서드 -> 스탯 3종 퀘스트 루트 조건 추가.
    • ShowQuestRoot 메서드 -> 스탯 3종 퀘스트 가이드 위치 케이스 추가.
  • UIQuestBar.cs

    • MoveToCurrentQuest 메서드 -> 스탯 3종 & 자동 스킬 장착 케이스 추가.
  • UISkillPanel.cs

    • 자동 장착 스킬 퀘스트 가이드 Transform 변수 선언.
    • onAutoSkillEquip 퀘스트 완료 이벤트 추가.
    • AutoEquipBtn 메서드 -> onAutoSkillEquip 이벤트 Invoke 로직 추가.
    • ShowQuestRoot 메서드 -> 스킬 자동 장착 퀘스트 가이드 루트 조건 추가.
  • Defines.cs

    • EAchievementType (Enum) -> 스탯 관련 이넘 넘버 1칸씩 땡기고 스탯 3종 & 스킬 자동 장착 추가.
  • UI_Buff.cs & ColleagueItemGenerator.cs

    • 퀘스트 늘어남으로 인해 퀘스트 넘버를 끌어서 쓰는 부분 수정.



Colleague AutoEquip Modify

  • 장착 버튼에 펫 업데이트가 들어가있어 자동 장착을 하면 여러 토스트 메세지가 뜨던 것을 bool값을 이용하여 그냥 장착과 자동 장착을 구분하여 발동.



In App Payment Logic Add

  • 인앱결제 로직 임포트 에셋.



In App Payment

  • Strings.cs
    • 은, 는, 이, 가 ‘조사’ 를 자동으로 붙여주는 로직 추가.



UIRewardElement

  • 오버라이딩을 통한 ShowUI 메서드로 리워드 타입에 맞는 스위치문에서 보상 지급.

  • Defines.cs

    • EShopRewardType (Shop), EPaymentType(결제타입) (Enum) 추가.
  • ShopManager.cs

    • 패키지, 다이아, 마일리지 상품들을 리스트로 보관중이며 보상 패널, SO정보등 상점 핵심 정보를 들고있고, 실제 결제 성공 유무를 판단하고 보상 타입에 따라 각각의 지급처리를 위한 콜백 메서드(모든 상점 아이템이 이곳을 니간다) 보유.
  • ProductInfo.cs

    • 리워드를 들고있는 상품의 SO이며 이름, 아이콘, 결제타입, 보상, 가격 등등을 작성하여 보관한다.
  • ProductReward.cs

    • 인게임에서 별도로 아이콘을 사용하지 않는 보상일 경우 직접 등록하여 주기 위한 필드를 가지고있다.
  • UIPackageIcon.cs

    • 패키지 상품 정보 셋팅 및 아이콘 설정 조정
  • UIProduction.cs

    • 인앱결제 상품의 리워드 보상 하나하나에 들어가는 스크립트로 아이콘, 가격 등으로 구성.
  • UIProductRewardPanel.cs

    • 구매완료 후 구매한 상품 출력하는 창.
  • UnityIAPManager.cs

    • IAP 패키지와 연동해서 인앱결제와 관련된 함수를 처리하는 스크립트, ShopManager 내부에서 인앱 결제 부분을 따로 담당해주는 역할
  • 인앱결제 기능 및 상점 기초 구현.

  • GameManager.cs

    • ServiceStart 메서드 -> 유니티 게임 서비스 초기화 (IAP 사용 전 즉시 초기화)
      Unity Behavior Start 에서 초기화.
  • Strings.cs

    • currencyToKor -> 재화 타입 마일리지 추가.
  • UICurrencyUpdater.cs

    • UpdateCurrencyUI 메서드 -> 통화의 UI를 업데이트 시키는 메서드로 마일리지 케이스 추가.
  • UIRewardElement.cs

    • icon, amount (RectTransform) 변수/프로퍼티 -> get을 이용해 null 이라면 GetComponent 진행.
  • UIStageClearPanel.cs

    • ShowUI 메서드 -> 마일리지 케이스 추가. (No bigInteger)
  • UISummonPanel.cs

    • region을 사용하여 메서드 정리.
    • 스킬과 상점 관련 구분.
    • 상점 풀링 추가 (패키지, 다이아, 마일리지)
    • OpenTap, CloseTap 메서드를 만들어 ShowUI 를 하면 OpenXX 를 거치기에 들어온 현재 currentTap에 따라 스위치문을 통해 알맞은 UI를 활성화 시켜준다.
    • SetProductList 메서드 -> PackageShowUI, DiaShowUI, MileagueShowUI 메서드에서 각각 해당 상점 품목을 초기화 하하는 메서드를 한곳에 모아서 진행.
profile
No Easy Day

0개의 댓글