Пример #1
0
        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();
        }
Пример #3
0
 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);
     }
 }