/// <summary> /// Изменен файл текстуры /// </summary> private void skyTexture_FileChanged(object sender, EventArgs e) { Skybox.Side side = Skybox.Side.Front; Project.Entry file = frontSkyTexture.File; NSFileDropControl s = sender as NSFileDropControl; if (s == topSkyTexture) { file = topSkyTexture.File; side = Skybox.Side.Top; } else if (s == bottomSkyTexture) { file = bottomSkyTexture.File; side = Skybox.Side.Bottom; } else if (s == leftSkyTexture) { file = leftSkyTexture.File; side = Skybox.Side.Left; } else if (s == rightSkyTexture) { file = rightSkyTexture.File; side = Skybox.Side.Right; } else if (s == backSkyTexture) { file = backSkyTexture.File; side = Skybox.Side.Back; } (FileEditor as SkyboxEditor).TextureChanged(side, file); }
/// <summary> /// Обновление файловой системы /// </summary> /// <param name="en">Файл</param> /// <param name="ev">Событие</param> public override void ProjectEntryEvent(Project.Entry en, Project.FileEvent ev) { base.ProjectEntryEvent(en, ev); if (closed) { return; } // Просмотр на изменение текстур SkyboxForm fr = Form as SkyboxForm; NSFileDropControl[] drops = new NSFileDropControl[] { fr.frontSkyTexture, fr.rightSkyTexture, fr.backSkyTexture, fr.leftSkyTexture, fr.topSkyTexture, fr.bottomSkyTexture }; forceTextureReload = true; foreach (NSFileDropControl fc in drops) { if (fc.File == en) { if (ev == Project.FileEvent.Deleted) { fc.File = null; } else { fc.File = en; } } } forceTextureReload = false; }