inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

컨텍스트 스위칭 질문 있습니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

bool repeat = ThreaadName.IsValueCreated; if(repeat) Console.WriteLine(ThreadName.Value + " (repeat)"); else Console.WriteLine(ThreadName.Value); 위 코드에서 else 블록에 진입 후, Console.WriteLine이 호출되기 전, 컨텍스트 스위칭이 발생한다면 동일한 스레드에 의해 else 구문이 여러번 호출될 가능성이 있을까요?

  • C#
  • unity
  • 네트워크
rabbit jack 댓글 1 좋아요 0 조회수 274

유니티 이중List 인스펙터 창에 띄우기

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

이중 List를 인스펙터 창에서 띄우고 싶은데 1차원 리스트밖에 인스펙터에 표시가 안되네요 ㅠㅠ 2차원 List를 인스펙터 창에서 띄우려면 어떻게 해야 할까요? 구글링 한 결과 오딘? 하고 새로 MyList 클래스를 Util폴더에 만든 뒤에 그걸 사용하고.. 인스펙터 창에 띄우는..? 그런거 같긴 한데 잘 모르겠어요 ㅠㅠ 루키스님은 이 경우 어떻게 사용하시는지, 사용할 계획이신지 답변이 궁금합니다! 좋은 설 되세용

  • C#
Rev 댓글 1 좋아요 0 조회수 546

큰 프로젝트에서도 Manager 구조를 사용하나요?

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

큰 프로젝트에서도 Manager 구조를 사용하나요? Manager 에서 Manager를 호출하는등 Manager구조가 단점이 있는데 이를 어떻게 극복하시나요?

  • C#
  • unity
  • MMORPG
taehyung kim 댓글 1 좋아요 0 조회수 430

인터페이스 상속 시 재정의

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

안녕하세요 강의를 듣다가 의문이 생겨서 질문 하나 올립니다. 인터페이스를 상속 받은 클래스를 다른 클래스에서 상속받게 된다면 해당 자식 클래스에서 인터페이스에 대한 함수 재정의를 한번 더 해야하는 걸까요?

  • C#
집사 댓글 1 좋아요 0 조회수 287

6:40초에 하신 말씀에 대해서 궁금한게 있습니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

쓰레드가 자신의 소유권을 포기한다는 말씀은 쓰레드를 조종하는 CPU 코어가 연결을 끊었다라고 이해해도 될까요? 그리고 임의의 시간 후에 락이 풀렸는지는 다시 똑같은 쓰레드로 확인하는건가요?

  • C#
  • unity
  • 네트워크
댓글 1 좋아요 0 조회수 283

28강 영어단어맞추기 앱-1에 오류가 있어요.

미해결

C# WPF .NET Core(7.0)

Content="{Binding.}" 부분이 '중첩 형식이 지원되지 않습니다라고 뜨는데 소스상에 뭔가 다른 부분은 없는거 같아요. 왜 그런가요?

  • C#
  • mariadb
  • mvvm
  • wpf
  • xaml
김정수 댓글 2 좋아요 0 조회수 445

OnDestroy에서 콜백함수 지울 때 질문입니다.

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

Awake에서 리스너를 등록할 경우, 오브젝트가 한 번도 활성화 되지 않았다고 가정할 때 OnDestroy 함수가 호출되지 않아 나중에 오류가 날 수 있을 것 같은데요. (물론 Start에서 등록을 하면 아무런 문제가 없겠지만요.) Awake에서 리스너를 등록하는 경우는 아예 없나요? 제 짧은 식견으로는 버그의 가능성만 보이고 실제 있을 법한 사례인지는 판단이 어려워 여쭤봅니다..

  • C#
  • unity
  • object-pooling
gya9877 댓글 1 좋아요 0 조회수 345

resoureceManager.cs질문

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

