47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System.Collections;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using alexism.Floorplan.Core.Components;
|
|
using alexism.Floorplan.Core.Enums;
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace alexism.Floorplan.Core.editor
|
|
{
|
|
[CustomEditor(typeof(floorplanComponent))]
|
|
public class floorplanComponentEditor : Editor
|
|
{
|
|
floorplanComponent script;
|
|
|
|
public void OnEnable()
|
|
{
|
|
}
|
|
void TileTypeChange(object newTileType)
|
|
{
|
|
script.ChangeComponentType((GameObject)newTileType);
|
|
}
|
|
public override void OnInspectorGUI()
|
|
{
|
|
//DrawDefaultInspector();
|
|
script = (floorplanComponent)target;
|
|
|
|
if (EditorGUILayout.DropdownButton(new GUIContent("Tile type"), FocusType.Passive))
|
|
{
|
|
|
|
GenericMenu menu = new GenericMenu();
|
|
foreach (TileTypes tileType in (TileTypes[])Enum.GetValues(typeof(TileTypes)))
|
|
{
|
|
if (tileType == TileTypes.None)
|
|
continue;
|
|
Debug.Log(tileType+" "+script.getTilesFromType(tileType));
|
|
foreach (GameObject tile in script.getTilesFromType(tileType))
|
|
{
|
|
menu.AddItem(new GUIContent(tileType.ToString()+"/"+tile.name), false,TileTypeChange,tile);
|
|
}
|
|
}
|
|
menu.ShowAsContext();
|
|
}
|
|
}
|
|
}
|
|
} |