private object GetCreatureAIServer()
{
Assembly CreatureBehaviorAsm;
string AsmName;
object AIServer;
if (CreatureAIServer != null)
return CreatureAIServer;
AsmName = "ACR_CreatureBehavior, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null";
CreatureBehaviorAsm = (from LoadedAsm in AppDomain.CurrentDomain.GetAssemblies()
where LoadedAsm.FullName == AsmName
select LoadedAsm).FirstOrDefault();
if (CreatureBehaviorAsm == null)
return null;
try
{
AIServer = CreatureBehaviorAsm.CreateInstance(
"ACR_CreatureBehavior.PowerShellInterop",
false,
BindingFlags.CreateInstance,
null,
null,
null,
null);
CreatureAIServer = AIServer;
}
catch (Exception e)
{
WriteTimestampedLogEntry(String.Format(
"ACR_ServerMisc.GetCreatureAIServer(): Exception creating ACR_CreatureBehavior interop object: {0}",
e));
AIServer = null;
}
return AIServer;
}