반응형 분류 전체보기505 Unity - panel이 켜져있는데 뒤에 GameObject가 클릭되는 경우 영상 썸네일을 보면 panel뒤에 확인창이 떠있는 것을 확인할 수 있다. panel이 켜져있는데 뒤에 cube가 클릭된 것이다. Panel이 켜져 있는 경우 뒤에 GameObject클릭 안되게 하는 방법 01 panel이 활성화 여부를 알게 해주는 메서드 만들기 public bool IsPanelActive() { return panel.activeSelf; } 02 뒤에 있는 GameObject에 OnMouseDown기능을 panel이 안활성되었을때만 실행되도록 설정 private void OnMouseDown() { bool isPanelActive = uiManager.Instance.IsPanelActive(); if (!isPanelActive) { // 실행하고 싶은 코드 입력 } } 결과 확.. 2023. 7. 17. 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 endP.. 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. 이전 1 ··· 48 49 50 51 52 53 54 ··· 85 다음 반응형