일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 유니티 UI
- 팀 프로젝트
- 오큘러스
- 개발일지
- 드래곤 플라이트
- 개발
- ChatGPT
- 멀티플레이
- 유니티 GUI
- 연습
- 드래곤 플라이트 모작
- CGV
- Amazon S3
- meta
- 팀프로젝트
- 길건너 친구들
- Photon Fusion
- 포트폴리오
- VR
- 아마존
- OVR
- 오브젝트 풀링
- 유니티
- Unity
- AWS
- meta xr
- Oculus
- 가상현실
- 모작
- 유니티 Json 데이터 연동
- Today
- Total
목록분류 전체보기 (194)
EasyCastleUNITY

https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/delegates/ 대리자 - C# 프로그래밍 가이드 C#의 대리자는 매개 변수 목록 및 반환 형식이 있는 메서드를 나타내는 형식입니다. 대리자는 메서드를 다른 메서드에 인수로 전달하는 데 사용됩니다. learn.microsoft.com 특정 매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식 매개 변수를 통해 메서드를 전달한다. 정확히는 메서드에 대한 참조를 가지는 대리자를 통해 전달 대리자를 인스턴스화하면 모든 메서드가 있는 인스턴스를 호환되는 시그니처 및 반환 형식에 연결할 수 있다. 대리자는 메서드에 대한 참조다. 대리자는 메서드를 다른 메서드에 인수로 전달하..

여태까지는 배열을 이용하여 데이터를 묶어서 관리하였지만 오늘 컬렉션을 배워 새로운 방법에 대해 알게 되었다. 컬렉션은 제너릭이 아닌 컬렉션과 제너릭 컬렉션이 있다. 그 중 제너릭이 아닌 컬렉션은 1.ArrayList 2.Hashtable 3.Queue 4.Stack이 있다. 이 중 ArrayList는 정확히는 컬렉션이 아니라 배열이다. 동적배열로 보통의 배열이 크기가 정해져 있다면 ArrayList는 정해져있지 않고 가변적으로 변할 수 있다. 또한 다른 컬렉션들과 비교하여 배열이기에 foreach 말고도 for을 이용하여 인스턴스 순회가 가능하다. Hashtable은 key 와 value를 이용하여 데이터를 관리하는 컬렉션이고 Queue는 선입선출 방식을 이용한 컬렉션 Stack은 후입선출 방식을 이용한..

디자인 패턴: 특정 상황에서 공통적으로 발생하는 문제에 대해 재사용이 가능하도록 하는 해결책을 의미한다. 이러한 정형화된 패턴들을 통해 같은 상황에서도 좀 더 유연하게 대처를 할 수 있게 된다. 하지만 패턴만을 너무 믿고 패턴을 남발하다가는 오히려 더 안 좋아지는 상황이 될 수도 있다. 그래서 굳이 적용할 필요가 없는 상황이면 안 사용하는 것이 좋다. 따라서 제대로 디자인 패턴을 알고 적절히 활용할 줄을 알아야 한다고 생각한다. 싱글톤 패턴: 하나의 클래스가 단지 하나의 인스턴스만 갖도록 제한하고, 그 하나의 인스턴스만 사용하도록 하는 디자인패턴의 일종이다. 가장 큰 특징은 전역적으로 접근이 가능하다는 점이다. 그래서 활용성이 높다 또한 메모리 낭비를 줄일 수 있고, 다른 클래스간에 데이터 공유가 쉬워서..
싱글톤 패턴을 응용한 DataManager 클래스 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LearnDotnet { public class DataManager { public static readonly DataManager instance = new DataManager(); Dictionary itemDic = new Dictionary(); Dictionary monsterDic = new Dictionary(); private DataManager() { } public void LoadItemDatas() { i..

ItemData: 아이템의 정보를 가지고 있는 클래스 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Net.Mime.MediaTypeNames; using System.Xml.Linq; namespace LearnDotnet { //아이템의 정보를 나타내는 클래스 internal class ItemData { public ItemData data; public int id; public string name; public int damage; public int item_type; //생성자 public Ite..
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _2048 { internal class App { int[] board; //바탕이 되는 보드 Random random = new Random(); int randomPosition = 0; int randomNumber = 0; int[] pathBoard; //통로 역할을 하는 보드 int pointerLeft = 3; int pointerRight = 0; public App() { board = new int[4]; pathBoard = new int[4]; // board..

벡터(위치 정보 및 인덱스 정보 활용) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LearnDotnet { //구조체 : 값형식 -> 스택 //기본생성자 못씀 //상속이 불가, 기본클래스로 못씀 //인터페이스 사용가능 internal struct Vector2 { public int x; public int y; //생성자 public Vector2(int x, int y) { this.x = x; this.y = y; } //부모클래스의 virtual 멤버 메서드 재정의 public override string ToStri..
벡터 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LearnDotnet { //구조체 : 값형식 -> 스택 //기본생성자 못씀 //상속이 불가, 기본클래스로 못씀 //인터페이스 사용가능 internal struct Vector2 { public int x; public int y; //생성자 public Vector2(int x, int y) { this.x = x; this.y = y; } //부모클래스의 virtual 멤버 메서드 재정의 public override string ToString() { return $"({t..