using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;
namespace SwordmenWorld
{
public class ScrollViewHelper
{
RectTransform rootTransform;
GridLayoutGroup group;
RectTransform backGround;
float itemWidth;
float itemHeight;
float spacingX;
float spacingY;
float paddingX;
float paddingY;
int rowNumber;
int cloumnNumber;
public ScrollViewHelper(GridLayoutGroup group, RectTransform rootTransform, RectTransform backGround = null)
{
this.group = group;
this.rootTransform = rootTransform;
this.backGround = backGround;
itemWidth = group.cellSize.x;
itemHeight = group.cellSize.y;
spacingX = group.spacing.x;
spacingY = group.spacing.y;
paddingX = group.padding.left;
paddingY = group.padding.top;
}
public Vector2 GetRectSize(int rowNumber, int cloumnNumber)
{
float bgWidth = cloumnNumber * (itemWidth + spacingX) + paddingX;
float bgHeight = rowNumber * (itemHeight + spacingY) + paddingY;
Vector2 size = new Vector2(bgWidth, bgHeight);
return size;
}
public void SetScrollParam(int rowNumber, int cloumnNumber)
{
SetConstraint(rowNumber, cloumnNumber);
RectSize(rowNumber, cloumnNumber);
}
public void RectSize(int rowNumber, int cloumnNumber)
{
rootTransform.sizeDelta = GetRectSize(rowNumber, cloumnNumber);
if (backGround != null)
{
Vector2 size = backGround.sizeDelta;
size.x = rootTransform.sizeDelta.x;
backGround.sizeDelta = size;
}
}
public void SetConstraint(int rowNumber, int cloumnNumber)
{
if (rowNumber < cloumnNumber)
{
group.constraint = GridLayoutGroup.Constraint.FixedRowCount;
group.constraintCount = rowNumber;
}
else
{
group.constraint = GridLayoutGroup.Constraint.FixedColumnCount;
group.constraintCount = cloumnNumber;
}
}
}
}
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;
namespace SwordmenWorld
{
public class ScrollViewHelper
{
RectTransform rootTransform;
GridLayoutGroup group;
RectTransform backGround;
float itemWidth;
float itemHeight;
float spacingX;
float spacingY;
float paddingX;
float paddingY;
int rowNumber;
int cloumnNumber;
public ScrollViewHelper(GridLayoutGroup group, RectTransform rootTransform, RectTransform backGround = null)
{
this.group = group;
this.rootTransform = rootTransform;
this.backGround = backGround;
itemWidth = group.cellSize.x;
itemHeight = group.cellSize.y;
spacingX = group.spacing.x;
spacingY = group.spacing.y;
paddingX = group.padding.left;
paddingY = group.padding.top;
}
public Vector2 GetRectSize(int rowNumber, int cloumnNumber)
{
float bgWidth = cloumnNumber * (itemWidth + spacingX) + paddingX;
float bgHeight = rowNumber * (itemHeight + spacingY) + paddingY;
Vector2 size = new Vector2(bgWidth, bgHeight);
return size;
}
public void SetScrollParam(int rowNumber, int cloumnNumber)
{
SetConstraint(rowNumber, cloumnNumber);
RectSize(rowNumber, cloumnNumber);
}
public void RectSize(int rowNumber, int cloumnNumber)
{
rootTransform.sizeDelta = GetRectSize(rowNumber, cloumnNumber);
if (backGround != null)
{
Vector2 size = backGround.sizeDelta;
size.x = rootTransform.sizeDelta.x;
backGround.sizeDelta = size;
}
}
public void SetConstraint(int rowNumber, int cloumnNumber)
{
if (rowNumber < cloumnNumber)
{
group.constraint = GridLayoutGroup.Constraint.FixedRowCount;
group.constraintCount = rowNumber;
}
else
{
group.constraint = GridLayoutGroup.Constraint.FixedColumnCount;
group.constraintCount = cloumnNumber;
}
}
}
}