From 56091a5a2b3df0681996731982f812003daf85e9 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期四, 20 九月 2018 15:52:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Skill/ScrollerController.cs |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/System/Skill/ScrollerController.cs b/System/Skill/ScrollerController.cs
index 7b9859e..71b161e 100644
--- a/System/Skill/ScrollerController.cs
+++ b/System/Skill/ScrollerController.cs
@@ -307,12 +307,37 @@
             cacheJump = index;
             return;
         }
-        if ((index < 0 || index >= _data.Count) && !m_Scorller.Loop) return;
+        if ((index < 0 || index >= _data.Count) && !m_Scorller.Loop)
+        {
+            return;
+        }
         var _size = m_Scorller.GetScrollPositionForDataIndex(index, EnhancedScroller.CellViewPositionEnum.Before);
         var _contentSize = vertical ? m_Scorller.scrollRect.content.rect.size.y : m_Scorller.scrollRect.content.rect.size.x;
         if (_contentSize - _size < m_Scorller.ScrollRectSize)
         {
             _size = _contentSize - m_Scorller.ScrollRectSize;
+        }
+        m_Scorller.ScrollPosition = _size;
+    }
+
+    public void JumpIndex(int index,ref float offset)
+    {
+        if (!inited)
+        {
+            cacheJump = index;
+            return;
+        }
+        if ((index < 0 || index >= _data.Count) && !m_Scorller.Loop)
+        {
+            return;
+        }
+        var _size = m_Scorller.GetScrollPositionForDataIndex(index, EnhancedScroller.CellViewPositionEnum.Before);
+        var _contentSize = vertical ? m_Scorller.scrollRect.content.rect.size.y : m_Scorller.scrollRect.content.rect.size.x;
+        offset = 0f;
+        if (_contentSize - _size < m_Scorller.ScrollRectSize)
+        {
+            offset = _size - (_contentSize - m_Scorller.ScrollRectSize);
+            _size = _size - offset;
         }
         m_Scorller.ScrollPosition = _size;
     }
@@ -423,7 +448,7 @@
 
     public void ResetScrollPos()
     {
-        if (_data.Count == 0)
+        if (_data.Count == 0 || !inited)
         {
             return;
         }

--
Gitblit v1.8.0