Загружаем каталог…
Загружаем каталог…
1. 인벤토리의 책임 UAugmentInventoryComponent 가 들고 있던 것 보유 목록 플레이어가 가진 증강 후보 추첨 이번 라운드에 제시할 카드 뽑기 시드 생성 추첨에 쓸 난수 시드 걷어낸 함수 목록 ServerRollOffers // 후보 뽑기 GatherCandidatesByTier // 등급별 후보 수집 GetTierDraftWeight // 등급 확률 MakeDraftSeed // 시드 생성 떼어낸 계기 기획이 바뀌어 등급 추첨이 팀 단위 로 변경 같은 팀이면 같은 등급을 받고, 그 등급은 팀 점수로 정해짐 하지만 인벤토리는 플레이어 하나에 붙은 컴포넌트라 팀을 모름 여기에 더해 인벤토리가 지는 책임이 이미 너무 많았음 2. 세 층으로 분리 층 어디 무엇 상태 정책 RogueAugmentDraft 등급, 자격, 버킷, 추첨 없음 (순수 함수) 조정 UAugmentDraftManager 규칙 조립, 시드, 팀 등급, 정책 호출 라운드 상태 UAugmentInventoryComponent 보유 목록, 후보 보관, 등장 이력 플레이어 정책 층은 네임스페이스에 둔 순수 함수 // 증강 드래프트 관련 함수 namespace RogueAugmentDraft { // 이번 라운드에 한 팀이 받을 등급 FPS_API EAugmentTier ResolveTier( const FAugmentDraftRules& Rules, int32 RoundNumber, int32 Seed, ...); } 팀 점수를 누가 아는지는 정책이 신경 쓰지 않음 매니저가 점수를 계산해 인자로 넘기고, 정책은 받은 값으로 등급만 돌려줌 인벤토리에 남긴 것은 셋 SetOffers // 뽑힌 후보를 보관 FillDraftEligibility // 보유 상태를 자격 판정에 넘겨줌 MarkOffersSeen // 등장 이력 기록 전부 자기가 들고 있는 상태를 읽거나 쓰는 일 이고, 판단은 하나도 없음 3. 순수 추가 세 번, 스위치 한 번 정책 층을 한 번에 옮기지 않고, 호출자가 없는 상태로 세 번 쌓았음 커밋 추가한 것 삭제 1 ResolveTier 등급 추첨 0 2 IsCandidateEligible , GetOfferLevel 자격 판정 0 3 BuildCandidateBucket , PickOffers 버킷과 추첨 0 세 커밋 모두 AugmentDraft.h/.cpp 에만 손댔고 기존 파일은 수정하지 않음 이후 네 번째 커밋에서 한 번에 전환 인벤토리에서 추첨을 걷어내고, 매니저가 새 정책 층을 호출하도록 변경 커밋을 분할한 이유 어느 커밋에서 멈춰도 게임은 이전과 똑같이 동작함 문제가 생기면 네 번째 하나만 되돌리면 됨 리뷰할 때 앞 셋은 "새 함수가 맞게 짜였나", 넷째만 "동작이 바뀌었나" 4. 결과 정책 층을 쌓는 세 커밋은 415줄을 추가했고 삭제는 0 네 번째 전환 커밋에서만 삭제가 있음 추가 삭제 AugmentInventoryComponent 73 241 AugmentDraftManager 181 17 곁들여 정리한 것 RPC 가 아닌데 Server 접두사가 붙은 함수들을 수정 ServerRemoveAllAugments -> RemoveAllAugments ServerSetOfferSelectionEnabled -> SetOfferSelectionEnabled ServerAutoSelectOffer -> AutoSelectOffer ServerClearOffers -> ClearOffers 이름만 보고 RPC 라고 믿으면 호출 위치를 잘못 잡게 됨 어차피 인벤토리의 공개 함수를 손보는 커밋이라 같이 수정
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[UE5] 증강 추첨 책임 분리. 1. 인벤토리의 책임 UAugmentInventoryComponent 가 들고 있던 것 보유 목록 플레이어가 가진 증강 후보 추첨 이번 라운드에 제시할 카드 뽑기 시드 생성 추첨에 쓸 난수 시드 걷어낸 함수 목록 ServerRollOffers // 후보 뽑기 GatherCandidatesByTier // 등급별 후보 수집 GetTierDraftWeight // 등급 확률 MakeDraftSeed // 시드 생성 떼어낸 계기 기획이 바뀌어 등급 추첨이 팀 단위 로 변경 같은 팀이면 같은 등급을 받고, 그 등급은 팀 점수로 정해짐 하지만 인벤토리는 플레이어 하나에 붙은 컴포넌트라 팀을 모름 여기에 더해 인벤토리가 지는 책임이 이미 너무 많았음 2. 세 층으로 분리 층 어디…