목록CS (6)
Deff_Dev
⚒️ 프로토타입 패턴이 뭘까 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성하는 패턴 → 어떤 객체가 자기와 비슷한 객체를 런타임 중 스폰하는 것 장점객체 생성 비용이 높은 경우 이미 생성된 객체를 복제하여 성능을 개선할 수 있다.런타임에 게임 오브젝트의 상태를 동적으로 변경하고 복제할 수 있다. [예시 코드]더보기public interface IUnit{ IUnit Clone();}public class Unit : MonoBehaviour, IUnit{ public int health; public int attackPower; public float moveSpeed; public IUnit Cl..
⚒️ 옵저버 패턴이 뭘까 어떤 객체의 상태가 변할 때, 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지 받고 자동으로 업데이트될 수 있게 만드는 패턴 해당 객체 정보를 모르고 있더라도, 변화가 발생하면 등록되어 있는 이벤트들이 전부 다 실행되기 때문에 정말 편리하다. 사용 방법C# 에서는 델리게이트(Action, Func 등)를 이용하여 여러 함수를 구독, 실행시킬 수 있다. [체력 상호작용 예제 코드]더보기using UnityEngine;using System;public class PlayerHealth : MonoBehaviour{ [SerializeField] private int maxHealth = 100; private int currentHealth; // ..
⚒️ 경량 패턴이 뭘까 ? 여러 객체 간에 공통된 상태(intrinsic state)를 공유함으로써 메모리 사용량을 줄이는 패턴 → 동일한 정보를 가진 객체의 개수가 많을 때 사용 사용 방법 ⇒ 객체를 하나 생성하고, 해당 객체를 재사용하여 동일한 다른 객체들을 생성 이때, 하나의 객체의 정보를 가지고 여러 객체들이 공유하기 때문에 const/readonly 로 선언하여 변하지 않게 해야 하는 것이 좋음 [나무 랜덤 생성 예제 코드]더보기using UnityEngine;using System.Collections.Generic;// 나무의 내부 상태를 나타내는 클래스 (공유됨)public class TreeType{ public Mesh mesh; public Material mate..
⚒️ 명령 패턴이 뭘까 ? 명령 패턴은 메서드 호출을 실체화 한 것 이다. 함수 호출을 객체로 감쌌다라는 의미⇒ 콜백을 객체지향적으로 표현 실체화란 ? → 어떤 개념을 변수에 저장하거나 함수에 전달할 수 있도록 객체로 바꿀 수 있다는 걸 의미 특징작업을 캡슐화하여 하나의 명령을 실행기능 실행, 취소 재실행할 때 적합일반적으로 1 대 1 관계하나의 수신자(리시버)에 대해 하나의 명령이 실행 명령 패턴의 좋은 예시리플레이를 구현할 때, 매 프레임마다 전체 게임 상태를 저장해도 되지만 해당 방법은 너무 많은 메모리가 필요하다.그렇기 때문에, 명령 패턴을 사용하여, 전체 개체가 실행하는 명령 모두를 매 프레임마다 저장하여 리플레이할 때는 이전에 저장한 명령들을 순서대로 실행하여 게임을 시뮬레이션한다. [플레이..
서비스 로케이터 패턴서비스 로케이터 패턴은 런타임에 필요한 서비스 객체를 클라이언트에게 제공하는 디자인 패턴 런타임에 필요한 서비스 객체를 클라이언트에게 제공하는 디자인 패턴이다. 유니티에서는 싱글톤을 여러개를 만들었을 때, 싱글톤 객체를 가져오고 싶을 때 사용한다. 서비스 로케이터 패턴(Service Locator Pattern)은 런타임에 필요한 서비스 객체를 클라이언트에게 제공한다. 이 패턴은 애플리케이션에서 서비스 객체를 검색하고 반환하는 데 사용된다. 유니티에서는 싱글톤을 여러개를 만들었을 때, 싱글톤 객체를 가져오고 싶을 때 사용한다. 이를 통해 클라이언트 코드가 구체적인 서비스 클래스에 의존하지 않고 간단히 서비스를 사용할 수 있게 된다. 예시 1 - 기본 서비스 찾기더보기 ServiceLo..
싱글톤 패턴이란 ?게임 상이나 메모리 상으로 단 하나만 존재하며 언제 어디서든 사용 가능한 오브젝트를 만들 때 사용된다.유니티에서는 오디오 관리, 데이터 관리, 설정 관리 등등 게임 내에서 전반적으로 사용, 관리되어야 할 때 싱글톤 패턴을 사용하면 유용하다.싱글톤 패턴 특징접근성 : 스크립트의 접근성이 높아진다.유일성 : 기능 별로 단 하나만 유일하게 존재해야한다.기본적인 사용법using UnityEngine;public class GameManager : MonoBehaviour{ // static으로 선언해 해당 인스턴스를 접근 가능하게 함 public static GameManager instance = null; private void Awake() { if (..