Exemplo n.º 1
0
        /// <summary>
        /// Overridden function that gets called when the plugin is loaded. Registers all creator plugins
        /// </summary>
        /// <returns></returns>
        public override bool DeInitPluginModule()
        {
            HavokAiManaged.ManagedModule.DeInitManagedModule();

              foreach (IShapeCreatorPlugin plugin in creators)
              {
            EditorManager.ShapeCreatorPlugins.Remove(plugin);
              }

              _panel.Close();
              _panel.Dispose();
              _panel = null;

              EditorManager.EditorModeChanged -= new EditorModeChangedEventHandler(EditorManager_EditorModeChanged);
              EditorManager.ShapeSelectionChanged -= new ShapeSelectionChangedEventHandler(EditorManager_ShapeSelectionChanged);
              EditorManager.SceneChanged -= new SceneChangedEventHandler(EditorManager_SceneChanged);
              IScene.EngineInstancesChanged -= new EngineInstancesChangedEventHandler(IScene_EngineInstancesChanged);
              IScene.PropertyChanged -= new PropertyChangedEventHandler(IScene_PropertyChanged);
              IScene.ShapeChanged -= new ShapeChangedEventHandler(IScene_ShapeChanged);

              return true;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Overridden function that gets called when the plugin is loaded. Registers all creator plugins
        /// </summary>
        /// <returns></returns>
        public override bool InitPluginModule()
        {
            EDITOR_PLUGIN_INFO.NativePluginNames = new string[] { "Havok Ai" };
              HavokAiManaged.ManagedModule.InitManagedModule();

              // register shape class
              creators = new IShapeCreatorPlugin[]
              {
              new HavokNavMeshShapeCreator(),
              new HavokNavMeshCarverShapeCreator(),
              new HavokNavMeshSeedPointShapeCreator(),
              new HavokNavMeshLocalSettingsShapeCreator(),
              new HavokNavMeshTestPathShapeCreator()
              };
              foreach (IShapeCreatorPlugin plugin in creators)
              {
            EditorManager.ShapeCreatorPlugins.Add(plugin);
              }

              // create and activate panel
              _panel = new HavokAiPanel(EditorManager.ApplicationLayout.DockingArea);
              _panel.ShowDockable();
              _panel.Enabled = false;

              // register callbacks
              IScene.ShapeChanged += new ShapeChangedEventHandler(IScene_ShapeChanged);
              IScene.PropertyChanged += new PropertyChangedEventHandler(IScene_PropertyChanged);
              IScene.EngineInstancesChanged += new EngineInstancesChangedEventHandler(IScene_EngineInstancesChanged);
              EditorManager.SceneChanged += new SceneChangedEventHandler(EditorManager_SceneChanged);
              EditorManager.ShapeSelectionChanged += new ShapeSelectionChangedEventHandler(EditorManager_ShapeSelectionChanged);
              EditorManager.EditorModeChanged += new EditorModeChangedEventHandler(EditorManager_EditorModeChanged);

              // Register automated tests
              TestSuiteBuilder testBuilder = new TestSuiteBuilder();
              TestSuite testSuite = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);
              TestManager.AddTestSuite(testSuite);

              return true;
        }