Пример #1
0
    public override void OnInspectorGUI()
    {
        weaponSystem = target as WeaponSystem;
        serializedObject.Update();
        groupList.DoLayoutList();
        firepointList.DoLayoutList();
        serializedObject.ApplyModifiedProperties();

        if (GUILayout.Button("Refresh Firepoints")) {
            weaponSystem.CollectWeaponGroups();
        }
        if (GUILayout.Button("Sort Firepoints")) {
            weaponSystem.firepoints.Sort(delegate(Firepoint a, Firepoint b) {
                return a.name.CompareTo(b.name);
            });
        }
    }
Пример #2
0
    private void OnEnable()
    {
        weaponSystem = target as WeaponSystem;
        weaponSystem.CollectWeaponGroups();
        firepointList = new ReorderableList(serializedObject, serializedObject.FindProperty("firepoints"), true, true, true, true);
        firepointList.drawElementCallback += DrawFirepoint;
        firepointList.drawHeaderCallback += DrawHeaderCallback;
        firepointList.onAddCallback += AddFirepoint;
        firepointList.onSelectCallback += SelectFirepoint;

        groupList = new ReorderableList(serializedObject, serializedObject.FindProperty("weaponGroups"), true, true, true, true);
        groupList.elementHeight = EditorGUIUtility.singleLineHeight;
        groupList.drawElementCallback += DrawWeaponGroup;
        groupList.drawHeaderCallback += DrawWeaponGroupHeader;
        groupList.onAddCallback += AddGroup;
        groupList.onCanRemoveCallback += CanRemoveGroup;
        groupList.onRemoveCallback += RemoveGroup;
        weaponGroupNames = new List<string>();
        for (int i = 0; i < weaponSystem.weaponGroups.Count; i++) {
            weaponGroupNames.Add(weaponSystem.weaponGroups[i].groupId);
        }
    }