Exemplo n.º 1
0
    private void SelectItem()
    {
        GUILayout.BeginHorizontal();
        GUILayout.FlexibleSpace();
        if (GUILayout.Button("", GUIStyleHelper.Plus))
        {
            AddItem();
        }
        GUILayout.EndHorizontal();

        var items = SettingHelper.PrototypeSettings.Settings;

        _scroll = GUILayout.BeginScrollView(_scroll);
        for (int i = 0; i < items.Count; i++)
        {
            GUILayout.BeginHorizontal();
            if (GUILayout.Button(items[i].Name))
            {
                GUI.FocusControl("");
                _itemObject = new SerializedObject(items[i]);
                _selected   = items[i];
            }

            if (GUILayout.Button("", GUIStyleHelper.Minus, GUILayout.Width(18)))
            {
                DestroyImmediate(items[i], true);
                SettingHelper.PrototypeSettings.Settings.RemoveAll(x => x == null);
                AssetDatabase.SaveAssets();
                SettingHelper.PrototypeSettings.SetDirty();
            }
            GUILayout.EndHorizontal();
        }
        GUILayout.EndScrollView();
    }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GameVariant"/> class with default values.
 /// </summary>
 public GameVariant()
 {
     _metadata     = new ContentMetadata();
     _general      = new GeneralSettings();
     _prototype    = new PrototypeSettings();
     _respawn      = new RespawnSettings();
     _social       = new SocialSettings();
     _mapOverrides = new MapOverrides();
     _requisition  = new RequisitionSettings();
     _teams        = new TeamSettings();
     _loadouts     = new LoadoutSettings();
     _ordnance     = new OrdnanceSettings();
 }
Exemplo n.º 3
0
    private static void DisplayComponentMenu(PrototypeSettings settings, IComponent component)
    {
        var evt      = Event.current;
        var mousePos = evt.mousePosition;

        EditorUtility.DisplayCustomMenu(
            new Rect(mousePos.x, mousePos.y, 0, 0),
            new[]
        {
            // todo: copy\paste
            new GUIContent("Remove Component"),
        },
            -1,
            (data, options, selected) =>
        {
            switch (options[selected])
            {
            case "Remove Component":
                settings.Components.Remove(component);
                break;
            }
        }, null);
        evt.Use();
    }