104 lines
3.5 KiB
C#
104 lines
3.5 KiB
C#
using System.Linq;
|
|
using ClassicAssist.Data.Autoloot;
|
|
using ClassicAssist.Data.Counters;
|
|
using ClassicAssist.Data.Dress;
|
|
using ClassicAssist.Shared.Resources;
|
|
using UOC = ClassicAssist.Shared.UO.Commands;
|
|
|
|
namespace ClassicAssist.Data.Macros.Commands
|
|
{
|
|
public static class AgentCommands
|
|
{
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ),
|
|
Parameters = new[] { nameof( ParameterType.AgentEntryName ) } )]
|
|
public static void Dress( string name = null )
|
|
{
|
|
DressManager manager = DressManager.GetInstance();
|
|
|
|
DressAgentEntry dressAgentEntry;
|
|
|
|
if ( string.IsNullOrEmpty( name ) )
|
|
{
|
|
if ( manager.TemporaryDress == null )
|
|
{
|
|
UOC.SystemMessage( Strings.No_temporary_dress_layout_configured___ );
|
|
return;
|
|
}
|
|
|
|
dressAgentEntry = manager.TemporaryDress;
|
|
}
|
|
else
|
|
{
|
|
dressAgentEntry = manager.Items.FirstOrDefault( dae => dae.Name == name );
|
|
}
|
|
|
|
if ( dressAgentEntry == null )
|
|
{
|
|
UOC.SystemMessage( string.Format( Strings.Unknown_dress_agent___0___, name ) );
|
|
return;
|
|
}
|
|
|
|
dressAgentEntry.Action( dressAgentEntry );
|
|
}
|
|
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ),
|
|
Parameters = new[] { nameof( ParameterType.AgentEntryName ) } )]
|
|
public static void Undress( string name )
|
|
{
|
|
DressManager manager = DressManager.GetInstance();
|
|
|
|
DressAgentEntry dressAgentEntry = manager.Items.FirstOrDefault( dae => dae.Name == name );
|
|
|
|
if ( dressAgentEntry == null )
|
|
{
|
|
UOC.SystemMessage( string.Format( Strings.Unknown_dress_agent___0___, name ) );
|
|
return;
|
|
}
|
|
|
|
dressAgentEntry.Undress().Wait();
|
|
}
|
|
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ) )]
|
|
public static bool Dressing()
|
|
{
|
|
DressManager manager = DressManager.GetInstance();
|
|
|
|
return manager.IsDressing;
|
|
}
|
|
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ) )]
|
|
public static void DressConfig()
|
|
{
|
|
DressManager manager = DressManager.GetInstance();
|
|
manager.TemporaryDress = new DressAgentEntry();
|
|
manager.TemporaryDress.Action = async hks => await manager.DressAllItems( manager.TemporaryDress, false );
|
|
manager.ImportItems( manager.TemporaryDress );
|
|
}
|
|
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ),
|
|
Parameters = new[] { nameof( ParameterType.AgentEntryName ) } )]
|
|
public static int Counter( string name )
|
|
{
|
|
CountersManager manager = CountersManager.GetInstance();
|
|
|
|
CountersAgentEntry entry = manager.Items.FirstOrDefault( cae => cae.Name.ToLower() == name.ToLower() );
|
|
|
|
if ( entry != null )
|
|
{
|
|
return entry.Count;
|
|
}
|
|
|
|
UOC.SystemMessage( Strings.Invalid_counter_agent_name___ );
|
|
return 0;
|
|
}
|
|
|
|
[CommandsDisplay( Category = nameof( Strings.Agents ),
|
|
Parameters = new[] { nameof( ParameterType.SerialOrAlias ) } )]
|
|
public static void SetAutolootContainer( object obj )
|
|
{
|
|
int serial = AliasCommands.ResolveSerial( obj );
|
|
|
|
AutolootHelpers.SetAutolootContainer?.Invoke( serial );
|
|
}
|
|
}
|
|
} |