エディター拡張1(タイルマップ作製支援ツール)
タイルマップ作成支援ツール
// ★変更(必要なものだけ記述すること)
using UnityEngine;
using UnityEditor;
public class MapCreate : EditorWindow // ←変更すること!
{
static MapCreate window;
private int yokoSize;
private int tateSize;
private GameObject wrapper;
[MenuItem("TileMap/Create")]
static void Open()
{
window = CreateInstance<MapCreate>();
window.Show();
}
private void OnGUI()
{
yokoSize = EditorGUILayout.IntField("横の大きさ", yokoSize);
tateSize = EditorGUILayout.IntField("縦の大きさ", tateSize);
if(GUILayout.Button("MapCreate"))
{
wrapper = new GameObject("TileMaps");
for(int i = 0; i < yokoSize; i++)
{
for(int j = 0; j < tateSize; j++)
{
GameObject prefab = (GameObject)Resources.Load("Tile");
GameObject clone = (GameObject)PrefabUtility.InstantiatePrefab(prefab);
clone.transform.localRotation = Quaternion.Euler(90, 0, 0);
clone.transform.position = new Vector3(i, 0, j);
// 自動的に親子関係を作る
clone.transform.SetParent(wrapper.transform);
}
}
}
if(GUILayout.Button("Close"))
{
Close();
}
}
}
【2019版】TowerD Ⅱ(基礎/全4回)
1 | エディター拡張1(タイルマップ作製支援ツール) |
2 | エディター拡張2(オブジェクト配置支援ツール) |
3 | エディター拡張3(オブジェクト配置支援ツールの改良) |
4 | エディター拡張4(Undo機能の実装) |
タイルマップ作成支援ツール
// ★変更(必要なものだけ記述すること)
using UnityEngine;
using UnityEditor;
public class MapCreate : EditorWindow // ←変更すること!
{
static MapCreate window;
private int yokoSize;
private int tateSize;
private GameObject wrapper;
[MenuItem("TileMap/Create")]
static void Open()
{
window = CreateInstance<MapCreate>();
window.Show();
}
private void OnGUI()
{
yokoSize = EditorGUILayout.IntField("横の大きさ", yokoSize);
tateSize = EditorGUILayout.IntField("縦の大きさ", tateSize);
if(GUILayout.Button("MapCreate"))
{
wrapper = new GameObject("TileMaps");
for(int i = 0; i < yokoSize; i++)
{
for(int j = 0; j < tateSize; j++)
{
GameObject prefab = (GameObject)Resources.Load("Tile");
GameObject clone = (GameObject)PrefabUtility.InstantiatePrefab(prefab);
clone.transform.localRotation = Quaternion.Euler(90, 0, 0);
clone.transform.position = new Vector3(i, 0, j);
// 自動的に親子関係を作る
clone.transform.SetParent(wrapper.transform);
}
}
}
if(GUILayout.Button("Close"))
{
Close();
}
}
}
エディター拡張1(タイルマップ作製支援ツール)