Nexus.Client.Games.Gamebryo.PluginManagement.Sorter.PluginSorter.SortPlugins C# (CSharp) Method

SortPlugins() public method

Sorts the plugins.
public SortPlugins ( string p_strPlugins ) : string[]
p_strPlugins string The plugins list.
return string[]
		public string[] SortPlugins(string[] p_strPlugins)
		{
			UInt32 uintStatus = 0;
			string[] strSortedPlugins = p_strPlugins;
			IntPtr ptrPlugins = IntPtr.Zero;
			UInt32 numPlugins;

			if (!String.IsNullOrEmpty(MasterlistPath))
				if (!File.Exists(MasterlistPath))
					UpdateMasterlist();

			uintStatus = m_dlgSortPlugins(m_ptrSorterDb, out ptrPlugins, out numPlugins);

			if (uintStatus == 0)
			{
				UInt32 uintListLength = numPlugins;
				using (StringArrayManualMarshaler ammMarshaler = new StringArrayManualMarshaler("UTF8"))
					uintStatus = m_dlgApplyLoadOrder(m_ptrSorterDb, ammMarshaler.MarshalManagedToNative(MarshalPluginArray(ptrPlugins, uintListLength, true)), uintListLength);

				if (uintStatus == 0)
					return RemoveNonExistentPlugins(MarshalPluginArray(ptrPlugins, uintListLength, false));
			}

			return null;
		}