-
[작업] 2018.05.03 PM 02:35
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(WorldMap3))]
public class MapEditor : Editor {
public override void OnInspectorGUI(){
base.OnInspectorGUI ();
WorldMap3 map = target as WorldMap3;
//map.CreateCube ();
if(GUILayout.Button("Generate")){
int seed = map.Seed;
map.RandomSeed (seed);
}
}
}
본문은 예시로 작성한 것이다.
에디터 상에서 굳이 플레이 상태로 진행하지 않고도 스크립트 상에서 이루어지는 오브젝트 생성, 제거, 수정등을 실시간으로 조절할 수 있다.
매 프레임마다 실행하므로, 가벼운 코드만 넣는편이 좋다.
구현하기 위해서는 몇가지 조건을 필요로한다.
1, Asset 내부에 Editor 폴더를 생성한다. 반드시 Editor 이름이어야한다.
2, Editor 폴더 내부에 스크립트를 생성하고, 최상단에 using UnityEditor를 넣는다.
3, 스크립트에 아래 구문들을 넣는다.
[CustomEditor(typeof(작동할 스크립트 명칭))]
public class MapEditor : Editor {
public override void OnInspectorGUI(){
작동할 스크립트 명칭 map = target as 작동할 스크립트 명칭;
}
}
4,
3번의 map은 해당 스크립트에서 작동할 스크립트 명칭을 정하는것으로서 원하는 이름으로 작성한다.
user error : Error. B.