
[Unity/C#] 버프, 디버프 시스템입니다. 근데... 비트 마스킹을 곁들인.
·
개발/Unity
개요이번 글은 [Unity/C#] 포션 시스템의 후속 글입니다. 원활한 이해를 위해 글을 읽고 와주시면 감사하겠지만 귀찮다면 읽지 않아도 괜찮습니다. 아이디어 정리일단 가장 저명한 게임인 마인크래프트를 예시로 들어보자면 버프와 디버프는 다음과 같이 중첩되어 있는 것이 일반적입니다. 이것을 관리하기 위해서 그냥 List 자료구조를 쓰는것도 괜찮지만 만약 특정 버프, 디버프가 들어있는지 판단을 해야한다면 그것을 판단하기 위해 탐색을 해야하기 때문에 O(n)의 시간 복잡도가 발생합니다.물론 리스트가 길어봤자 얼마나 길겠냐마는 더 좋은 방법이 있는데 굳이 안 쓸 이유야 없잖아요? 그래서 비트 마스킹 기반으로 현재 버프, 디버프의 상태를 저장하고 구현부는 또 따로 돌려주기로 했습니다. 일단 각각의 상태이상들..