본문 바로가기

전체 글192

유니티(C#)로 사용해 보는 디자인 패턴_ProtoType Pattern_프로토타입 프로토 타입 이번 예제에서는 몬스터의 리스폰을 프로토 타입으로 구현해 보았습니다. Monster.cs public class KMS_Monster { public int health; public int speed; public int positionX; public int positionY; public virtual KMS_Monster Clone() { return new KMS_Monster(); } } 가상 함수인 Clon이 존재 Demon.cs public class KMS_Demon : KMS_Monster { public KMS_Demon(int hp, int spd, int x, int y) { health = hp; speed = spd; positionX = x; positionY =.. 2020. 5. 30.
유니티(C#)로 사용해 보는 디자인 패턴_Observer Pattern_관찰자 패턴 옵저버 패턴, UI뿐만 아니라 데이터를 일괄로 전달하기 위해 자주 사용하는 패턴 UI가 오픈 되어 있을 때에만 해당 UI에 데이터를 전달하는 예제를 작성 실행화면 ObserverPattern.cs using UnityEngine; // 옵저버 패턴의 원형 public class KMS_ObserverPattern : MonoBehaviour { public KMS_ObserverPattern nextOb = null; public UIType type; // 옵저버를 상속받는 클래스들은 다음 함수를 꼭 구현해야 한다 public virtual void Notify(Event type) { // 데이터가 전달 되었을 때 수행해야 하는 일들을 진행할 수 있다 } } 해당 클래스를 상속받은 UI들 Equipm.. 2020. 5. 24.
유니티(C#)로 사용해 보는 디자인 패턴_Flyweight Pattern_경량 패턴 경량 패턴, 동일한 내용을 묶어서 관리하는 패턴 using UnityEngine; public class KMS_FlyweightPattern : MonoBehaviour { // 16 x 16 짜리 랜덤맵을 만든다고 생각해보고 const int mapSizeX = 16; const int mapSizeY = 16; // 각 위치에 존재하는 지형,지물에 대해서 저장 한다고 했을 때 KMS_FieldObject[,] fieldObjectArray = new KMS_FieldObject[mapSizeX, mapSizeY]; // 동일한 정보는 묶어서 관리하고 다른 부분만 각자 처리하는 식의 패턴 // 예제에서는 이동 가능 여부와 이름만 넣었다 KMS_FieldObject fieldIsle = new KMS_.. 2020. 5. 24.
유니티(C#)로 사용해 보는 디자인 패턴_Command Pattern_커맨드 패턴 * 코딩 스터디 관련 내용은 매주 토요일 작성됩니다 * 유니티에 Command Pattern을 적용 시켜 보았습니다. 보통 커맨드 패턴은 유저의 입력하는 값과 실제 처리하는 과정을 나누어서 유저가 원하는 입력값과 실행값을 매칭 시켜 주는 용도로 많이 사용합니다. 실제 예제에서도 그렇구요. 물론 이 예제에서는 여러 입력값을 쓰고있지는 않아서 그 의미전달이 조금 부족할 수도있지만, 구조는 다음과 같습니다. * 결과 설명 및 화면 방향키, U key, D key를 누르면 오브젝트가 이동하거나 확대, 축소 Z key, R key를 통해 되돌리기, 다시 돌리기 기능이 실행 되는 예제 Unit.cs using System.Collections; using System.Collections.Generic; using.. 2020. 2. 23.
Git Hub 사용 및 기본 세팅 설정(GitHub Desktop을 활용해 보자) 개인 프로젝트나 소규모 코드 관리를 진행하기에는 깃허브가 무료로써 충분히 괜찮다고 생각. 깃 허브 세팅과 깃 허브 데스크탑을 사용하기 위한 기본적인 세팅해 보겠습니다. 1. 당연한 이야기지만 깃 허브 사이트로 접속 꼭 사이트에서 가입을 해야 하는 것은 아니지만 그래도 사이트 한번은 들어가 봐야지. https://github.com/ 2. 가입 후 로그인 진행 3. 새로운 레파시토리 생성 가입을 했다면 이제 프로젝트를 공유할 저장 공간을 만들어야 한다. 1 : 관리자 이름 2 : 저장 공간 이름 3 : 간단한 설명 4 : 공개 여부 5 : ReadMe 파일 4. 깃허브 데스크탑 설치 깃 허브 세팅은 끝났고, 이번에 사용할 깃 허브 데스크탑을 설치하고 세팅해보자 https://desktop.github.co.. 2020. 2. 16.
특정 유니티 버전에서 단축키가 안먹는 현상 해결 방법 기존에 사용하던 유니티 단축키가, 특정상황, 버전 업그레이드 또는 플러그인을 추가로 설치 후 갑자기 사용이 안되는 현상을 경험해서 찾아보니 유니티 엔진에서 지정한 기본 단축키와, 유니티 사용자(또는 추가한 플러그인)가 메뉴에서 추가로 설정한 단축키가 중복될 경우 단축키 사용이 안되게 됩니다. 대표적으로 문제가 될 수 있는 단축키가 빈 GameObject를 만드는 단축키인 그리고 인스펙터에서 게임 오브젝트를 켜고 끌 수 있는 단축키인 입니다. 그 외 다른 단축키들도 사용이 안될 수 있으나, 어째뜬 중요한 핵심은 대부분은 플러그인(저같은 경우 ngui 플러그인 설치 후 작동이 안되었음)과 단축키 충돌이 나는 경우입니다. 위의 2개의 단축키만 이야기 드리면 NGUISelectionTools.cs 파일에 로 되.. 2019. 12. 5.