Skip to content

Commit

Permalink
asm control when mapping classes
Browse files Browse the repository at this point in the history
and gui cursor link on builder class list
  • Loading branch information
Fatihprlg committed Jan 17, 2023
1 parent a31cce7 commit 2e01ce9
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions Assets/Source/IOC/Base/Builder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#endif
public class Builder : MonoBehaviour, IBuilder
{
//[SerializeField] protected List<ClassInfo> classes;
public List<ClassInfo> classes { get; private set; }
public void Build(Container container)
{
Expand Down Expand Up @@ -39,6 +38,7 @@ public void MapClasses()
foreach (var mono in monos)
{
if (mono == null) continue;
if(mono.GetType().Assembly != Assembly.GetAssembly(GetType())) continue;
bool isSingleton = mono.GetType().GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic)
.Any(info => singletonRegex.IsMatch(info.Name))
|| mono.GetType().GetProperties(BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic)
Expand All @@ -59,16 +59,10 @@ public class BuilderEditor : Editor
{
private Builder builder;
private GUIContent mapClassesContent;
private GUIStyle linkStyle;
private void OnEnable()
{
builder = target as Builder;
mapClassesContent = new GUIContent("Map Classes On Scene");
linkStyle= new GUIStyle(EditorStyles.label);
linkStyle.wordWrap = false;
// Match selection color w$$anonymous$$ch works nicely for both light and dark skins
linkStyle.normal.textColor = new Color(0x00 / 255f, 0x78 / 255f, 0xDA / 255f, 1f);
linkStyle.stretchWidth = false;
}

public override void OnInspectorGUI()
Expand All @@ -88,11 +82,15 @@ public override void OnInspectorGUI()
for (int index = 0; index < builder.classes.Count; index++)
{
ClassInfo @class = builder.classes[index];
if (GUILayout.Button( (index + 1).ToString() + ". " + @class.implementation.GetType().Name, EditorStyles.linkLabel))
GUIContent name = new ((index + 1) + ". " + @class.implementation.GetType().Name);
if (GUILayout.Button(name,
EditorStyles.linkLabel))
{
Selection.SetActiveObjectWithContext(@class.implementation, null);
}
//GUILayout.Label(@class.implementation.GetType().Name);
var rect = GUILayoutUtility.GetLastRect();
rect.width = EditorStyles.linkLabel.CalcSize(name).x;
EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link);
}
}

Expand Down

0 comments on commit 2e01ce9

Please sign in to comment.