일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Oculus
- 연습
- 팀 프로젝트
- 포트폴리오
- 가상현실
- ChatGPT
- 팀프로젝트
- 개발일지
- meta xr
- OVR
- 길건너 친구들
- 유니티 UI
- 멀티플레이
- 모작
- 오큘러스
- 유니티 Json 데이터 연동
- 드래곤 플라이트 모작
- 유니티
- meta
- 유니티 GUI
- HAPTIC
- 오브젝트 풀링
- CGV
- Photon Fusion
- 앱 배포
- input system
- XR
- VR
- 드래곤 플라이트
- 개발
- Today
- Total
목록C#프로그래밍 (49)
EasyCastleUNITY
여태까지는 배열을 이용하여 데이터를 묶어서 관리하였지만 오늘 컬렉션을 배워 새로운 방법에 대해 알게 되었다. 컬렉션은 제너릭이 아닌 컬렉션과 제너릭 컬렉션이 있다. 그 중 제너릭이 아닌 컬렉션은 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..
인벤토리 설명 인벤토리 ----------------------------------- 필요한 정보 총용량 ---------------------------------- 기능 인벤토리의 아이템을 저장하는 기능 아이템을 다시 빼오는 기능 인벤토리의 총용량을 증가 시키는 기능 현재 인벤토리의 상황을 보여주는 기능 아이템 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LearnDotnet { internal class Item { //멤버 변수 public int itemCount = 0; public string Name { get..