특정 클래스의 모든 하위 클래스에 대한 컴패니언 개체를 자동으로 생성 할 수 있습니까?스칼라 : 도우미 객체 생성
예를 들어, val companion: CompType[T]
인 class Component[T]
입니다. 여기서 T
은 서브 클래스 여야합니다. 예 : class Transform extends Component[Transform]
.
있는 방법은 동반자가 생성 될 각 서브 클래스에 대한 객체를 가지고 모두가 - 그것은 보이지만 사소한 - 저장 내가 할 구성 요소의 모든 종류의 개체 정의를 입력?
편집 :
모든이의 최종 목표는 기업 시스템이다. 각 컴패니언 개체는 구성 요소 배열에서 해당 특정 형식의 구성 요소를 조회하는 데 사용할 수있는 고유 한 정수 (상속 된 특성에서 가져 오는 고유 한 정수)를가집니다. 나는 엔티티로 변환 컴포넌트 추가 할 경우에 따라서 예를 들어, 내가 부를 것이다 :
이addComponent(entity, Transform, new Transform(params))
새로운 Transform
객체가 다음에서 제공하는 인덱스의 개체를 나타내는 구성 요소의 배열에 배치 될 것 변환 동반자 개체. 그러나 동반자 물체가 상속받은 형질로부터 그들의 색인을 얻었으므로, 그들의 이름과 별개로 어떤 것의 형식화 된 차이점은 없습니다. 그러므로 왜 그들이 생성되도록하는 것이 좋을까요?
로 시작하는보다 구체적인없는 죄송합니다. 이것이 여전히 혼란 스럽다면, 나는 이것이 완전히 잘못된 길일뿐입니다. 그렇게 생각한다면 자유롭게 말해주세요.
에서 사용 찾을 수 있습니까? 당신은 그들을 위해 무엇을 필요로합니까? –
미안 나는 그것을 정말로 언급해야했다. 나는 그 질문을 비교적 짧게하고 싶었다. 자세한 내용을 편집하고 추가하겠습니다. – Mistodon