[CustomEditor(typeof(XXX))]
public class Editor_XXX : Editor{

	...
	
	void OnEnable(){
		z = (XXX)target;
		if (z == null) return;
		
		//SetupEditorVariables
		//SetupEditorList
	}
	
	public override void OnInspectorGUI(){
		...
		
		/*
			EditorGUI
			EditorGUIUtility
			GUILayout
			EditorGUILayout
			Undo
			SceneView
			Event
			Tools
			ReorderableList
		*/
		
	}
	
	void OnSceneGUI(){
		...
		
		/*
		
		Handle
		HandleUtility
		Undo
		SceneView
		Event
		Tools
		
		*/
	}
	
}