private void AddEvents()
        {
            tiledObjectTypeCreator = new TiledObjectTypeCreator();

            this.TryHandleCopyFile += HandleCopyFile;

            this.ReactToLoadedGluxEarly += HandleGluxLoadEarly;

            this.ReactToLoadedGlux += () =>
            {
                HandleGluxLoad();
                tiledObjectTypeCreator.RefreshFile();
            };



            this.AdjustDisplayedReferencedFile += HandleAdjustDisplayedReferencedFile;

            this.ReactToItemSelectHandler         += HandleItemSelect;
            this.ReactToFileChangeHandler         += HandleFileChange;
            this.ReactToTreeViewRightClickHandler += RightClickManager.Self.HandleTreeViewRightClick;

            this.GetFilesReferencedBy    += FileReferenceManager.Self.HandleGetFilesReferencedBy;
            this.CanFileReferenceContent += HandleCanFileReferenceContent;

            TilesetController.Self.EntityAssociationsChanged +=
                EntityListManager.Self.OnEntityAssociationsChanged;

            TilesetController.Self.GetTsxDirectoryRelativeToTmx = () => "../Tilesets/";

            this.ReactToChangedPropertyHandler += (changedMember, oldalue) =>
            {
                if (changedMember == nameof(EntitySave.CreatedByOtherEntities))
                {
                    tiledObjectTypeCreator.RefreshFile();
                }
            };

            this.ReactToElementVariableChange += (element, variable) =>
            {
                if ((element as EntitySave)?.CreatedByOtherEntities == true)
                {
                    tiledObjectTypeCreator.RefreshFile();
                }
            };
        }
Ejemplo n.º 2
0
        private void AddEvents()
        {
            tiledObjectTypeCreator = new TiledObjectTypeCreator();

            this.TryHandleCopyFile += HandleCopyFile;

            this.ReactToLoadedGluxEarly += HandleGluxLoadEarly;

            this.ReactToLoadedGlux += () =>
            {
                HandleGluxLoad();
                tiledObjectTypeCreator.RefreshFile();
            };

            this.TryAddContainedObjects += HandleTryAddContainedObjects;

            this.AdjustDisplayedReferencedFile += HandleAdjustDisplayedReferencedFile;

            this.ReactToItemSelectHandler         += HandleItemSelect;
            this.ReactToFileChangeHandler         += HandleFileChange;
            this.ReactToTreeViewRightClickHandler += RightClickManager.Self.HandleTreeViewRightClick;

            this.FillWithReferencedFiles += FileReferenceManager.Self.HandleGetFilesReferencedBy;
            this.CanFileReferenceContent += HandleCanFileReferenceContent;

            TilesetController.Self.EntityAssociationsChanged +=
                EntityListManager.Self.OnEntityAssociationsChanged;

            TilesetController.Self.GetTsxDirectoryRelativeToTmx = () => "../Tilesets/";

            this.ReactToChangedPropertyHandler += (changedMember, oldalue) =>
            {
                if (GlueState.CurrentCustomVariable != null)
                {
                    if (changedMember == nameof(CustomVariable.Name))
                    {
                        tiledObjectTypeCreator.RefreshFile();
                    }
                }
                else if (GlueState.CurrentEntitySave != null)
                {
                    if (changedMember == nameof(EntitySave.CreatedByOtherEntities))
                    {
                        tiledObjectTypeCreator.RefreshFile();
                    }
                }
            };

            this.ReactToElementVariableChange += (element, variable) =>
            {
                if ((element as EntitySave)?.CreatedByOtherEntities == true)
                {
                    tiledObjectTypeCreator.RefreshFile();
                }
            };

            this.ReactToVariableAdded += (newVariable) =>
            {
                var element = EditorObjects.IoC.Container.Get <IGlueState>().CurrentElement;
                if ((element as EntitySave)?.CreatedByOtherEntities == true)
                {
                    tiledObjectTypeCreator.RefreshFile();
                }
            };

            this.ReactToVariableRemoved += (removedVariable) =>
            {
                var element = EditorObjects.IoC.Container.Get <IGlueState>().CurrentElement;
                if ((element as EntitySave)?.CreatedByOtherEntities == true)
                {
                    tiledObjectTypeCreator.RefreshFile();
                }
            };

            this.ModifyAddEntityWindow += ModifyAddEntityWindowLogic.HandleModifyAddEntityWindow;

            this.ReactToNewEntityCreated += NewEntityCreatedReactionLogic.ReactToNewEntityCreated;

            this.ReactToNewFileHandler = ReactToNewFile;
        }