Merged in playemgames/unity-ui-extensions-5/playemgames/fixes-to-textpic-to-make-sure-images-are-1551486174251 (pull request #49)

Fixes to TextPic to make sure images are culled properly.

Approved-by: Brad Nelson <info@play-em.com>
pull/413/head
Brad Nelson 2019-03-05 15:42:28 +00:00 committed by Simon Jackson
commit e813cd70a9
1 changed files with 9 additions and 7 deletions

View File

@ -180,7 +180,7 @@ namespace UnityEngine.UI.Extensions {
} }
else { else {
// If there are no matches, remove the images from the pool // If there are no matches, remove the images from the pool
for (int i = 0; i < m_ImagesPool.Count; i++) { for (int i = m_ImagesPool.Count - 1; i > 0; i--) {
if (m_ImagesPool[i]) { if (m_ImagesPool[i]) {
if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject)) { if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject)) {
culled_ImagesPool.Add(m_ImagesPool[i].gameObject); culled_ImagesPool.Add(m_ImagesPool[i].gameObject);
@ -191,11 +191,13 @@ namespace UnityEngine.UI.Extensions {
} }
// Remove any images that are not being used // Remove any images that are not being used
for (var i = matches.Count; i < m_ImagesPool.Count; i++) { for (int i = m_ImagesPool.Count - 1; i >= matches.Count; i--) {
if (m_ImagesPool[i]) { if (i >= 0 && m_ImagesPool.Count > 0) {
if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject)) { if (m_ImagesPool[i]) {
culled_ImagesPool.Add(m_ImagesPool[i].gameObject); if (!culled_ImagesPool.Contains(m_ImagesPool[i].gameObject)) {
m_ImagesPool.Remove(m_ImagesPool[i]); culled_ImagesPool.Add(m_ImagesPool[i].gameObject);
m_ImagesPool.Remove(m_ImagesPool[i]);
}
} }
} }
} }
@ -514,7 +516,7 @@ namespace UnityEngine.UI.Extensions {
// Disable images on TextPic disable // Disable images on TextPic disable
if (m_ImagesPool.Count >= 1) { if (m_ImagesPool.Count >= 1) {
for (int i = 0; i < m_ImagesPool.Count; i++) { for (int i = 0; i < m_ImagesPool.Count; i++) {
if(m_ImagesPool[i] != null) { if (m_ImagesPool[i] != null) {
m_ImagesPool[i].enabled = false; m_ImagesPool[i].enabled = false;
} }
} }