void DrawOptionsMenuPopup() { var position = GUILayoutUtility.GetRect(ProfilerWindow.Styles.optionsButtonContent, EditorStyles.toolbarButton); if (GUI.Button(position, ProfilerWindow.Styles.optionsButtonContent, EditorStyles.toolbarButton)) { var pm = new GenericMenu(); for (int i = 0; i < k_CpuProfilerOptions.Length; i++) { CpuProfilerOptions option = (CpuProfilerOptions)(1 << i); pm.AddItem(k_CpuProfilerOptions[i], OptionEnabled(option), () => ToggleOption(option)); } pm.Popup(position, -1); } }
void ToggleOption(CpuProfilerOptions option) { m_CpuProfilerOptions = (int)((CpuProfilerOptions)m_CpuProfilerOptions ^ option); SessionState.SetInt(k_CpuProfilerHierarchyViewOptionsPrefKey, m_CpuProfilerOptions); treeView.Clear(); }
bool OptionEnabled(CpuProfilerOptions option) { return((option & (CpuProfilerOptions)m_CpuProfilerOptions) != CpuProfilerOptions.None); }