이전 유니티강의에서는 public class ResourceManager { public T Load<T>(string path) where T : Object { return Resources.Load<T>(path); } public GameObject Instantiate(string path, Transform parent = null) { GameObject prefab = Load<GameObject>($"Prefabs/{path}"); if (prefab == null) { Debug.Log($"Filed to load prefab : {path}"); return null; } return Object.Instantiate(prefab, parent); } public void Destroy(GameObject go) { if (go == null) return; Object.Destroy(go); } } 로 로드할때 path안에 T타입에 해당하는것들을 찾아서 로드했는데 public class ResourceManager { private Dictionary<string, UnityEngine.Object> _resources = new Dictionary<string, UnityEngine.Object>(); private Dictionary<string, AsyncOperationHandle> _handles = new Dictionary<string, AsyncOperationHandle>(); #region Load Resource public T Load<T>(string key) where T : Object { if (_resources.TryGetValue(key, out Object resource)) return resource as T; return null; } public GameObject Instantiate(string key, Transform parent = null, bool pooling = false) { GameObject prefab = Load<GameObject>(key); if (prefab == null) { Debug.LogError($"Failed to load prefab : {key}"); return null; } if (pooling) return Managers.Pool.Pop(prefab); GameObject go = Object.Instantiate(prefab, parent); go.name = prefab.name; return go; } 이번 강의에 것은 Dic으로 담아둘곳은 만들었는데 어디서 찾아서 Dic에다 담아두고 Load로 값을 반환하는지 모르겠습니다 모르겠습니다. 다시 계속 코드를 봤는데 _resource라는 dic형태 데이터에 #region Addressable private void LoadAsync<T>(string key, Action<T> callback = null) where T : UnityEngine.Object { // Cache if (_resources.TryGetValue(key, out Object resource)) { callback?.Invoke(resource as T); return; } string loadKey = key; if (key.Contains(".sprite")) loadKey = $"{key}[{key.Replace(".sprite", "")}]"; var asyncOperation = Addressables.LoadAssetAsync<T>(loadKey); asyncOperation.Completed += (op) => { _resources.Add(key, op.Result); _handles.Add(key, asyncOperation); callback?.Invoke(op.Result); }; } _resources.Add(key, op.Result);이 부분에서 데이터를 채워주는것 맞나요? 라이브강의 점점따라가기 힘들어서 시간날때 뒤에서부터 하나하나 계속 보고있습니다.. 강의를 다시보니 LoadAsync가아니라 LoadAllAsync에서 싹다 긁어서 dic데이터형태의 _resource에 메모리상에 들고있겠다로 해석되는데 맞나요?

  • C#
  • unity
  • MMORPG
김진호 댓글 1 좋아요 0 조회수 337

로드완료후 터치해서 게임신으로 넘어가면 생기는 오류입니다.

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

NullReferenceException: Object reference not set to an instance of an object ObjectManager.Spawn[T] (UnityEngine.Vector3 position, System.Int32 templateID) (at Assets/@Scripts/Managers/Contents/ObjectManager.cs:38) GameScene.Init () (at Assets/@Scripts/Scenes/GameScene.cs:24) InitBase.Awake () (at Assets/@Scripts/Utils/InitBase.cs:20)

  • C#
  • unity
  • MMORPG
김진호 댓글 2 좋아요 0 조회수 417

6강 ObjectManager에서 UI_Joystick

해결됨

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

UI_Joystick 컴포넌트를 학습하는 도중에 궁금사항이 생겨 질문 드립니다. 강의 중에 처음에 RawImage가 달리지 않은 오브젝트를 이용할때는 클릭했을때 조이스틱의 위치가 변경되는 범위가 조이스틱 오브젝트가 있는 부분에서만 되었다가 RawImage가 추후 부착된 프리펩을 이용했을때는 RawImage의 범위에 속하는곳에 어느곳에 터치를 해도 조이스틱 위치가 이동이 되었는데. 유니티를 아직 잘 다루지 못해서 추측해서 이해를 했는데 맞는지 한번 확인 부탁 드리겠습니다. public class UI_Joystick : UI_Base { enum GameObjects { JoystickBG, JoystickCursor, } private GameObject _background; private GameObject _cursor; private float _radius; private Vector2 _touchPos; public override bool Init() { ... gameObject.BindEvent(OnPointerDown, type: Define.EUIEvent.PointerDown); gameObject.BindEvent(OnPointerUp, type: Define.EUIEvent.PointerUp); gameObject.BindEvent(OnDrag, type: Define.EUIEvent.Drag); return true; } 해당 스크립트에서 BindEvent로 연결해준 부분이 GetObject로 달아준 하위 오브젝트가 아니라 컴포넌트가 달린 UI_Joystick 캔버스 자체에 이벤트를 달아주어서 캔버스 자체에는 Raycast Target이 없기 클릭을 해도 이벤트 인식이 안되서 Raycast Target이 활성화된 하위 오브젝트를 눌렀을때 이벤트가 발생이 되어서 처음에는 조이스틱 부에서만 작동이 됬던것이 맞는가요? 그게 맞다면 오브젝트 자체에 이벤트를 달아주게 되면, 그리고 그 오브젝트에 이벤트를 인식하는 Raycast Target가 비활성화 되어있거나 관련된 컴포넌트가 없다면, 그 이벤트가 달린 오브젝트의 모든 하위 오브젝트에 Raycast Target 상태를 확인해서 활성화 되어 있다면 하위 오브젝트에 모두 이벤트가 동작되게 되는것 인가요?

  • C#
  • unity
  • MMORPG
고만재 댓글 1 좋아요 0 조회수 254

완강 후에 에셋스토어를 살펴보는 중입니다

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요~ 완강 후에 AssetStore를 보는데, Sprite라는 폴더가 많이 보이네요. 이 디렉토리에는 어떤 것들을 넣는 것인가요? 이를 알기 위한 강의가 있을까요? 로드맵 전부 구입하긴 했습니다.

  • C#
  • unity
kik93 댓글 1 좋아요 0 조회수 259

삭제 후, GRID 재조회

해결됨

[C#/.NET 8.0]어서와, Blazor Server는 처음이지?

안녕하세요! 섹션2 수업 마무리한 상태인데, DELETE 후, GRID를 재조회하는 방법이 없어서, 질문드립니다! 구글링해서 해봐도 GRID 업데이트가 안되더라구요..

  • C#
  • postgresql
  • .net
  • blazor
댓글 2 좋아요 1 조회수 354

Managers 클래스 인스펙터 창 데이터 표시

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

루키스님이 쓰시는 Managers의 방법에 대해 궁금증이 생겨 질문드립니다(루키스님 mmorpg 1~9 전부 수강한 수강생입니다!) Managers.Resource.Load (루키스님 방식) Resource.Instance.Load 개인적으로 2번 보단 1번 방식으로 쓰는 것을 선호합니다. Managers 까지 친 후에 점을 찍으면 어떤게 있는지 리스트로 좀 더 편하게 볼 수 있기도 하고 처음 사용한 방식이 저거다 보니 좀 더 와닿아서 계속 쓰고 있습니다! 계속 사용하다보니 궁금함이 생겼는데요 2번 방식으로 사용시 인스펙터 창을 활용하여 내가 열람을 원하는 데이터를 볼 수 있지만 1번 방식을 사용하면 Managers.cs에 들어가 있는 Resource 매니져 내부의 데이터를 인스펙터 창에서 가시적으로 확인 할 수 없기 때문에 어떻게 하면 1번 방식으로 인스펙터 창에 나오게 할 수 있을까 궁금합니다..!

  • C#
  • unity
자르트 댓글 1 좋아요 0 조회수 270

제가 이해한게 맞는지 모르겠습니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

전역 변수에 값을 변경할 때 쓰레드가 우선 개인 수첩에 적어두고 나중에 다른 것들까지 한번에 모아서 최종적으로 메인 메모리에 변경된 값을 기입 한다고 이해하면 될까요? 쓰레드의 개인 수첩이 그 쓰레드를 조종하는 CPU 코어의 캐시가 되는건가요?

  • C#
  • unity
  • 네트워크
댓글 1 좋아요 0 조회수 333

강의 누락

해결됨

[C#/.NET 6.0]어서와, Blazor WebAssembly는 처음이지?

안녕하세요. 우선 블레이저 강의를 제작해주셔서 감사합니다. 강의를 듣는데 종종 "저희가 작성했던 코드~" 하면서 말씀하시는데 이전 강의에서 해당 코드를 작성한 적이 없거든요... 컨트롤러나 razor 페이지의 태그들이 선생님이 먼저 작성되어 있는 경우가 많더라구요. 그래서 종종 오류가 나도 어디서 잘못 된 건지 파악하는데 시간이 굉장히 오래 걸립니다.. 이런 부분 파악되시면 누락된 강의나 영상은 추가해주셨으면 좋겠습니다.

  • C#
  • postgresql
  • .net
  • blazor
  • wasm
temper 댓글 1 좋아요 2 조회수 384

패킷 암호화 작업은 강의에 없나요?

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

패킷 암호화 작업은 강의에 없나요?

  • C#
  • unity
  • 네트워크
rabbit jack 댓글 1 좋아요 0 조회수 346

DataManager을 훑어보던 도중에 궁금한점이 있습니다.

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

public interface ILoader<Key, Value> { Dictionary<Key, Value> MakeDict(); } public class DataManager { public Dictionary<int, Data.TestData> TestDic { get; private set; } = new Dictionary<int, Data.TestData>(); public void Init() { TestDic = LoadJson<Data.TestDataLoader, int, Data.TestData>("TestData").MakeDict(); } private Loader LoadJson<Loader, Key, Value>(string path) where Loader : ILoader<Key, Value> { TextAsset textAsset = Managers.Resource.Load<TextAsset>(path); return JsonConvert.DeserializeObject<Loader>(textAsset.text); } } namespace Data { #region TestData ... [Serializable] public class TestDataLoader : ILoader<int, TestData> { public List<TestData> tests = new List<TestData>(); public Dictionary<int, TestData> MakeDict() { Dictionary<int, TestData> dict = new Dictionary<int, TestData>(); foreach (TestData testData in tests) dict.Add(testData.Level, testData); return dict; } } ... #endregion } TestDic = LoadJson<Data.TestDataLoader, int, Data.TestData>("TestData").MakeDict(); DataManager의 위 라인을 실행할 때 TestDataLoader 의 tests 리스트에 값을 담거나 하는 명시된 부분이 없는것 같은데 어떻게 MakeDict(); 가정상적으로 실행될 수 있는것 인가요? 신기해서 이유를 알고싶어 질문 드립니다. [Serializable]를 명시하면 리턴되는 JsonConvert.DeserializeObject<Loader>(textAsset.text); 의 값이 알맞은 변수에 자동으로 담기는 것인가요?

  • C#
  • unity
  • MMORPG
고만재 댓글 2 좋아요 0 조회수 370

textRPG 전투 강의에서 Fight 함수 질문있습니다!

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

본 강의에서 fight함수에서 ref를 사용하셨는데 out을 사용해도 같은가요?? 그리고 만약 그렇다면 out 대신 ref를 쓰신 이유도 궁금합니다.

  • C#
pnj991122 댓글 1 좋아요 1 조회수 243

웨이브 리프레시 버그(?) 대응이 안되네요

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

"Wave" 텍스트와 숫자가 겹치는 버그 고치려고 해도 잘 안됩니다 원인이 Horizontal Layout Group 때문인 것 같은데 LayoutRebuilder.ForceRebuildLayoutImmediate(GetObject((int)GameObjects.WaveObject).GetComponent<RectTransform>()); 을 써도 안되네요.. 선생님께서는 어떻게 해결하셨는지 궁금해서 질문 드립니다

  • C#
  • unity
  • object-pooling
luhc 댓글 1 좋아요 0 조회수 261

1_Process와 Thread protobuf 부분 질문

해결됨

Backend 멀티쓰레드 이해하고 통찰력 키우기

위쪽 부분에서 궁금한점 있습니다 protobuf를 사용해도 필드가 추가되면 어쨌든 어떤 것을 쓰던 JSON이랑 똑같이 공유되어야할 것 같은데 제가 놓친게 있을까요? 참고로 전 protobuf 써본적 없습니다

  • C#
  • mysql
  • kafka
  • redis
  • multithread
아무거나123 댓글 1 좋아요 0 조회수 335

인기 태그

인프런 TOP Writers

주간 인기글