ReadLock() 작성 중에 조건이 아무도 WriteLock을 획득하고 있지 않으면 ReadCount를 1 늘린다 라서 if ( (_flag & WRITE_MASK) == 0 ) 이 코드는 이해하겠는데 Interlocked를 사용하면서 이 부분이 사라지고 int expected = (_flag & READ_MASK); if (Interlocked.CompareExchange(ref _flag, expected + 1, expected) == expected) return; 이렇게 작성이 되었는데요. 이러면 WriteLock 체크를 무시하는 것이 아닌가요? 코드로만 보면 WriteLock 영역은 모두 0으로 날려버리는 것이니 WriteLock이 있던 없던 그냥 Read 하겠다라고 이해되어서요.
ReaderWriterLock 강의 10분 47초 쯤 나오는 Reward 예시에 대해 질문이 있습니다. Reward 예시에서 GetRewardById(int id) 를 설명하시면서, 운영 툴로 보상을 지급해야 할 때, lock이 필요하다 라고 말씀하셨었는데 애초에 MMORPG를 잘 안해서 와닿지 않는 것 같아요. 장기적으로 본다면 게임내의 캐릭터가 가지고 있는 아이템들은 DB로 관리될 것이라 생각되는데, 왜 Lock이 필요한 것인지 이해가 잘 되지 않아요. 메모리 배리어 파트의 Store, Load 와 관련된 것 이라면 DB와 무관하게 실시간으로 캐릭터에게 지급이 된다라고 이해한다면 맞는것 같은데 이렇게 생각하는게 맞는건가요?
안녕하세요 애셋스토어에서 받은 데모 씬으로 유니티짱, @Scene, Main Camera를 옮기고 나서 터레인과 빌딩의 레이어를 Wall로 바꿨는데도 캐릭터가 이동하지 않기에 확인해봤더니 InputManager의 이 코드에 막혀 클릭하는 이벤트가 실행되지 않는 것 같습니다. if (EventSystem.current.IsPointerOverGameObject()) return; 이 코드는 UI를 클릭한경우 다른 클릭 이벤트를 막기위해 쓴 코드로 알고있는데 왜 터레인을 클릭했는데도 이 코드에 막혀버리는걸까요? 지금까지 한것중에 뭔가 잘못따라한게 있나해서 Data Manager#2 강의 첨부파일을 받아 다시해봤는데도 마찬가지입니다.
안녕하세요 게임오브젝트를 비활성화 시켜도 Awake() 안에있는 Init()은 실행된다는 것은 이해했는데요 14분 44초에서 부모 클래스 BaseScene.cs에서 Init()을 실행했는데 어떻게 자식클래스 GameScene.cs의 Init()까지 실행이되는건지 잘 이해가 안됩니다. 제 생각으로는 자식클래스에서 어떤 메서드를 오버라이드했더라도 부모클래스에서 그 메서드를 실행하면 부모클래스의 메서드만 실행될거같은데 유니티에서만 가능한건가요?
이전 강의에서도 마찬가지였지만, 강의에서 쓴 open을 f로 지정하고 다음에 다시 reader 라는 새로운 인자를 사용하는 이유가 무엇인가요? f 자체는 open함수가 동작하는 것 자체에 대한것이고, reader라는 함수는 그 결과로 생성된 객체. 이렇게 받아들이면 되는 것인가요?
안녕하세요 질문이 있어서 글을 남깁니다. builder 디렉토리에서 아래 cmd 명령어를 실행하면 아무것도 뜨지 않습니다. >> python model_builder_test.py 그러나 아래 cmd 명령어를 실행하면 영상에서 보여주신 것처럼 Run, Ok 메시지를 확인할 수 있습니다. (저같은 경우 Ran 19 tests in 0.099s, OK (skipped=1)라는 메시지가 떴습니다) >> python model_builder_tf1_test.py 그래서 코드를 살펴봤는데 model_builder_test.py 에는 main 함수가 없고 model_builder_tf1_test.py에는 main 함수가 있습니다. 정확하게 표현하기 위해 아래 코드가 model_builder_test.py에는 없고 model_builder_tf1_test.py에는 있다고 말씀드리겠습니다. if __name__ == '__main__': tf.test.main() 혹시 영상 올리실때와 제가 실제로 실행한 시점(200519) 사이에 업데이트가 있었던 건지 아니면 model_builder_test.py를 실행했을때 Run, Ok 메시지가 잘 나와야 되는데 잘 안나온건지 궁금합니다. 감사합니다.
이 함수가 해당 게임 오브젝트의 컴포넌트를 불러오는 함수인 거죠? Instance = go.GetComponent<Managers>();의 경우에는 게임 오브젝트 go에 넣어진 @Managers의 Managers란 컴포넌트를 불러와서 Instanc에 넣는 거고요. 그런데 비주얼 스튜디오에서 GetComponent의 설명을 읽어보니 Component GameObject.GetComponent(systerm type type) 라고 되어 있던데 맨 앞의 Component는 왜 붙어있는 건가요? 유니티의 도큐멘테이션에서는 Component.GetComponet라고 되어 있던데 이렇게 쓰면 컴포넌트의 컴포넌트를 불러온다는 건가요???? 마치 인셉션처럼?? 헷갈리네요 ㅜㅜ
안녕하세요! 강좌 잘 보고있습니다. Component 패턴이 그냥 Class 로 객체지향적으로 분리하는거랑 무슨 차이가 있을까요? 제 입장에선 사진처럼 따로따로 class 로 분리해서 짜는게 너무 당연해보여서.. 디자인패턴으로까지 정리된 이유를 모르겠습니다. 제가 해당 내용에 대해 잘 이해하지 못한다고 생각해 질문드립니다 ㅠㅠ
[UpdateMoving] 7:09초때는 _destPos = _lockTarget.transform.position; 가 없었는데 7:11초때는 _destPos = _lockTarget.transform.position; 코드가 추가 되어 있습니다. 다음 영상 "공격 #2" 에서 코드 정리할때 OnMouseEvent 메소드에서 위에 코드가 삭제되면 플레이어가 공격할 때 문제가 생기네요. 혹시 같은 문제가 발생하시는 분들을 위해 남겨놓습니다.
Hello, We have received your quota request for smiling-parser-275018. Unfortunately, we are unable to grant you additional quota at this time. If this is a new project please wait 48h until you resubmit the request or until your Billing account has additional history. Your Sales Rep is a good Escalation Path for these requests, and we highly recommend you to reach out to them. If you have any further questions, please reply to this thread or feel free to reach out to us at gc-team@google.com . Thanks. gpu서버 할당받으려고 메일을 보냈는데 48시간을 기다리는 말인가요?ㅠ