Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Fluctio.FluctioSim.Utils.SerializableClasses;
using UnityEditor.AnimatedValues;
using UnityEngine;

namespace Fluctio.FluctioSim.EditorUtils.SettingsManagement.Table
{
	[Serializable]
	[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
	[SuppressMessage("ReSharper", "UnusedMember.Global")]
	[SuppressMessage("ReSharper", "UnusedMethodReturnValue.Global")]
	public class TableValues<TInfo>
	{
		[field: SerializeField] public SerializableDictionary<string, TInfo> Dictionary { get; private set; } = new();
		[SerializeField] public AnimBool foldoutState;

		public TInfo GetValueOrDefault<T>(string key, TableDefinition<T, TInfo> tableDefinition)
		{
			var defaultValue = tableDefinition.Rows[key].DefaultInfo;
			return Dictionary.GetValueOrDefault(key, defaultValue);
		}
	}
}