ACR_ServerMisc.ACR_ServerMisc.GetCreatureAIServer C# (CSharp) Method

GetCreatureAIServer() private method

Get an instance of the ACR_CreatureBehavior.PowerShellInterop.
private GetCreatureAIServer ( ) : object
return object
        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;
        }