Files
ClassicAssist.Avalonia/ClassicAssist.Shared/Data/Macros/Commands/RegionCommands.cs
T
Beyhan Oğur d5f52cc3d3 first commit
2026-09-03 04:45:36 +03:00

40 lines
1.3 KiB
C#

using ClassicAssist.Shared;
using ClassicAssist.Data.Regions;
using ClassicAssist.Misc;
using ClassicAssist.Shared.Resources;
using ClassicAssist.UO.Objects;
using UOC = ClassicAssist.Shared.UO.Commands;
namespace ClassicAssist.Data.Macros.Commands
{
public static class RegionCommands
{
[CommandsDisplay( Category = nameof( Strings.Actions ),
Parameters = new[] { nameof( ParameterType.String ), nameof( ParameterType.SerialOrAlias ) } )]
[CommandsDisplayStringSeeAlso( new[] { nameof( RegionAttributes ) } )]
public static bool InRegion( string attribute, object obj )
{
int serial = AliasCommands.ResolveSerial( obj );
if ( serial == 0 )
{
UOC.SystemMessage( Strings.Invalid_or_unknown_object_id );
return false;
}
Entity entity = (Entity) Engine.Items.GetItem( serial ) ?? Engine.Mobiles.GetMobile( serial );
if ( entity == null )
{
UOC.SystemMessage( Strings.Cannot_find_item___ );
return false;
}
RegionAttributes attr = Utility.GetEnumValueByName<RegionAttributes>( attribute );
Region region = entity.GetRegion();
return region != null && region.Attributes.HasFlag( attr );
}
}
}