public void Update(MonoBehaviour monoBehaviour, BaseHierarchyAttribute baseAttribute) { var instanceID = monoBehaviour.gameObject.GetInstanceID(); if (m_priorityCache.TryGetValue(instanceID, out var priority) && priority <= baseAttribute.Priority) { return; } m_priorityCache[instanceID] = baseAttribute.Priority; UpdateImpl(monoBehaviour, baseAttribute); }
public abstract void OnGUI(int instanceID, Rect selectionRect, BaseHierarchyAttribute baseAttribute);
protected abstract void UpdateImpl(MonoBehaviour monoBehaviour, BaseHierarchyAttribute baseAttribute);
public void OnGUI(MightyComponent mightyComponent, Rect selectionRect, BaseHierarchyAttribute baseAttribute) => OnGUI(mightyComponent, selectionRect, (T)baseAttribute);
public void OnHierarchyChanged(MightyComponent mightyComponent, BaseHierarchyAttribute baseAttribute) => OnHierarchyChanged(mightyComponent, (T)baseAttribute);
public abstract void Update(MonoBehaviour monoBehaviour, BaseHierarchyAttribute baseAttribute);