示例#1
0
        void EditorManager_SceneEvent(object sender, SceneEventArgs e)
        {
            if (e.action == SceneEventArgs.Action.AfterClosing)
              {
            // clear out the settings collection
            m_settingsDictionary = null;
            UpdateSettingsListView();
              }
              else if (e.action == SceneEventArgs.Action.BeforeExport)
              {
            ExportSceneEventArgs exportEventArgs = e as ExportSceneEventArgs;
            if (tsb_Build.ToolTipText == BUILD_DIRTY_STR)
            {

            }
              }
        }
示例#2
0
        private void EditorManager_CustomSceneSerialization(object sender, CustomSceneSerializationArgs e)
        {
            if (e.CustomSceneObjects.IsSaving)
              {
            if (m_settingsDictionary != null)
            {
              e.CustomSceneObjects.AddObject("HavokAiEditorPlugin.EditorPlugin", m_settingsDictionary);
            }
              }
              else
              {
            if (m_settingsDictionary != null)
            {
              m_settingsCreatedDuringSceneLoad = true;
            }

            HavokNavMeshGlobalSettingsDictionary serializedSettingsCollection =
              (HavokNavMeshGlobalSettingsDictionary)e.CustomSceneObjects.FindObject("HavokAiEditorPlugin.EditorPlugin", typeof(HavokNavMeshGlobalSettingsDictionary));
            if (serializedSettingsCollection != null && serializedSettingsCollection.Count > 0) // ignore empty settings collection
            {
              // replace with serialized copy.
              m_settingsDictionary = serializedSettingsCollection;
              m_settingsDictionary.Parent = this;
            }
              }
        }
示例#3
0
        public HavokNavMeshGlobalSettings CreateGlobalSettings(string settingsName, bool bUndoable)
        {
            if (m_settingsDictionary == null)
              {
            // create a collection if doesn't exist
            m_settingsDictionary = new HavokNavMeshGlobalSettingsDictionary(this);
              }

              if (bUndoable)
              {
            EditorManager.Actions.Add(new CreateNavMeshGlobalSettingsAction(m_settingsDictionary, settingsName));
              }
              else
              {
            m_settingsDictionary.CreateAndAddSettingsInstance(settingsName);
              }
              HavokNavMeshGlobalSettings settings = m_settingsDictionary.GetSettingsInstance(settingsName);
              System.Diagnostics.Debug.Assert(settings == null || settings.Name == settingsName);
              return settings;
        }
示例#4
0
        public bool AddGlobalSettings(string settingsName, HavokNavMeshGlobalSettings settings, bool bUndoable)
        {
            if (m_settingsDictionary == null)
              {
            // create a collection if doesn't exist
            m_settingsDictionary = new HavokNavMeshGlobalSettingsDictionary(this);
              }

              if (bUndoable)
              {
            EditorManager.Actions.Add(new AddNavMeshGlobalSettingsAction(m_settingsDictionary, settingsName, settings));
            return m_settingsDictionary.GetSettingsInstance(settingsName) == settings;
              }
              else
              {
            return m_settingsDictionary.AddSettingsInstance(settingsName, settings);
              }
        }
 public AddNavMeshGlobalSettingsAction(HavokNavMeshGlobalSettingsDictionary collection, string settingsName, HavokNavMeshGlobalSettings settings)
 {
     m_collection = collection;
       m_settings = settings;
       m_settingsName = settingsName;
 }
 public DeleteNavMeshGlobalSettingsAction(HavokNavMeshGlobalSettingsDictionary collection, string settingsName)
 {
     m_collection = collection;
       m_settings = null;
       m_settingsName = settingsName;
 }