浏览代码

Update ImageAsset.cpp

add change notification on intialize asset use this callback to update information about the image on refresh. Remove notification when the asset is removed and when the imagefile changes
marauder2k7 3 月之前
父节点
当前提交
794a8c900d
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      Engine/source/T3D/assets/ImageAsset.cpp

+ 7 - 0
Engine/source/T3D/assets/ImageAsset.cpp

@@ -213,6 +213,8 @@ bool ImageAsset::onAdd()
 
 void ImageAsset::onRemove()
 {
+   Torque::FS::RemoveChangeNotification(mImageFile, this, &ImageAsset::_onResourceChanged);
+
    // Call Parent.
    Parent::onRemove();
 }
@@ -346,6 +348,9 @@ void ImageAsset::initializeAsset(void)
 
    mImageFile = expandAssetFilePath(mImageFile);
 
+   if (getOwned())
+      Torque::FS::AddChangeNotification(mImageFile, this, &ImageAsset::_onResourceChanged);
+
    populateImage();
 }
 
@@ -389,6 +394,8 @@ void ImageAsset::setImageFile(StringTableEntry pImageFile)
    if (pImageFile == mImageFile)
       return;
 
+   Torque::FS::RemoveChangeNotification(mImageFile, this, &ImageAsset::_onResourceChanged);
+
    if (String(pImageFile).startsWith("#") || String(pImageFile).startsWith("$"))
    {
       mImageFile = StringTable->insert(pImageFile);