본문 바로가기
반응형

전체 글552

Unity - 구매, 판매 기능 구현해보기 기본적인 구매, 판매 기능 구현해보기 구매 기능을 더해서 상점을 만들 수 있고 판매 기능을 더해서 인벤토리에 있는 아이템들을 판매하는 기능을 구현할 수 있다. 1. 기본 세팅 01 money 값 money를 static으로 선언하여 인스턴스 없이 클래스 이름과 함께 접근할 수 있다. 이를 통해 어디서나 동일한 money 값을 사용할 수 있다. public static int money { get; private set; } 02 Spend static메서드로 선언해서 정적 변수에 직접 접근 가능하다. 그래서 메서드 안에서 인스턴스 생성 없이 money를 직접 접근할 수 있다. public static void Spend(int cost) { if (cost > money) { Debug.LogError(.. 2023. 7. 17.
네트워크프로그래밍 - Session이란 Session이란 네트워크 통신에서 클라이언트와 서버 간의 연결을 관리하고 필요한 정보를 포함하고 있다. 앞서 사용했던 GameSession을 통하여 서버측과 클라이언트 측의 Session 차이를 알아보도록 하자 public override void OnConnected(EndPoint endPoint) 클라이언트 측 : 클라이언트가 서버에 연결되었을 때 연결 성공 후 초기 메시지를 서버로 보낸다. public override void OnConnected(EndPoint endPoint) { Console.WriteLine($"OnConnected : {endPoint}"); // 보낸다 for (int i = 0; i < 5; i++) { byte[] sendBuff = Encoding.UTF8.Ge.. 2023. 7. 15.
네트워크프로그래밍 - C# Non - blocking을 사용한 Server 소켓프로그래밍의 Connector 원래 더미 클라이언트 코드에서 Connect하는 부분을 Blocking함수를 이용했었다.socket.Connect(endPoint); 하지만 최대한 블로킹 함수를 사용하는 것을 지양해야하기 때문에 non-blocking하는 것으로 바꿀것이다. 서버는 보통 대기 상태로 손님을 기다리는데 왜 연결하는게 필요할까?1. 서버를 메인 용도지만 connect,receive,send는 공용으로 사용하면 좋으니까2. 서버를 하나로 만들것인지 분산해서 만들것인지 분할해서 만드는 경우가 있다. 메인 서버가 있지만 다른 애들이랑 통신하기 위해서 서버끼리 통신하기 위해 필요하다.Conncector 구현하기1. TCP 소켓 연결을 수행하는 Connect메서드public void Connect(EndPoint endPoint){.. 2023. 7. 15.
백준 C# - 5086 using System; using System.Collections.Generic; namespace baek2 { class Program { static void Main(string[] args) { while(true) { string[] token = Console.ReadLine().Split(); int first = int.Parse(token[0]); int second = int.Parse(token[1]); if (first == 0 & second == 0) return; if ((first % second) == 0) Console.WriteLine("multiple"); else if((second % first) == 0) Console.WriteLine("factor"); .. 2023. 7. 15.
Unity - 게임을 실행하면 Prefab이 missing되는 경우 프리팹을 올바르게 선택하고 적용했음에도 불구하고 게임을 실행하면 계속 Missing이 뜨는 문제가 발생하였다. 해결 방법 문제를 해결하기 위해 이것저것 해보다가 찾은 방법은 밖에서 별도로 프리팹을 생성하고 해당 프리팹을 적용하니까 더이상 Missing오류가 발생하지 않았다. 게임이 실행되면서 스크립트내에 Destroy 때문에 프리팹이 사라져서 "Missing" 오류가 발생한 것 같기도 하다. 결론적으로 게임을 실행하면 Prefab이 missing되는 경우 밖에서 별도로 프리팹을 생성하고 해당 프리팹을 적용해보자 2023. 7. 14.
네트워크프로그래밍 - Session부분과 Listener부분 분리하기(엔진과 컨텐츠 분리하기) Session Send코드 알아보러가기 네트워크 프로그래밍 -Send코드 개선하기Send 코드 참조 네트워크 프로그래밍 - C# Non - blocking을 사용한 Server 소켓프로그래밍의 Send Receive코드 알아보러 가기 네트워크 프로그래밍 - C# Non - blocking을 사용한 Server 소켓프로그래밍의 Receive Licode-piggy.tistory.com엔진과 컨텐츠 분리하기이벤트 핸들러는 엔진에서 발생하는 이벤트를 처리하고 이벤트가 발생할 때 컨텐츠에 알림을 전달한다.아래 메서드들을 통해 이벤트 핸들러와 연동될 수 있다.public void OnConnected(EndPoint endPoint) {}public void OnReceive(ArraySegment buffer).. 2023. 7. 14.
반응형