// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.GameLogic; using MUnique.OpenMU.GameLogic.NPC; using MUnique.OpenMU.Pathfinding; /// /// Interface of a non-player-character artificial intelligence. /// public interface INpcIntelligence { /// /// Gets or sets the monster which this AI is controlling. /// NonPlayerCharacter Npc { get; set; } /// /// Gets a value indicating whether this instance can walk on safezone. /// /// /// true if this instance can walk on safezone; otherwise, false. /// bool CanWalkOnSafezone { get; } /// /// Registers a hit from an attacker. /// /// The attacker. void RegisterHit(IAttacker attacker); /// /// Starts the actions. /// void Start(); /// /// Pauses the actions. /// void Pause(); /// /// Determines whether the monster can walk on the specified target. /// /// The target. /// /// true if this instance can walk on the specified target; otherwise, false. /// bool CanWalkOn(Point target); }