본문 바로가기

프로그램 공부/Unity 함수

이벤트 콜백 함수

UnityEditor 네임스페이스를 사용하기 위해서, UnityEditor 선언을 한 스크립트는 Project뷰 → Editor 폴더 안에 있어야 사용이 가능하다.


- [PostProcessBuild(N)]

: 빌드 후 호출될 콜백.

ex) 유니티 내에 있는 특정파일(ex. 특정 정보를 외부에서 수정할 수 있도록 빼놓은 데이터 텍스트)을 Build후에도 사라지지 않도록 만드는 코드

using UnityEditor;                //함수의 인자인 BuildTarget을 위해
using UnityEditor.Callbacks;    //PostProcessBuild를 위해
using System.IO;                //Directory를 위해
 
public class TestProcess
{
    //실행순서를 의미
    //0이 내부에 쓰이는 order이므로 1이상을 지정한다. 99는 (build가 끝나고 자동으로 읽는다는 듯함)
    [PostProcessBuild(1)]
    public static void OnPostprocessBuild(BuildTarget target, string path)
    {
        string copyFile = Directory.GetCurrentDirectory() + "\\Assets\\Config.ini";
        string filePath = path.Substring(0path.Length - 4+ "_Data\\Config.ini";
        File.Copy(copyFile, filePath);
    }
}
 

- 인터페이스 IPreprocessBuild : OnPreProcessBuild() 함수

: 유니티 빌드시에 작동하는 부분

using UnityEditor;            //인자값인 BuildTarget을 사용하기 위해
using UnityEditor.Build; //IPreprocessBuild 인터페이스를 사용하기 위해
 
public class Test_Build : IPreprocessBuild
{
    public int callbackOrder { get { return 0; } }    //아직 잘 모름
 
    public void OnPreprocessBuild(BuildTarget target, string path) //자동으로 만들어지는 인터페이스 
    {
        PlayerPrefs.SetString("test_1""456");
    }
}