GDI와 GDI+를 편하게 사용하기 위해 인터페이스를 만들었습니다.
모든 오브젝트는 카메라에서 렌더를 관리합니다.
화면에 렌더를 하기전에 화면안에 있는 오브젝트만 렌더하도록 하였습니다.
타일의 경우 현재 렌더되고있는 카메라 좌표를 계산해 표시되는 타일을 선정하여 렌더하였습니다.
충돌 연산량을 줄이기 위해 화면 밖 총알은 플레이어와 충돌체크를 하지 않도록 하였습니다.
아이템은 크게 종류별로 분류를 하고 아이템코드에 따라 아이템이 설정되도록 하였습니다.
아이템에 스킬이 있을경우 스킬 클래스가 생성됩니다.
악세서리는 장착시 설정된 능력치가 플레이어매니저를 통해 적용됩니다.
미니맵은 표시할 오브젝트의 위치 정보를 가져와서 연산 후 미니맵 사이즈에 맞게 표시 해주었습니다.
맵의 테두리를 검사해 비어있는 곳을 맵의 입구로 찾도록 했습니다.
몬스터는 미리 정의해둔 코드별로 클래스를 생성해서 추가시켜줍니다.
같은 몬스터지만 여러 타입일 경우 코드를 확인해 한번더 분류해 주었습니다.
각종 정보를 미리 정의해서 사용 할 수 있게 하였습니다.
코드번호를 인덱스로 사용하여 데이터를 설정하였습니다.
아이템 정보가 길어지게 되면 단어의 길이를 확인해 줄바꿈 하였습니다.
아이템에 특수 옵션이 있으면 UI길이를 길어지게 하였습니다.