【ScrollFitterView】 修改 有 c# 代码

dev_chengFeng
zhangqiang 2021-01-27 12:08:09 +08:00
parent 571a69888a
commit 3028a31eb3
11 changed files with 267 additions and 30 deletions

View File

@ -33,6 +33,7 @@ Input = UnityEngine.Input
Screen = UnityEngine.Screen
RectTransformUtility = UnityEngine.RectTransformUtility
LayoutUtility = UnityEngine.UI.LayoutUtility
LayoutRebuilder = UnityEngine.UI.LayoutRebuilder
Tweening = DG.Tweening
Ease = DG.Tweening.Ease

View File

@ -214,7 +214,8 @@ function this:OnOpen(...)
end
local tran = this.tip:GetComponent("RectTransform")
local offsetX = (LayoutUtility.GetPreferredWidth(tran) + Screen.width) / 2
--LayoutUtility.GetPreferredWidth(tran)
local offsetX = (GetPreferredWidth(tran) + Screen.width) / 2
tran.anchoredPosition = Vector2.New(offsetX, 0)
tran:DOAnchorPosX(-offsetX, 30, false):SetEase(Ease.Linear):SetLoops(-1)

View File

@ -430,7 +430,8 @@ function this.ShowResPanel(index)
end)
end
_SetBtnStatus(dealBtn, "open")
LayoutUtility.GetPreferredHeight(childBox.transform)
-- LayoutUtility.GetPreferredHeight(childBox.transform)
GetPreferredHeight(childBox.transform)
else
childBox:SetActive(false)
_SetBtnStatus(dealBtn, "close")
@ -495,7 +496,8 @@ function this.ShowRmdPanel(index)
if this._CurRmdIndex == dataIndex then
childBox:SetActive(true)
_SetBtnStatus(dealBtn, "open")
LayoutUtility.GetPreferredHeight(childBox.transform)
-- LayoutUtility.GetPreferredHeight(childBox.transform)
GetPreferredHeight(childBox.transform)
else
childBox:SetActive(false)
_SetBtnStatus(dealBtn, "close")
@ -551,7 +553,8 @@ function this.ShowQAPanel(index)
qaContent.text = qa.a
end
_SetBtnStatus(dealBtn, "open")
LayoutUtility.GetPreferredHeight(childBox.transform)
-- LayoutUtility.GetPreferredHeight(childBox.transform)
GetPreferredHeight(childBox.transform)
end
Util.AddOnceClick(dealBtn, function()
if this._CurQAIndex == dataIndex then

View File

@ -222,7 +222,7 @@ function this.OnPageTabChange(index, lastIndex)
-- 二级页签只有一个的时候不显示
this.tabbox2:SetActive(#this._MainShopTypeList > 1)
-- 初始化位置
local contentWidth = LayoutUtility.GetPreferredWidth(this.tabbox2Content.transform)
local contentWidth = GetPreferredWidth(this.tabbox2Content.transform)--LayoutUtility.GetPreferredWidth(this.tabbox2Content.transform)
local curPos = this.tabbox2Content.transform.localPosition
this.tabbox2Content.transform.localPosition = Vector3.New(contentWidth/2, curPos.y, curPos.z)
end

View File

@ -9,9 +9,9 @@ local function SetUpdate(self, index, item)
self.updateFunc(index, item.go)
self.goItemDataRefList[item.go] = index
if self.dragType == 1 then
item.offset = LayoutUtility.GetPreferredHeight(item.tran) + self.spacing
item.offset = GetPreferredHeight(item.tran) + self.spacing--LayoutUtility.GetPreferredHeight(item.tran) + self.spacing
else
item.offset = LayoutUtility.GetPreferredWidth(item.tran) + self.spacing
item.offset = GetPreferredWidth(item.tran) + self.spacing--LayoutUtility.GetPreferredWidth(item.tran) + self.spacing
end
end

View File

@ -56,3 +56,15 @@ function reimport(name)
return require(name)
end
function GetPreferredHeight(_transform)
if LayoutRebuilder then
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end
return LayoutUtility.GetPreferredHeight(_transform)
end
function GetPreferredWidth(_transform)
if LayoutRebuilder then
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end
return LayoutUtility.GetPreferredWidth(_transform)
end

View File

@ -265,6 +265,7 @@ public static class CustomSettings
_GT(typeof(LuaFileUtils)),
_GT(typeof(RectTransformUtility)),
_GT(typeof(LayoutUtility)),
_GT(typeof(LayoutRebuilder)),
_GT(typeof(ShadowUtils)),
_GT(typeof(ConvertUtil)),
_GT(typeof(GlobalEvent)),

View File

@ -180,6 +180,7 @@ public static class LuaBinder
UnityEngine_UI_LayoutElementWrap.Register(L);
UnityEngine_UI_ContentSizeFitterWrap.Register(L);
UnityEngine_UI_LayoutUtilityWrap.Register(L);
UnityEngine_UI_LayoutRebuilderWrap.Register(L);
UnityEngine_UI_GraphicWrap.Register(L);
UnityEngine_UI_BaseMeshEffectWrap.Register(L);
UnityEngine_UI_LayoutGroupWrap.Register(L);

View File

@ -0,0 +1,218 @@
//this source code was auto-generated by tolua#, do not modify it
using System;
using LuaInterface;
public class UnityEngine_UI_LayoutRebuilderWrap
{
public static void Register(LuaState L)
{
L.BeginClass(typeof(UnityEngine.UI.LayoutRebuilder), typeof(System.Object));
L.RegFunction("IsDestroyed", IsDestroyed);
L.RegFunction("ForceRebuildLayoutImmediate", ForceRebuildLayoutImmediate);
L.RegFunction("Rebuild", Rebuild);
L.RegFunction("MarkLayoutForRebuild", MarkLayoutForRebuild);
L.RegFunction("LayoutComplete", LayoutComplete);
L.RegFunction("GraphicUpdateComplete", GraphicUpdateComplete);
L.RegFunction("GetHashCode", GetHashCode);
L.RegFunction("Equals", Equals);
L.RegFunction("ToString", ToString);
L.RegFunction("New", _CreateUnityEngine_UI_LayoutRebuilder);
L.RegFunction("__tostring", ToLua.op_ToString);
L.RegVar("transform", get_transform, null);
L.EndClass();
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int _CreateUnityEngine_UI_LayoutRebuilder(IntPtr L)
{
try
{
int count = LuaDLL.lua_gettop(L);
if (count == 0)
{
UnityEngine.UI.LayoutRebuilder obj = new UnityEngine.UI.LayoutRebuilder();
ToLua.PushObject(L, obj);
return 1;
}
else
{
return LuaDLL.luaL_throw(L, "invalid arguments to ctor method: UnityEngine.UI.LayoutRebuilder.New");
}
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int IsDestroyed(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
bool o = obj.IsDestroyed();
LuaDLL.lua_pushboolean(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int ForceRebuildLayoutImmediate(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int Rebuild(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
UnityEngine.UI.CanvasUpdate arg0 = (UnityEngine.UI.CanvasUpdate)ToLua.CheckObject(L, 2, typeof(UnityEngine.UI.CanvasUpdate));
obj.Rebuild(arg0);
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int MarkLayoutForRebuild(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.MarkLayoutForRebuild(arg0);
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int LayoutComplete(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
obj.LayoutComplete();
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int GraphicUpdateComplete(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
obj.GraphicUpdateComplete();
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int GetHashCode(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
int o = obj.GetHashCode();
LuaDLL.lua_pushinteger(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int Equals(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
object arg0 = ToLua.ToVarObject(L, 2);
bool o = obj != null ? obj.Equals(arg0) : arg0 == null;
LuaDLL.lua_pushboolean(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int ToString(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)ToLua.CheckObject<UnityEngine.UI.LayoutRebuilder>(L, 1);
string o = obj.ToString();
LuaDLL.lua_pushstring(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_transform(IntPtr L)
{
object o = null;
try
{
o = ToLua.ToObject(L, 1);
UnityEngine.UI.LayoutRebuilder obj = (UnityEngine.UI.LayoutRebuilder)o;
UnityEngine.Transform ret = obj.transform;
ToLua.Push(L, ret);
return 1;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e, o, "attempt to index transform on a nil value");
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ed3f9061f253a2f4d9d194ea1d54008c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -27,9 +27,8 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 2);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
float o = UnityEngine.UI.LayoutUtility.GetMinSize(arg0, arg1);
int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
float o = UnityEngine.UI.LayoutUtility.GetMinSize(arg0, arg1);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -46,8 +45,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 2);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
float o = UnityEngine.UI.LayoutUtility.GetPreferredSize(arg0, arg1);
LuaDLL.lua_pushnumber(L, o);
return 1;
@ -65,8 +63,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 2);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
int arg1 = (int)LuaDLL.luaL_checknumber(L, 2);
float o = UnityEngine.UI.LayoutUtility.GetFlexibleSize(arg0, arg1);
LuaDLL.lua_pushnumber(L, o);
return 1;
@ -84,8 +81,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
float o = UnityEngine.UI.LayoutUtility.GetMinWidth(arg0);
float o = UnityEngine.UI.LayoutUtility.GetMinWidth(arg0);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -102,8 +98,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
float o = UnityEngine.UI.LayoutUtility.GetPreferredWidth(arg0);
float o = UnityEngine.UI.LayoutUtility.GetPreferredWidth(arg0);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -120,8 +115,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
float o = UnityEngine.UI.LayoutUtility.GetFlexibleWidth(arg0);
float o = UnityEngine.UI.LayoutUtility.GetFlexibleWidth(arg0);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -138,8 +132,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
float o = UnityEngine.UI.LayoutUtility.GetMinHeight(arg0);
float o = UnityEngine.UI.LayoutUtility.GetMinHeight(arg0);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -156,8 +149,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
float o = UnityEngine.UI.LayoutUtility.GetPreferredHeight(arg0);
float o = UnityEngine.UI.LayoutUtility.GetPreferredHeight(arg0);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -174,8 +166,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
{
ToLua.CheckArgsCount(L, 1);
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
float o = UnityEngine.UI.LayoutUtility.GetFlexibleHeight(arg0);
float o = UnityEngine.UI.LayoutUtility.GetFlexibleHeight(arg0);
LuaDLL.lua_pushnumber(L, o);
return 1;
}
@ -195,8 +186,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
if (count == 3)
{
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
System.Func<UnityEngine.UI.ILayoutElement,float> arg1 = (System.Func<UnityEngine.UI.ILayoutElement,float>)ToLua.CheckDelegate<System.Func<UnityEngine.UI.ILayoutElement,float>>(L, 2);
System.Func<UnityEngine.UI.ILayoutElement,float> arg1 = (System.Func<UnityEngine.UI.ILayoutElement,float>)ToLua.CheckDelegate<System.Func<UnityEngine.UI.ILayoutElement,float>>(L, 2);
float arg2 = (float)LuaDLL.luaL_checknumber(L, 3);
float o = UnityEngine.UI.LayoutUtility.GetLayoutProperty(arg0, arg1, arg2);
LuaDLL.lua_pushnumber(L, o);
@ -205,8 +195,7 @@ public class UnityEngine_UI_LayoutUtilityWrap
else if (count == 4)
{
UnityEngine.RectTransform arg0 = (UnityEngine.RectTransform)ToLua.CheckObject(L, 1, typeof(UnityEngine.RectTransform));
UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(arg0);
System.Func<UnityEngine.UI.ILayoutElement,float> arg1 = (System.Func<UnityEngine.UI.ILayoutElement,float>)ToLua.CheckDelegate<System.Func<UnityEngine.UI.ILayoutElement,float>>(L, 2);
System.Func<UnityEngine.UI.ILayoutElement,float> arg1 = (System.Func<UnityEngine.UI.ILayoutElement,float>)ToLua.CheckDelegate<System.Func<UnityEngine.UI.ILayoutElement,float>>(L, 2);
float arg2 = (float)LuaDLL.luaL_checknumber(L, 3);
UnityEngine.UI.ILayoutElement arg3 = null;
float o = UnityEngine.UI.LayoutUtility.GetLayoutProperty(arg0, arg1, arg2, out arg3);