Awake와 Start는 스크립트가 로드되면 자동으로 호출 되는 함수이다. 1. Awake() Awake함수는 스크립트컴포넌트가 비활성화 되어있어도 자동으로 호출 된다. 스크립트와 초기화의 사이에 모른 레퍼런스 설정에 사용됨. 2. Start() Awake와 update 사이에 호출되지만 스크립트 컴포넌트가 활성화 되어야 한다. 따라서 스크립트가 활성화 상태일때 start를 이용하여 원하는걸 발생할 수 있다. 그러나 Awake나 Start함수는 처음에 한번씩 호출 가능 하다. 3. Update ()유니티에서 가장 많이 사용하는 함수로 프레임당 1회 호출된다.정지기적인 변경이나 조정이 필요한 거의 모든 작업이 여기서 호출된다.업데이트는 규칙적인 시간 간격으로 호출되지 않음, 프레임 처리시간이 다음 프레임보..
닷넷 응용프로그램의 어셈블리 파일에는 메타데이터가 들어있다.BCL에서 제공되는 리플렉션 관련 클래스를 이용하면 메타데이터 정보를 얻는 것이 가능하므로 이제 그 유용성을 직접 코드로 확인해 보자. 리플렉션은 C#코드가 빌드되어 어셈블리에 포함되는 경우 그에 대한 모든 정보를 조회할 수 있는 기술을 일컫는다. using System;using System.Threading;using System.Collections.Generic;using static System.Net.Mime.MediaTypeNames;using System.Reflection;namespace csharp_study{ class Program { static void Main(string[] args) { AppDomain curre..
c#의 전처리기 지시문은 특정 소스코드를 상황에 따라 컴파일 과정에서 추가/제거 하고 싶을때 사용한다.하나의 코드로 조건을 걸어 여러개의 상황을 만족하는 코드를 작성할때 유용하다. 아래처럼 #if /#endif 를 사용하여 컴파일 조건을 걸 수 있다. using System;using System.Threading;using System.Collections.Generic;using static System.Net.Mime.MediaTypeNames;namespace csharp_study{ class Program { static void Main(string[] args) { string txt = Console.ReadLine(); if (string.IsNullOrEmpty(txt) == fals..
.NET의 Thread 클래스를 이용하여 쓰레드를 하나씩 만들어 사용하는 것이 아니라, 이미 존재하는 쓰레드 풀에서 사용 가능한 작업 쓰레드를 할당 받아 사용하는 방식이 있는데, 이는 다수의 쓰레드를 계속 만들어 사용하는 것보다 효율적이다.이렇게 시스템에 존재하는 쓰레드풀에 있는 쓰레드를 사용하기 위해서는 (1) ThreadPool 클래스, (2) 비동기 델리게이트(Asynchronous delegate), (3) .NET 4 Task 클래스, (4) .NET 4 Task 클래스, (5)BackgrouondWorker 클래스등을 사용할 수 있다. 이 중 ThreadPool 클래스의 경우, ThreadPool.QueueUserWorkItem()를 사용하여 실행하고자 하는 메서드 델리게이트를 지정하면 시스템..
프로그램 종료시 해당 경로에 있는 프로그램 실행하면서 계속 하나의 뮤텍스를 공유해서 사용하는 코드. using System;using System.Threading;using System.Collections.Generic;using static System.Net.Mime.MediaTypeNames; namespace csharp_study{ class Program { public static Mutex mtx = null; static void Run() { Console.WriteLine("Start program"); bool bRun = true; string cmd = ""; while (bRun) { //x 입력시 종료 cmd = Console.ReadLine(); if (cmd.Equal..
C# Thread 클래스 파라미터 전달 Thread 클래스는 파라미터를 전달하지 않는 ThreadStart 델리게이트와 파라미터를 직접 전달하는 ParameterizedThreadStart 델리게이트를 사용할 수 있다. ThreadStart 델리게이트는 public delegate void ThreadStart(); 프로토타입에서 알 수 있듯이, 파라미터를 직접 전달 받지 않는다. ( 물론 파라미터를 전달하는 방식은 있다. ) ParameterizedThreadStart 델리게이트는 public delegate void ParameterizedThreadStart(obejct obj); 로 정의 되어 있는데, 하나의 object파라미터를 전달하고 리턴 값이 없는 형식이다. 하나의 파라미터를 object형..