문제 기존의 Pawn 클래스가 갖고 있던 필드를 리팩토링을 위해 분리하려고 했다. Actor Component를 새롭게 생성해 이에 대한 포인터를 갖는 식으로 변경했다. 그러나 CreateDefaultSubobject(TEXT("컴포넌트이름")); 으로 생성을 해도 안되어 nullptr로 나오거나 UPROPERTY를 VisibleAnywhere로 해도 Blueprint editor에서 details가 보이지 않는 문제가 발생했다. 해결 블루프린트 에디터에서 Reparent Blueprint해서 다른 상위 클래스(ex: APawn)으로 변경한 뒤, 원래 클래스(ex: APawn을 상속받은 원래 나의 클래스 UGoKart)로 바꾼다. 멀티플레이 게임 개발 강의 듣다가 발생한 문제인데, 이렇게 해서 위의 문제..
문제 https://www.acmicpc.net/problem/10552 10552번: DOM The first line of input contains three integers N, M and P (1 ≤ N, M ≤ 105, 1 ≤ P ≤ M), the number of pensioners, the number of TV channels and the initial channel displayed on TV. Each of the following N lines contains two integers ai and bi (1 www.acmicpc.net 풀이 방법 싫어하는 채널을 좋아하는 채널로 변경하는 걸 하나의 간선으로 본다. 가장 어린 사람이 채널을 바꾸기 때문에, 이미 간선을 만들었으면 그 이..
Travel 언리얼의 Travel에는 크게 두 가지, Seamless와 non-seamless 방식이 있다. Travel은 쉽게 말해서 한 레벨에서 다른 레벨로 옮겨가는 것이다. 세션형 게임으로 예를 들어보자면, 세션에 접속했을때 로비맵에서 x명의 플레이어가 약 y분동안 대기하고 실제 플레이맵으로 옮겨지는 것이 Travel이다. Seamless Seamless는 원활하다는 뜻으로, non-blocking operation이다. 이름대로 매끄러운, 원활한 이동이며 Transition map이라는 중간에 거쳐가는 맵을 사용한다. 즉, A맵에서 B맵을 로딩할 때 순서는 A -> Transition map -> B가 된다. 왜 이렇게 하는걸까? 만약 로비맵은 엄청 작은 놀이터인데 실제 플레이맵은 거대한 섬이라고..
문제 https://www.acmicpc.net/problem/5076 5076번: Web Pages Input will consist of a number of lines of HTML code, each line containing from 0 to 255 characters. The last line will contain a single # character – do not process this line. Within the text of each line will be zero or more tags. No angle bracket will www.acmicpc.net 풀이 방법 주어진 html의 태그가 올바르게 열리고 닫혔는지 확인하는 문제이다. 스택을 이용해서 올바른 괄호 문자열인지 판별하..