강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

조재한님의 프로필 이미지
조재한

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Coroutine #2

하나의 코루틴 함수를 여러 함수에서 동시에 호출할 경우 질문있습니다.

작성

·

611

0

질문 내용 그대로 하나의 공용 코루틴을 여러 함수에서 사용하려할때 공용 코루틴을 독립적으로 사용하게끔 하는 방법이 있는지 궁금합니다.

예를들어 더블슬래쉬, 차지라는 스킬이 있고 각 함수의 끝에서 쿨타임을 체크해 해당 시간동안 스킬재사용을 막아주는 공용코루틴 함수를 호출한다고 할 때 테스트 결과 각 스킬이 공용코루틴 함수의 데이터를 공유한다는 문제점이 발생했습니다. ->기존 스킬의 쿨타임이 뒤의 스킬의 쿨타임으로 초기화

해결방법으로 생각한게

1. 스킬마다 쿨타임을 계산하는 코루틴 함수를 각각 생성.->매우 비효율적이라 판단, 하지만 확실한 해결방법

2. 쿨타임과 관련된 작업을 공용코루틴으로 만들고 스킬 데이터를 파라미터로 받아 다르게 처리. -> 각 스킬이 이미 사용되고 있는 코루틴에 접근한다는 문제.

2번의 경우 new 키워드 처럼 인스턴스를 만들어 사용하면 될거같은데 제가 못찾는건지 안나오네요.. 아님 제가 설계 자체를 잘못한걸까요?

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

스킬이 10000개 있는 것도 아니라 1번도 딱히 상관없고,
쿨타임 관리는 마지막 사용 시간을 기록해서 체크하는 고전적인 방법도 있으니
적당히 섞어서 응용하면 됩니다.

0

조재한님의 프로필 이미지
조재한
질문자

1번도 나쁜 방법은 아니었군요. 감사합니다!

조재한님의 프로필 이미지
조재한

작성한 질문수

질문하기