분류 전체보기 (45) 썸네일형 리스트형 Observer pattern interface Subject ㄴ 옵저버 등록() ㄴ 옵저버 삭제() ㄴ 옵저버 업데이트 알림() class SubjectImpl implements Subject ㄴ 옵저버 등록(){ } ㄴ 옵저버 삭제(){ } ㄴ 옵저버 업데이트 알림(){ } ㄴ getState() ㄴ setState() LINQ #define EXAPLE_TYPE_LINQ //#define EXAPLE_TYPE_THREAD //#define EXAPLE_TYPE_YUPE_FILE_SYSTYEM using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Threading; using System.Linq; using System.IO; //파일과 데이터 스트림에 대한 읽기 및 쓰기를 사용하기 위함 using System.Runtime.Serialization.Formatters; using System.Runtime.Serialization.Formatters.Binary; #region /* * 유니티 면접 질문 1. 코루틴.. [Unity] json Save system using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; using System.Text; using TMPro; using System.Linq; [System.Serializable] public class SaveData { public List playerNameData = new List(); public List timeData = new List(); public Dictionary rankingData = new Dictionary(); public string playerName; public float time; } public class SaveSystem : MonoBe.. 접근제어지시자 internal C#의 접근제어지시자: public, private, protected, internal C++에는 internal이 없다. 유니티에서는 어셈블리 정의를 해줄 수 있는데 사전 정의하지 않았을 경우 Assembly-CSharp.dll 에 전부 들어간다. But 이 경우 하나의 스크립트를 변경할 때마다 모든 스크립트를 다시 컴파일 해야 하므로 반복적 코드 변경에는 적합하지 않다. 이를 해결하기 위해 우리는 코드를 분할해줄 수 있으며, 이 분할된 코드들을 어셈블리라 한다. internal은 선언된, 즉 같은 어셈블리에서만 public으로 접근할 수 있으며 외부에선 접근이 불가능하다. Framework //유틸리티 상수 public static partial class ADefine { #region 씬 관리자 public static readonly string NAME_UI_CAMERA = "UI Camera"; public static readonly string NAME_MAIN_CAMERA = "Main Camera"; public static readonly string NAME_UI_ROOT = "Canvas"; public static readonly string NAME_OBJECT_ROOT = "ObjectRoot"; public static readonly string NAME_SCENE_MANAGER = "SceneManager"; public static readonly floa.. Attribute Attribute란? 스크립트에서 클래스와 속성, 또는 함수와 변수 위에 추가하며 속성에 해당되는 동작을 한다. 유니티에는 굉장히 많은 속성이 있지만 자주 사용되는 속성들은 몇 개 없다! 1. Serializable : 인스펙터에는 클래스나 구조체는 표시할 수 없다. But Serializable 속성을 사용하면 인스펙터 창에 노출이 된다.(편집이 가능해진다!) 에디터 접근 범위 설정. (직렬화) ※ 직렬화(마샬링) 어떤 데이터를 전송하기 위해 재구성 가능한 형식으로 변환하는 것. 상대방이 받을 수 있는 포맷으로 바꿔주는 것. 대체로 서버에서 쓰이는 개념인듯? 데이터 구조나 오브젝트 상태를 Unity 에디터가 저장을 하고 나중에 재구성할 수 있는 포맷으로 자동 변환하는 프로세스라 할 수 있다. 유니티 에.. SendMessage (ray) Sender와 Receiver가 존재. 각 오브젝트에 sender코드와 receiver 넣기. 센드 메시지 유니티 API 메시지 기반 명령어 다른 오브젝트에 있는 명령을 실행하거나 혹은 명령을 내릴 때 사용 또한 센드 메시지는 다른 오브젝트의 특정 명령만 실행하게 할 수 있다(코루틴 포함) 유니티 엔진 특성상 사용빈도가 높을 수 밖에 없다 컴포넌트 기반 프로그래밍 #region 센드 메시지 #endregion public class CMessageSender : MonoBehaviour { [SerializeField, Range(0,10)] public float rayDistance = 10.0f; private void Start() { ray = new Ray { origin = this.tran.. 변수 표기법 변수 표기법(중요 => 협업을 하기 때문!!) => 네이티브에서 그나마 양호한 편. 대체로 카멜 표기법 많이 씀 헝가리안 - 절차지향적(c 스타일) 코드 방식을 선호할 때 사용한 표기법. - 지금은 객체지향적 코드(c++ / c# ...) 쓰고 절차지향은 잘 안씀. - 어느 자료형의 변수인지 알기 위해 자료형의 약어를 붙인 표기법 ex) int player nPlayer 카멜 - 가독성 때문에 나온 표기법 ex) int playerselectnumber playerSelectNumber 파스칼 케이스 - 언리얼+유니티에서 많이 채용 (클래스에 많이 쓰임) ex) int playerselectnumber CPlayerSelectNumber(클래스) 스네이크 - 심플함. -> C++ -> C# - 단어를 구.. 이전 1 2 3 4 ··· 6 다음