You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
4.6 KiB
C#

4 years ago
using System;
using System.Collections;
using UnityEngine;
// Token: 0x020000E8 RID: 232
public class ListItemObject : MonoBehaviour
{
// Token: 0x170000D8 RID: 216
// (get) Token: 0x06000642 RID: 1602 RVA: 0x00019FF8 File Offset: 0x000181F8
// (set) Token: 0x06000643 RID: 1603 RVA: 0x0001A000 File Offset: 0x00018200
public bool IsAreaOver { get; set; }
// Token: 0x06000644 RID: 1604 RVA: 0x0001A00C File Offset: 0x0001820C
public static ListItemObject Create(ImageObject imageObject)
{
ListItemObject listItemObject = imageObject.gameObject.AddComponent<ListItemObject>();
listItemObject.m_ImageObject = imageObject;
listItemObject.StartCoroutine(listItemObject.WaitLoadTextureCoroutine());
return listItemObject;
}
// Token: 0x06000645 RID: 1605 RVA: 0x0001A03C File Offset: 0x0001823C
public void SetArea(float top, float bot)
{
int num = 272;
this.Top = (float)num - top;
this.Bot = (float)num - bot;
}
// Token: 0x06000646 RID: 1606 RVA: 0x0001A064 File Offset: 0x00018264
private IEnumerator WaitLoadTextureCoroutine()
{
while (base.renderer.material.mainTexture == null)
{
yield return 0;
}
this.Init();
yield break;
}
// Token: 0x06000647 RID: 1607 RVA: 0x0001A080 File Offset: 0x00018280
private void Awake()
{
}
// Token: 0x06000648 RID: 1608 RVA: 0x0001A084 File Offset: 0x00018284
private void Update()
{
base.transform.localPosition = this.m_ImageObject.OriginalPosition;
base.transform.localScale = this.m_ImageObject.OriginalScale;
this.ListViewPosition = this.m_ImageObject.OnViewPosition;
this.ListViewScale = this.m_ImageObject.OnViewScale;
this.IsAreaOver = false;
this.isBotOver = false;
this.scaling();
this.positioning();
this.moveUV();
base.transform.localPosition = this.ListViewPosition;
base.transform.localScale = this.ListViewScale;
}
// Token: 0x06000649 RID: 1609 RVA: 0x0001A124 File Offset: 0x00018324
public void Init()
{
Vector3 localScale = new Vector3(0f, 0f, 1f);
this.m_ImageObject.OriginalScale = base.transform.localScale;
this.m_ImageObject.OriginalPosition = base.transform.localPosition;
this.m_ImageObject.OnViewPosition = this.m_ImageObject.OriginalPosition;
this.m_ImageObject.OnViewScale = this.m_ImageObject.OriginalScale;
if (base.renderer.material.mainTexture != null)
{
localScale.x = (float)base.renderer.material.mainTexture.width;
localScale.y = (float)base.renderer.material.mainTexture.height;
base.transform.localScale = localScale;
this.scaling();
this.positioning();
this.moveUV();
}
}
// Token: 0x0600064A RID: 1610 RVA: 0x0001A214 File Offset: 0x00018414
private void scaling()
{
Vector3 position = base.transform.position;
Vector3 listViewScale = this.ListViewScale;
this.myTop = position.y + listViewScale.y / 2f;
this.myBot = position.y - listViewScale.y / 2f;
this.over = 0f;
if (this.myTop > this.Top)
{
this.over = this.Top - this.myTop;
this.IsAreaOver = true;
}
else if (this.myBot < this.Bot)
{
this.over = this.myBot - this.Bot;
this.IsAreaOver = true;
this.isBotOver = true;
}
listViewScale.y = this.m_ImageObject.OriginalScale.y + this.over;
if (listViewScale.y > this.m_ImageObject.OriginalScale.y)
{
listViewScale.y = this.m_ImageObject.OriginalScale.y;
}
if (listViewScale.y < 0f)
{
listViewScale.y = 0f;
}
this.ListViewScale = listViewScale;
}
// Token: 0x0600064B RID: 1611 RVA: 0x0001A34C File Offset: 0x0001854C
private void positioning()
{
float num = this.over / 2f;
if (this.isBotOver)
{
num *= -1f;
}
this.ListViewPosition.y = this.m_ImageObject.OnViewPosition.y + num;
}
// Token: 0x0600064C RID: 1612 RVA: 0x0001A398 File Offset: 0x00018598
private void moveUV()
{
float num = this.ListViewScale.y / this.m_ImageObject.OriginalScale.y;
if (this.isBotOver)
{
base.renderer.material.SetVector("_UVWH", new Vector4(0f, 1f - num, 1f, num));
}
else
{
base.renderer.material.SetVector("_UVWH", new Vector4(0f, 0f, 1f, num));
}
}
// Token: 0x040005BA RID: 1466
private ImageObject m_ImageObject;
// Token: 0x040005BB RID: 1467
public float Top;
// Token: 0x040005BC RID: 1468
public float Bot;
// Token: 0x040005BD RID: 1469
public Vector3 ListViewPosition;
// Token: 0x040005BE RID: 1470
public Vector3 ListViewScale;
// Token: 0x040005BF RID: 1471
private Vector3 StartPosition;
// Token: 0x040005C0 RID: 1472
private Vector3 StartInputPosition;
// Token: 0x040005C1 RID: 1473
private float over;
// Token: 0x040005C2 RID: 1474
private float myTop;
// Token: 0x040005C3 RID: 1475
private float myBot;
// Token: 0x040005C4 RID: 1476
private bool isBotOver;
}