안녕하세요! 강사님 이번 프로젝트에서 더 나아가 rpg 연습 프로젝트를 하는 도중 인벤토리 구현을 하는데 있어서 궁금한 것이 있어 질문 남깁니다. 아래처럼 슬롯 UI를 구현해서 이제 Clear일때는 text,와 image를 지워주고 update에는 또 새로운 값을 대입해주거나 해야하는데 그때마다 Get~= null, Get~= stack++;이런식으로 해주어야하는건가요? 클래스 멤버변수로 Text stackText 를 하나 선언해서 Init할때 stackText = Get~ 이런식으로 받아놓고 사용하면되는걸까요? 다루어야할 데이터가 늘어나면 enum형에 있는만큼 더생기니까 뭔가 바인딩하려고 enum형에 다 선언을 해놨는데 변수를 하나 더 만드는 거 같아 이런식으로 사용하는게 맞는지 모르겟습니다. 머리를 굴려서 생각해본 결과 SetInfo를 값을 변화시켜야할때마다 호출하는 방식으로 해놓긴했습니다ㅠㅠ using System.Collections; using System.Collections.Generic; using TMPro; using UI; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class UI_InvenItemSlot : UI_Base { enum Images { ItemImage } enum Texts { ItemStackText } void Start() { Init(); } public override void Init() { Bind<GameObject>(typeof(Texts)); Bind<GameObject>(typeof(Images)); //클릭했을 때, 장착 바뀌기 이런 이벤트 함수 만들어서 연결 } private void OnClickSlot() { } private void ClearSlot() { // image =null //itemstacktext= null } private void UpdateStackText() { } private void SetInfo(Sprite image, int stackCnt) { GetText((int)Texts.ItemStackText).text = stackCnt.ToString(); GetImage((int)Images.ItemImage).sprite = image; } //슬롯 인덱스 // 슬롯 아이템 보유 여부 // 슬롯 접근 가능 여부 -> 다른 종류 아이템이거나 꽉찼으면 접근 X // 아이템 이미지 // 수량 텍스트 //기능 // 아이템 이미지 변경/ 보이기/ 숨기기 // 수량 텍스트 변경/보이기/숨기기 // 슬롯 접근가능 여부 변경 }
강의 내용을 보면 PlayerController에서 update함수에 캐릭터가 움직이는 로직을 직접 넣는것은 규모가 큰 게임에서는 효율이 안좋다고 하셨는데 어떤부분이 직접적으로 안좋은것이고 매니저를 따로 만들어서 작동시키는것이 어떤점이 좋은건지 조금 구체적으로 알고싶습니다. 이후강의에 resource manager도 같은 맥락으로 궁금점이 생겼는데요. resource manager같은 경우에는 진짜 유니티에서 제공하는 함수를 한번 더 박싱을 해서 쓰는것 뿐인데 왜 따로 매니저를 만드는지 궁금합니다 지금은 Camera편 강의를 보고 있다가 질문거리가 생겨서 여기에 질문 같이 올립니다. inputmanager, resource manager의 상위에 Managers라는 또 다른 매니저를 만들어서 여러가지 매니저들을 관리하는데요. 여러가지 매니저들을 따로따로 써도 될것같은데 굳이 한번 더 복잡하게 상위 매니저를 만들어서 한번에 쓰는것인지 궁금해요.
안녕하세요 lock 관련해서 찾아보다가 lcok-free 알고리즘을 보게 되었는데요 lock-free라는게 이번 강의처럼 Queue자료구조를 이용해서 GameRoom의 Broadcast, Enter, Leave에 lock을 풀어내느걸 lock-free라고 할 수 있는건가요? 만약 아니라면 즉 말 그대로 lock에서 완전히 자유로울 수 있다면 lock-free 알고리즘을 사용하지 않는 이유를 알 수 있을까요? 어떠한 한계가 있는걸까요?
방치형 게임의 경우 JWT의 유효기간을 어떻게 설정해야하는지가 궁금합니다. 방치형 게임은 특성상 유저가 AFK를 해두는경우가 많은걸로 알고있습니다. 제가 이해한바로는 게임을 오래동안 켜놓아도 JWT의 유효기간이 지나버리면 다시 재로그인을 해서 JWT를 발급받아야하는것으로 이해했습니다. 유효기간을 되도록이면 짧게하는게 보안적인 부분에서 이득이라고 생각되는데 이를 해결할 방법이 있을지 혹은 적절한 유효기간이 있는지가 궁금합니다.
안녕하세요 예를 들어 코드가 다음과 같이 2개의 참조타입 클래스를 생성했을때 같은 주소를 참조하고 있습니다. 여기서 class를 2개가 되며 참조타입은 스택 메모리에 힙 메모리의 주소값을 저장한다고 알고 있습니다. 그럼 스택 메모리에 힙 메모리의 주소값이 저장되는 것이니 힙 메모리는 같더라도 스택메모리는 증가된다고 생각하는데 메모리 사용량이 얼마나 증가 되는건지 알 수 있을까요? public class Test { private int D1; private string D2; } int main() { Test A = new Test(); Test B = A; }
먼저 수준 낮은 질문 죄송합니다.. SendBufferHelper클래스의 내용 전부를 SendBuffer클래스에 넣을 수 있을 거 같고, 넣으면 사실상 SendBufferHelper클래스는 필요 없을 거 같다는 생각을 했습니다. 제가 뭔가 빠뜨린 것이 있는지 궁금합니다. SendBufferHelper클래스의 ThreadLcoal에서 new ThreadLocal<SendBuffer>(() => { return null;}); 사용하셨는데 여기서 람다식은 생성자 인가요? 이것도 사실 필요 없다고 생각했는데 이것은 어디에 사용되나요?
좋은 강의 제공해주셔서 감사합니다. 1주차의 UI까지밖에 안해봤지만 상당히 즐겁게 따라가고 있는데요. 주차별 강의를 따라가고 나서 각 코드들이나 시스템의 흐름을 파악하면서 강의를 따라가면 될까요?? 이런 질문을 드리기에 좀 쑥스럽지만.. 알려주시면 이정표 삼아 열심히 해보겠습니다. 감사합니다!
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
안녕하세요 강사님 저 강의를 다회차 보면서 궁금한 점이 생겨서요. 기존 코드 public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO) { var configuration = new MapperConfiguration(cfg => { }); //Response..DTO 생성후 Controller로 전달 // Perform mapping Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc=mapper.Map<GetUserDTO,Dictionary<string, object> >(getUserDTO); dc.Remove("Password"); ProcCall procCall= new ProcCall(); DataTable dt = await procCall.RequestProcedure("sp_login", dc); GetUserResponseDTO dto = new GetUserResponseDTO(); dto.Id = (int)dt.Rows[0]["id"]; dto.Userid = dt.Rows[0]["userid"].ToString(); dto.Username = dt.Rows[0]["Username"].ToString(); dto.Point = (int)dt.Rows[0]["Point"]; return dto; } 로그인 서비스의 관련하여 dto의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
아래와 같이 css를 추가 했는데 적용이 되지 않습니다. asp.net core mvc로 했을 때 아래와 같이 추가를 하면 적용이 되는데 asp.net core 비어있음으로 생성 후 아래와 같이 추가를 하면 동작이 되지 않아요 cshtml.css, cshtml.cs를 추가하고 싶으면 어떻게 해야 하나요? 관련 강의도 추가를 해주시면 감사하겠습니다.