강의 공부

·강의 공부
이제 퀘스트 시스템의 핵심인 Quest를 만들 차례다. 퀘스트 스크립트를 생성하고 ScriptableObject를 상속받는다. 그리고 Linq를 쓸것이기 때문에 Linq namespace도 적어준다. 우리가 Quest라고 했을 때 필수적으로 떠오르는 것들이 있다. Category, Icon, Quest의 이름, Quest의 설명, 그리고 CodeName 등등.. 이런것들을 구현해주겠다. 기본적인 필드들을 생성해준다. description은 인스펙터 상에서 설명이 길어질 수도 있기 때문에 TextArea를 추가해준다. Quest도 Task처럼 State를 관리할 수 있으면 편리하기 때문에 QuestState enum을 만든다.
·강의 공부
이제 Target도 만들었고 성공횟수 계산 모듈도 만들었는데, Target으로 뭘 해야 성공횟수를 받을 수 있는지에 대한 정보가 없다. 이를 위해 분류의 목적으로 다용도로 사용될 Category를 만들것이다. Category class 생성 ScriptableObject를 상속받아주고, 비교를 위한 string 변수 codeName과 인스펙터에 보여지는 displayName을 만들어준다. 프로퍼티도 만들어준다. Category는 보통 코드네임을 이용해 비교를 하는 경우가 많은데, 편의성을 위해서 Category와 문자열을 바로 비교할 수 있도록 비교 연산자를 추가해준다. using문 System과 IEquatable 인터페이스를 상속받는다. Equals 함수를 만들어준다. 널체크, 값비교, 타입비교를 해..
·강의 공부
퀘스트에서 Target이란? 퀘스트에서 Target이란 "모험 전투 5회 도전하기"에서 "모험 전투"가 Target이다.Target은 다양한 형태로 존재할 수 있으며 "슬라임 5마리 잡기" 에서 Target은 슬라임으로, 형태가 존재하므로 GameObject 자료형 또는 다른 class 자료형 일것이고,"강화 10번 하기" 에서 Target은 강화하기로, 강화는 형태가 존재하지 않으므로 string 자료형일것이다. Target 구현 TaskTarget 스크립트를 만들어준다.  ScriptableObject를 상속받아주고 추상화 클래스로 만들어준다.Target을 외부로 가져올 수 있는 추상 object 변수 Value를 읽기 전용 프로퍼티로 만들어주고, Target이 일치한지 확인해주는 bool형 추상 메..
·강의 공부
Task는 Quest에서 실제로 해야 하는 작업을 나타낸다. 위의 "모험 전투 5회 도전하기" 와 "제작소에서 장비 3회 강화하기" 퀘스트들을 예시로 설명하자면 첫번째 퀘스트 Target = 모험 전투 Category = -회 도전하기 두번째 퀘스트 Target = 제작소 Category = -회 강화하기 모두 무엇을, 몇회, 어떤 것을 하는지로 구성되어있다. 이것들은 모두 CountTask 이고 CountTask 외에 많이 쓰이는 SetTask도 있다. Task 생성과 필드 구성 Task 스크립트를 생성해주고, 스크립터블 오브젝트로 만든다. 코드 내에서 스크립트끼리 구별하게 할 수 있는 codeName을 선언해주고 퀘스트의 간단한 설명을 쓸 수 있는 description을 선언해준다. 퀘스트 시스템의 ..
·강의 공부
유니티 개인 프로젝트를 만드는 도중, 점점 프로젝트의 코드가 난잡해지고 재사용성이 떨어지는것 같아서 인프런에서 강좌를 찾아봤다. 그러던 중 모듈식으로 개발하는 퀘스트&업적 시스템 이라는 강의가 눈에 들어와 구매하게 되었다. 이 강의는 거의 모든 게임에 들어가는 퀘스트 시스템을 효율적으로 개발하는 방법과 퀘스트와 업적 시스템 개발하는 것을 기반으로 모듈식 프로그래밍을 배우는 강의였다. 내 상황에서 매우 필요한 강의였고 공부를 시작하게 되었다. 모듈식 프로그래밍 모듈식 개발은 클래스의 기능을 분리하여 마치 컴퓨터를 조립하듯 우리가 원하는 기능들을 조립해 객체를 완성시키는 것을 말한다. 모듈식 프로그래밍을 해야 하는 이유 모듈식으로 개발을 하면, 개별 클래스가 가벼워지고, 코드 간의 결합이 느슨해져 수정과 디..
입니다최원석
'강의 공부' 카테고리의 글 목록