Пишу под Unity 3. Вот скрипт, который буду редактировать по мере его написания:
Синтаксис:
Используется javascript
import UnityEngine.GUILayout;
import UnityEditor.EditorGUILayout;
enum Direction {Across, Down}
class Stitch extends ScriptableWizard {
static var across : int;
static var down : int;
static var tWidth : int;
static var tHeight : int;
static var stitchWidth : int;
@MenuItem ("Terrain/Stitch...")
static function CreateWizard () {
if (lineTex == null) {
across = down = tWidth = tHeight = 2;
stitchWidth = 10;
SetNumberOfTerrains();
lineTex = EditorGUIUtility.whiteTexture;
}
message = "";
ScriptableWizard.DisplayWizard("Stitch Terrains", Stitch);
}
function OnGUI () {
BeginHorizontal(Width(220));
BeginVertical();
BeginHorizontal(Width(190));
Label("Number of terrains across:", Width(160));
across = System.Convert.ToInt32(TextField(across.ToString(), 25));
EndHorizontal();
BeginHorizontal(Width(190));
Label("Number of terrains down:", Width(160));
down = System.Convert.ToInt32(TextField(down.ToString(), 25));
EndHorizontal();
EndVertical();
BeginVertical();
if (Button("Apply")) {
SetNumberOfTerrains();
}
EndVertical();
EndHorizontal();
BeginHorizontal();
for (var i = 1; i <= tWidth; i++) {
BeginVertical();
for (var j = 1; j <= tHeight; j++) {
var lol : Object;
lol = ObjectField (lol, TerrainData);
}
EndVertical();
}
EndHorizontal();
}
static function SetNumberOfTerrains() {
tWidth = across;
tHeight = down;
}
}
import UnityEditor.EditorGUILayout;
enum Direction {Across, Down}
class Stitch extends ScriptableWizard {
static var across : int;
static var down : int;
static var tWidth : int;
static var tHeight : int;
static var stitchWidth : int;
@MenuItem ("Terrain/Stitch...")
static function CreateWizard () {
if (lineTex == null) {
across = down = tWidth = tHeight = 2;
stitchWidth = 10;
SetNumberOfTerrains();
lineTex = EditorGUIUtility.whiteTexture;
}
message = "";
ScriptableWizard.DisplayWizard("Stitch Terrains", Stitch);
}
function OnGUI () {
BeginHorizontal(Width(220));
BeginVertical();
BeginHorizontal(Width(190));
Label("Number of terrains across:", Width(160));
across = System.Convert.ToInt32(TextField(across.ToString(), 25));
EndHorizontal();
BeginHorizontal(Width(190));
Label("Number of terrains down:", Width(160));
down = System.Convert.ToInt32(TextField(down.ToString(), 25));
EndHorizontal();
EndVertical();
BeginVertical();
if (Button("Apply")) {
SetNumberOfTerrains();
}
EndVertical();
EndHorizontal();
BeginHorizontal();
for (var i = 1; i <= tWidth; i++) {
BeginVertical();
for (var j = 1; j <= tHeight; j++) {
var lol : Object;
lol = ObjectField (lol, TerrainData);
}
EndVertical();
}
EndHorizontal();
}
static function SetNumberOfTerrains() {
tWidth = across;
tHeight = down;
}
}
Пока что, разумеется, нифига не пашет - даже с гуи пока разобраться не могу, по сему буду рад любой посильной помощи)
Для начала - никак не могу сделать так чтобы выбор территорий осуществлялся со сцены.. Да и вообще ничего пока что не выбирается)