지금까지는 이런식으로 카드 기능이 추가될때마다 손코딩으로 팩토리에 하나씩 적어넣었는데,
자동화할 더 좋은 방법이 있을까요?
위 함수는 카드 이름을 받아서 실제 기능을 받아오는 코드에요
[🐣질문] 유니티 클래스 로드 질문
고양이(14.48)
2025-12-29 19:47:00
추천 0
댓글 12
다른 게시글
-
왜 수수료는 30%고정임???
[22][💬] Indie(211.37) | 25.12.29추천 0 -
네오위즈 퀘스트 내용 업데이트됐네
[3][💬] dryrain(dryrain1025) | 25.12.29추천 1 -
2d 그림자 이걸 어찌해야 할까
[2][🐣질문] Indie(221.152) | 25.12.29추천 0 -
gpt랑 같이 설정딸 치는게 재밌는게
[💬] 익명(team7362) | 25.12.29추천 0 -
게임 구상 극초기의 설정딸<<<<<
[5][💬] sdf(symphony1272) | 25.12.29추천 2 -
밑에 ai코딩만 해서 자괴감 든다는거 보니깐 반성하게 되노 ;;
[4][💬] 익명(team7362) | 25.12.29추천 0 -
님들은 그런거 없음?
[6][💬] Indie(58.233) | 25.12.29추천 1 -
덱빌딩 장르는 스팀덱 지원 필수다
[7][💬] 익명(pianist8697) | 25.12.29추천 1 -
이건 사설이긴 한데 ai를 쓰던 책보고 따라해보던 유튜브 보고 따라해보더
[1][💬] 익명(caprisun21) | 25.12.29추천 1 -
1인 개발자가 죽으면 발생하는일
[4][💬] Indie(175.192) | 25.12.29추천 0
라고 ai한테 물어보는거예요 - dc App
리플렉션을 사용하라고 하는데 이게 괜찮을지는 잘 모르겠네요 적용시켜봐야겠어요
public static T Create<T>() where T: ICardFunction, new() => new T(); 이케해도 되지 않을까
결국 런타임에 타입 자체를 알 방법을 마련해놓은게 없어서 string을 type으로 연결해야해서 저렇게 된거라 문제해결은 안될것같아요 답변 고마워요
왜 string을 통해서 타입을 리턴하는거임? 그럴 필요가 있나? 아무튼 리플렉션은 느려서 초기화단계 제외하곤 안쓰는게좋음
id와 class 매칭은 string Id 필드 있는 Attribute class 하나 만들어서 관련 클래스들에 추가하면 되긴 할텐데 이걸 생성하는건 결국 System.Activator.CreateInstance를 써야함 struct가 아니라 class를 새로 생성하는 코드인걸 보면 틱마다 루프를 돌거나 한 이벤트에 수백개 이상 생성되는 상황에서 사용하는건 아닌 것 같으니 성능 문제는 없다 치면 괜찮은 방법이긴 한데... 생성 속도도 잡고 싶으면 ICardFunctionFactory 같은 인터페이스를 상속받는 클래스들을 각 CardFunction마다 만들어 초기화시 Factory를 id와 매칭되게 Dictionary에 생성해서 캐싱해두고 필요할때 꺼내서 함수 호출해주면 되긴 할꺼임
아니면 내가 하는 방법인데 카드는 ScriptabpeObject로 데이터를 수정가능하게 하고 기능 클래스를 드롭다운 메뉴로 선택하게 함 Draw 클래스가 있다고 하면 string Feature 변수에 인스펙터에서 Draw가 뜨는 방식으로, 나중에 작동할때는 Draw클래스가 생성되고 - dc App
흠 유니티 c#는 초보라서 잘모르겟은데 그냥 static 클라스나 저 함수를 가지고있는 자식함수 생성자 호출될때 싱글턴 property나 스타틱클라스로 저 카드들의 부모 함수로 모든 함수 자식들 글어와서 리플랙션으로 클라스이름 조회후에 dictionary 만들어서 스위치맵 대신쓰면 되지 여기서 더 최적화도 가능함 키로말 enum으로 저장하는것도
*키로 스트링말고 enum으로 저장하는것도