개발 중인 게임에서 유저가 원할 때 언제든지 게임 진행상황을 저장하는 기능을 요청받았었는데
문제는 게임 진행이 턴제 게임도 아니고 저장할 시기를 특정 할 수 없어서 저장 요청이 들어오면 무슨 상황이던지 그대로 저장해야하거든?
처음에는 '그냥 클래스만 세이브&로드 하면 되겠지~' 마인드로 했는데, 점프나 쿨타임 등등 게임 로직 대부분을 Unitask로 만들어 놔서 클래스의 변수 뿐만아니라 실행중인 UniTask까지 저장해야해
진짜 미치겠음.
쿨타임 같이 Unitask로 딜레이 시켜놓은 것들은 저장도 안되는 것 같고, 할려면 일일이 예외처리를 해야하는데 그럼 Unitask를 사용할 이유가 없어지고...
그냥 아무 생각없이 처음부터 보기 좋고 유지보수 편하게 할려고 Unitask 도배해놨다가 지금 좃되게 생겼음
Unitask 사용하는 사람 중에 이런 문제를 해결한 사람있음? 제발 알려주세요
점프중간에서도 저장되서 거기서부터 다시 시작되게 바라는건 에반듯
해당 유니태스크를 사용하는걸 커맨드패턴으로 만들어서 커맨드만 저장하고 커맨드 시작했을때의 위치랑 커맨드만 저장 - dc App
Task를 그대로 저장 하는건 불가능하고 반대로 임의의 액션을 중간부터 실행하는게 가능한 구조를 취하거나 아예 아이들 상태 + 전투중이 아닐때만 저장 가능이라는 제한을 넣거나
골 때리네 커맨드로 관리하는 클래스를 다시 만들던가 저장에 제약을 걸던가 해야겠네