public override void OnInspectorGUI() { Object[] selection = Selection.objects; HoudiniInstancer instancer = myInstance.prInstancer; if (selection.Length > 0) { if (!HoudiniHost.prAutoPinInstances && GUILayout.Button("Pin Selection")) { foreach (Object obj in selection) { if (obj.GetType() == typeof(GameObject)) { instancer.pinObject((GameObject)obj, true); } } } if (GUILayout.Button("UnPin Selection")) { foreach (Object obj in selection) { if (obj.GetType() == typeof(GameObject)) { instancer.pinObject((GameObject)obj, false); } } } } else if (instancer) { bool is_overridden = instancer.isPointOverridden(myInstance.prInstancePointNumber); if (is_overridden && GUILayout.Button("UnPin Instance")) { instancer.pinObject(myInstance.gameObject, false); } else if (!HoudiniHost.prAutoPinInstances && GUILayout.Button("Pin Instance")) { instancer.pinObject(myInstance.gameObject, true); } } }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Public public void OnSceneGUI() { HoudiniInstance instance = target as HoudiniInstance; HoudiniInstancer instancer = instance.prInstancer; if (instancer == null) { return; } bool is_overridden = instancer.isPointOverridden(instance.prInstancePointNumber); if (is_overridden) { instancer.drawPin(instance.prInstancePointNumber); } Event curr_event = Event.current; if ( curr_event.isMouse && curr_event.type == EventType.MouseDown && HoudiniHost.prAutoPinInstances) { instance.prTransformChanged = false; } else if ( curr_event.isMouse && curr_event.type == EventType.MouseUp && HoudiniHost.prAutoPinInstances && instance.prTransformChanged) { instancer.pinObject(instance.gameObject, true); instance.prTransformChanged = false; Repaint(); } }