ModernUO/Scripts/Engines/MLQuests/QuestArea.cs

58 lines
No EOL
1.3 KiB
C#

using System;
namespace Server.Engines.MLQuests
{
public class QuestArea
{
public QuestArea(TextDefinition name, string region)
: this(name, region, null)
{
}
public QuestArea(TextDefinition name, string region, Map forceMap)
{
Name = name;
RegionName = region;
ForceMap = forceMap;
if (MLQuestSystem.Debug)
ValidationQueue<QuestArea>.Add(this);
}
public TextDefinition Name{ get; set; }
public string RegionName{ get; set; }
public Map ForceMap{ get; set; }
public bool Contains(Mobile mob)
{
return Contains(mob.Region);
}
public bool Contains(Region reg)
{
if (reg == null || ForceMap != null && reg.Map != ForceMap)
return false;
return reg.IsPartOf(RegionName);
}
// Debug method
public void Validate()
{
bool found = false;
foreach (Region r in Region.Regions)
if (r.Name == RegionName && (ForceMap == null || r.Map == ForceMap))
{
found = true;
break;
}
if (!found)
Console.WriteLine("Warning: QuestArea region '{0}' does not exist (ForceMap = {1})", RegionName,
ForceMap == null ? "-null-" : ForceMap.ToString());
}
}
}