static public bool Allows(XperItem item, XperAction type, XperRange range) { bool validAction = (s_singleton.AttributionsOf(item) & type) == type; bool validRange = (s_singleton.RangeModeOf(item) & range) == range; return(validAction && validRange); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); XperManager xperManager = target as XperManager; XperItem[] items = Enum.GetValues(typeof(XperItem)) as XperItem[]; m_showActionFields.target = EditorGUILayout.ToggleLeft("Actions", m_showActionFields.target); if (EditorGUILayout.BeginFadeGroup(m_showActionFields.faded)) { foreach (XperItem item in items) { xperManager.SetAttributionsOf(item, (XperAction)EditorGUILayout.EnumMaskField(item.ToString(), xperManager.AttributionsOf(item))); } } EditorGUILayout.EndFadeGroup(); EditorGUILayout.Separator(); m_showRangeFields.target = EditorGUILayout.ToggleLeft("Portées", m_showRangeFields.target); if (EditorGUILayout.BeginFadeGroup(m_showRangeFields.faded)) { foreach (XperItem item in items) { xperManager.SetRangeModeOf(item, (XperRange)EditorGUILayout.EnumMaskField(item.ToString(), xperManager.RangeModeOf(item))); } } EditorGUILayout.EndFadeGroup(); }