본문 바로가기

unity10

Singleton Pattern_싱글톤_유니티(Unity)에서 사용가능한 5가지 싱글톤_유니티(C#)로 사용해 보는 디자인 패턴 유니티에서 활용 가능한 5가지 싱글톤 패턴에 대해서 알아보자 1. 일반적인 싱글톤 2. 모노(MonoBehaviour)를 사용한 싱글톤 3. 프로퍼티(Property)를 사용한 싱글톤 4. 제네릭을 활용한 싱글톤 4-1. 모노(MonoBehaviour)를 사용 하지 않는 싱글톤 4-2. 모노(MonoBehaviour)를 사용 하는 싱글톤 1. 일반적인 싱글톤 using UnityEngine; public class SingletonPattern { private SingletonPattern() { } private static SingletonPattern instance = null; public static SingletonPattern GetInstance() { if (instance == nu.. 2020. 6. 6.
Factory Mathod Pattern Factory Method Pattern 에 대해서 알아보도록 하겠습니다. 개인적으로 이 패턴에 대해서 이해를 하는 과정이 있어서, 가장 좋은 방법은 사용, 결과를 확인 하였을 때 가장 이해가 빠르지 않나 싶습니다. namespace Pattern { public class FactoryMathodClass : MonoBehaviour { void Start() { // FrameWork.Factory factory = new UnitCreate.UnitFactory(); 이렇게 해도 됩니다. UnitCreate.UnitFactory factory = new UnitCreate.UnitFactory(); FrameWork.Unit unit1 = factory.create(FrameWork.UnitType.. 2017. 4. 12.
Template Method Pattern Template Method Pattern 에 대해서 알아보도록 하겠습니다. 이 패턴을 설명하면 다음과 같습니다. 추상 클래스를 구현하고, 그 클래스를 사용하여 [기능]을 실행합니다. 하지만, 그 [기능]구현은 추상 클래스를 상속받은 구현 클래스에서 구현합니다. 설명만 들으면 아리송 한 관계로 예제를 보도록하겠습니다. namespace TemplatePattern { // 추상 클래스 public abstract class SportClass { // 구현 클래스에서 구현하게 될 부분 public abstract void role(); // play를 통해 role 사용. public void play() { role(); } } // 구현 클래스 public class BaseBallClass : Sp.. 2016. 6. 30.
Adapter Pattern Adapter Pattern에 대해사 알아 보도록 하겠습니다. 해당 패턴을 알아 보기전에 한가지 문제점에 대해서 먼저 알고 넘어가야 합니다. [상황] 1. [인사]를 출력하는 클래스가 존재 [추가 할 내용] 1. [닉네임]을 추가로 출력 필요 2. [닉네임]을 먼저 출력 하거나, 인사를 먼저 출력 할 수 있음 물론 [인사]를 출력하는 부분에서 [닉네임]을 받아서 함께 처리 하여도 됩니다. 하지만, 기존의 코드를 수정하고 싶지 않을 경우, 또는 하지 못하는 경우에 다음과 같은 방법을 사용합니다. 먼저 해당 부분은 2가지 방법이 존재하는데 interface 를 사용하는 상속으로만 해결 하는 방법과, 상속, 위임(포함)을 통한 방법이 있습니다. 물론 2가지 모두 Adapter Pattern 입니다. 코드를 확.. 2016. 6. 7.
Iterator Pattern 이번에는 Iterator 패턴에 대해 알아보고, 해당 부분을 적용한 Unity 예제와, 조금의 응용을 같이 진행에 보도록 하겠습니다. 흔히 Iterator라 함은, 구지 디자인 패턴의 종류라기보단 컨테니어들을 따라갈때 많이 쓰던 키워드 중 하나? 정도로 많이 파악이 되어 있습니다. 실제로 그것과 크게 다르지도 않습니다. 중요한 것은, 특정 List나 Arr등 그룹지어져 있는 Object들을 순차적( 구현에 따라선 특정 구간이 될 수도... )으로 순회하면서 찾는다는 것이 중요합니다. 단지 이것을 디자인 패턴으로 표현 하였을 때 어떤식의 장점이 있는지, 그리고 어떤식으로 구현해야 하는지 확인해 본다고 보시면 될 것 같습니다. 먼저 최종 사용 코드부터 보도록 하겠습니다. 사용 코드 예제 namespace I.. 2016. 5. 4.
Unity 3D 터치 이벤트 터치를 활용하는 예제를 만들어 보도록 하겠습니다. PC환경에서는 마우스 클릭이나 키보드 입력을 주로 사용하겠지만, 실제로 폰으로 옮겨 질때는 터치 기능으로 작업을 해야겠죠. 터치 자체가 그렇게 어렵지는 않습니다. 일단 설명보다 바로 코드로! using UnityEngine; using System.Collections; public class CsGameManager : MonoBehaviour { Vector2[] touchPos = new Vector2[5]; // Use this for initialization void Start () { } // Update is called once per frame void Update () { // 현재 터치되어 있는 카운트 가져오기 int cnt = In.. 2014. 4. 1.