using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class BigWorldEditor : EditorWindow
{
[MenuItem(“BigWorldMenu/BigWorld”)]
static void ShowWindow()
{
var window = GetWindow();
window.titleContent = new GUIContent(“BigWorld”);//窗口左上方的名字
window.Show();
}
//每个地图分块的高和宽
int chunkwidth = 20;
int chunkheight = 20;
//为了保证每个小的地形和物体都能被分配到每个分块的地图里面,尽可能初始分块的时候设置大一点
int gridz = 10;
int gridx = 10;
//地图中空的父节点
Transform mapRoot;
private void OnGUI()
{
//定义一个集合列表存储一下每一个分块地图
List<Transform> Chunks = new List<Transform>();
//创建一个UI空间,可以拖拽一个场景中的对象
mapRoot = (Transform)EditorGUILayout.ObjectField("根节点",mapRoot,typeof(Transform),true);//true才可以从场景托物体进来 不然只能从asset中拖物体
if (GUILayout.Button("分割地形"))
{
BuildingRoot buildingRoot = mapRoot.GetComponent<BuildingRoot>();//获取地图根节点的脚本
for (int i = -gridx / 2; i < gridx / 2; i++)//axis - x
{
for (int j = -gridz / 2; j < gridz /2; j++)//axis - z
{
//创建分块地图对应的每个空的根节点
GameObject chunk = new GameObj