/// <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" };
            HavokManaged.ManagedModule.InitManagedModule();

            StaticMeshShape.UsesCollisionGroups = true; // switch to displaying collision groups

            // register shape classes
            creators = new IShapeCreatorPlugin[]
            {
                new HavokConstraintShapeCreator(),
                new HavokConstraintChainShapeCreator(),
                new HavokResourceShapeCreator()
            };

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

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

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

            TestManager.AddTestSuite(testSuite);

            IProject.ProjectUnloaded += new EventHandler(IProject_ProjectUnloaded);

            return(true);
        }
Exemple #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 Behavior" };
            HavokBehaviorManaged.ManagedModule.InitManagedModule();

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

            TestManager.AddTestSuite(testSuite);
            return(true);
        }
        /// <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);
        }
        /// <summary>
        /// InitPluginModule : called at plugin initialisation time: Add the relevant shape creators here
        /// </summary>
        public override bool InitPluginModule()
        {
            TerrainManaged.ManagedModule.InitManagedModule();
            EDITOR_PLUGIN_INFO.NativePluginNames = new string[] { "VisionEnginePlugin" };

            TerrainEditor.Init();

            // Add IShapeCreatorPlugin
            _heightFieldCreator = new TerrainShapeCreator();
            EditorManager.ShapeCreatorPlugins.Add(_heightFieldCreator);

            // add default filter:
            TerrainEditor.HeightmapImporterList.Add(new ImportHeightmapTEX16bpp());
            TerrainEditor.HeightmapImporterList.Add(new ImportHeightmapRAW());
            TerrainEditor.HeightmapImporterList.Add(new ImportHeightmapDDS());

            TerrainEditor.HeightmapFilterList.Add(new HeightmapClearFilter());
            TerrainEditor.HeightmapFilterList.Add(new HeightmapScaleElevateFilter());

            TerrainEditor.DecorationFilterList.Add(new DecorationClearFilter());
            TerrainEditor.DecorationFilterList.Add(new DecorationImportFromLuminanceFilter());
            TerrainEditor.DecorationFilterList.Add(new DecorationFromDetailTextureFilter());
            TerrainEditor.DecorationFilterList.Add(new DecorationFromSlopeFilter());


            // create panel
            _panel = new TerrainEditorPanel(EditorManager.ApplicationLayout.DockingArea);
            _panel.ShowDockable();
            TerrainEditor.EditorPanel = _panel;

            // register tests:
            TestSuiteBuilder testBuilder = new TestSuiteBuilder();
            TestSuite        testSuite   = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);

            TestManager.AddTestSuite(testSuite);

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

            // listen to the following events
            IProject.NewProjectLoaded             += new EventHandler(IProject_NewProjectLoaded);
            IProject.ProjectUnloaded              += new EventHandler(IProject_ProjectUnloaded);
            EditorManager.SceneChanged            += new SceneChangedEventHandler(EditorManager_SceneChanged);
            EditorManager.SceneEvent              += new SceneEventHandler(EditorManager_SceneEvent);
            EditorManager.ProcessExternalFileDrop += new ExternalFileDropHandler(EditorManager_ProcessExternalFileDrop);
            EditorManager.QueryDragDropContext    += new QueryDragDropContextEventHandler(EditorManager_QueryDragDropContext);

            // make this globally available
            PrefabDesc.PrefabInstanceCreator = new PrefabShapeCreator();

            // register shape classes
            creators = new IShapeCreatorPlugin[]
            {
                new EntityCreator(),
                new OmniLightCreator(false),
                new SpotLightCreator(false),
                new DirectionalLightCreator(false),
                new OmniLightCreator(true),
                new SpotLightCreator(true),
                new DirectionalLightCreator(true),
                new TimeOfDaySunCreator(),

                new ParticleSystemCreator(),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.GroundPlane),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.Plane),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.Sphere),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.AABox),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.XAxis),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.YAxis),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.ZAxis),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.Fan),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.Cyclone),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.Point),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.GravityPoint),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.Terrain),
                new ConstraintCreator(EngineInstanceConstraint.ConstraintType_e.CameraBox),

                new ProjectorShapeCreator(),
                new ClothObjectCreator(),
                new MirrorCreator(),
                new VisibilityObjectCreator(),
                new LightGridBoxCreator(),
                new LightGridDetailBoxCreator(),
                new LightGridIndicatorCreator(),
                new PathShapeCreator(),
                new CircleShapeCreator(),
                new PathCameraShapeCreator(),
                new CameraPositionShapeCreator(),

                //new RenderTargetShapeCreator(), // still port engine instance
                new CubemapShapeCreator(),
                //new PostProcessingShapeCreator(),

                PrefabDesc.PrefabInstanceCreator,
                new StaticMeshShapeCreator(),
                new StaticMeshGroupShapeCreator(),
                new TriggerBoxShapeCreator(),
                new BillboardGroupShapeCreator(),
                new CustomVolumeShapeCreator(),

#if !HK_ANARCHY
                new CloudLayerCreator(),
                new DecorationGroupCreator(),
                new WaterCreator(),
                new SunglareCreator(),
                new VolumetricConeCreator(),
                new FogObjectCreator(),
                new ProjectedDecalCreator(),
#endif
            };

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

            // Add lightmap tweaking menu item
            // this is not supported ATM, because lightmaps are not in a central place anymore
            //lightmapMenuItemPlugin = new LightmapMenuItemPlugin();
            //EditorManager.AddMenuItemPlugin(lightmapMenuItemPlugin);

            _colorGradingTool = new ColorGradingToolPlugin();
            EditorManager.AddMenuItemPlugin(_colorGradingTool);

            PrefabManager.BINARY_SAVER = new VisionPrefabBinarySaver();
            VisionEngineManager.EntityClassManagerType = typeof(EntityClassManager);

            // register tests
            TestSuiteBuilder testBuilder = new TestSuiteBuilder();
            TestSuite        testSuite   = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);
            TestManager.AddTestSuite(testSuite);
            return(true);
        }