public bool isWCAllowed(int slot, WeaponInfo.weaponClasses wc) { bool ret = false; if ((allowed[slot] & 1 << (int)wc) != 0) { ret = true; } return(ret); }
//PlayerWeapons player; public override void OnInspectorGUI() { EditorGUIUtility.LookLikeInspector(); EditorGUILayout.Separator(); Instance.upgrade = (Upgrade)EditorGUILayout.ObjectField(new GUIContent(" Upgrade: ", "Upgrade object to be applied globally"), Instance.upgrade, typeof(Upgrade), true); EditorGUILayout.Separator(); EditorGUILayout.BeginVertical("textField"); EditorGUILayout.LabelField("Applicable Classes"); EditorGUILayout.Separator(); WeaponInfo.weaponClasses[] ws = (WeaponInfo.weaponClasses[])System.Enum.GetValues(typeof(WeaponInfo.weaponClasses)); if (Instance.classesAllowed == null) { UpdateArray(); } if (Instance.classesAllowed.Length < ws.Length) { UpdateArray(); } for (int i = 0; i < ws.Length; i++) { WeaponInfo.weaponClasses w = ws[i]; if (w == WeaponInfo.weaponClasses.Null) { break; } string className = w.ToString().Replace("_", " "); Instance.classesAllowed[i] = EditorGUILayout.Toggle(className, Instance.classesAllowed[i]); } EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Enable All", EditorStyles.miniButtonLeft)) { for (int i = 0; i < Instance.classesAllowed.Length; i++) { Instance.classesAllowed[i] = true; } } if (GUILayout.Button("Disable All", EditorStyles.miniButtonRight)) { for (int i = 0; i < Instance.classesAllowed.Length; i++) { Instance.classesAllowed[i] = false; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.EndVertical(); }
public void setAllowed(int slot, WeaponInfo.weaponClasses wc, bool b) { if (b) { allowed[slot] = allowed[slot] | 1 << (int)wc; } else { allowed[slot] = allowed[slot] & ~(1 << (int)wc); } }