OldBlueWater/BlueWater/Assets/Doozy/Editor/Signals/Layouts/StreamsDatabaseWindowLayout.cs

52 lines
2.5 KiB
C#

// Copyright (c) 2015 - 2023 Doozy Entertainment. All Rights Reserved.
// This code can only be used under the standard Unity Asset Store End User License Agreement
// A Copy of the EULA APPENDIX 1 is available at http://unity3d.com/company/legal/as_terms
using System;
using System.Collections.Generic;
using Doozy.Editor.Common.Layouts;
using Doozy.Editor.EditorUI;
using Doozy.Editor.EditorUI.Components;
using Doozy.Editor.EditorUI.ScriptableObjects.Colors;
using Doozy.Editor.Interfaces;
using Doozy.Editor.Signals.Automation.Generators;
using Doozy.Editor.Signals.ScriptableObjects;
using Doozy.Runtime.Common;
using UnityEngine;
using UnityEngine.Events;
using Object = UnityEngine.Object;
// ReSharper disable ClassNeverInstantiated.Global
namespace Doozy.Editor.Signals.Layouts
{
public sealed class StreamsDatabaseWindowLayout : CategoryNameGroupWindowLayout, IDashboardDatabaseWindowLayout
{
public int order => 0;
public override string layoutName => "Streams";
public override Color accentColor => EditorColors.Signals.Stream;
public override EditorSelectableColorInfo selectableAccentColor => EditorSelectableColors.Signals.Stream;
public override List<Texture2D> animatedIconTextures => EditorSpriteSheets.Signals.Icons.StreamDatabase;
protected override Object targetObject => StreamIdDatabase.instance;
protected override UnityAction onUpdateCallback => StreamIdDatabase.instance.onUpdateCallback;
protected override CategoryNameGroup<CategoryNameItem> database => StreamIdDatabase.instance.database;
protected override string groupTypeName => "Stream";
protected override Func<string, List<string>, bool> exportDatabaseHandler => StreamIdDatabase.instance.ExportRoamingDatabase;
protected override Func<List<ScriptableObject>, bool> importDatabaseHandler => StreamIdDatabase.instance.ImportRoamingDatabases;
protected override string roamingDatabaseTypeName => nameof(StreamIdRoamingDatabase);
protected override UnityAction runEnumGenerator => () => StreamIdExtensionGenerator.Run(true, false, true);
public StreamsDatabaseWindowLayout()
{
AddHeader("Streams Database", "Stream Ids", animatedIconTextures);
sideMenu.SetMenuLevel(FluidSideMenu.MenuLevel.Level_2);
sideMenu.IsCollapsable(false);
sideMenu.SetAccentColor(selectableAccentColor);
Initialize();
}
}
}