45 lines
No EOL
891 B
C#
45 lines
No EOL
891 B
C#
using System;
|
|
using Server;
|
|
using Server.Targeting;
|
|
using Server.Mobiles;
|
|
using System.Collections;
|
|
|
|
namespace Server.Targets
|
|
{
|
|
public class AIControlMobileTarget : Target
|
|
{
|
|
private ArrayList m_List;
|
|
private OrderType m_Order;
|
|
|
|
public OrderType Order
|
|
{
|
|
get
|
|
{
|
|
return m_Order;
|
|
}
|
|
}
|
|
|
|
public AIControlMobileTarget( BaseAI ai, OrderType order ) : base( -1, false, ( order == OrderType.Attack ? TargetFlags.Harmful : TargetFlags.None ) )
|
|
{
|
|
m_List = new ArrayList();
|
|
m_Order = order;
|
|
|
|
AddAI( ai );
|
|
}
|
|
|
|
public void AddAI( BaseAI ai )
|
|
{
|
|
if ( !m_List.Contains( ai ) )
|
|
m_List.Add( ai );
|
|
}
|
|
|
|
protected override void OnTarget( Mobile from, object o )
|
|
{
|
|
if ( o is Mobile )
|
|
{
|
|
for ( int i = 0; i < m_List.Count; ++i )
|
|
((BaseAI)m_List[i]).EndPickTarget( from, (Mobile)o, m_Order );
|
|
}
|
|
}
|
|
}
|
|
} |