I am a noob and very lost when it comes to custom editors.
I have a state machine like component system set up which is built upon basically 1 component
Click for component code
using UnityEngine;
namespace StateBehavior
{
public class Transition : Doable
{
[SerializeField] Checkable check;
[SerializeField] Doable ifTrueDo;
[SerializeField] Doable ifFalseDo;
public override void Do()
{
TryTransition();
}
public void TryTransition()
{
if(check.Check())
{
if(ifTrueDo != null) ifTrueDo.Do();
}else{
if(ifFalseDo != null) ifFalseDo.Do();
}
}
}
}
Basically its a component based if statement. The problem is, in the inspector it looks like this…
Click for image
I have no clue as to what references what (when double clicking the references, it only highlights the GameObject). Its just very messy, which brings me to wanting a custom editor/inspector.
What I am looking for is something more or less like this
Click for image
I want to be able to place transitions, then place the desired components into the transition slots while being able to edit them by clicking a button and opening a window of the component or even just highlighting the component somewhere.
We can either detect that a Transition component was placed and show its properties right there (as shown in the image), or require to press the edit button to see the properties and assign to them. I dont really care, which ever is easier to make tbh.
While it would be great to just have someone write the code all up for me ^_~, what I am asking for is mainly what methods/classes do I go about using to create this? How do I have the component show up in a new window? How do I drag a monobehavior script from the scripts folder directly to the component slot on this custom window and be able to edit it there? Will I have to go in and create a custom inspector type thing for every single type of component I want to use with this? How do I edit what I have and then have it properly update the gameobject components?
Any help is appreciated!

