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.

460 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
// Token: 0x02000111 RID: 273
public abstract class GallerySelectWindow : BaseWindow
{
private Dictionary<string,int> dict = null;
// Token: 0x06000725 RID: 1829
protected abstract void BeforeInitGallerySelect();
// Token: 0x06000726 RID: 1830
protected abstract int GetCollect();
// Token: 0x06000727 RID: 1831
protected abstract string GetThumbnailName(int index);
// Token: 0x06000728 RID: 1832
protected abstract int GetThumbnailLength();
// Token: 0x06000729 RID: 1833
protected abstract string GetOnArrowSceneName();
// Token: 0x0600072A RID: 1834
protected abstract bool IsFont();
// Token: 0x0600072B RID: 1835
protected abstract string GetFontText(int index);
// Token: 0x0600072C RID: 1836
protected abstract void OnSelect(int index);
// Token: 0x0600072D RID: 1837
protected abstract bool IsSelectable(int index);
// Token: 0x170000DC RID: 220
// (get) Token: 0x0600072E RID: 1838 RVA: 0x0001E880 File Offset: 0x0001CA80
// (set) Token: 0x0600072F RID: 1839 RVA: 0x0001E888 File Offset: 0x0001CA88
protected int Chara
{
get
{
return this.m_chara;
}
set
{
this.m_chara = value;
}
}
// Token: 0x170000DD RID: 221
// (get) Token: 0x06000730 RID: 1840 RVA: 0x0001E894 File Offset: 0x0001CA94
// (set) Token: 0x06000731 RID: 1841 RVA: 0x0001E89C File Offset: 0x0001CA9C
protected int Page
{
get
{
return this.m_page;
}
set
{
this.m_page = value;
}
}
// Token: 0x06000732 RID: 1842 RVA: 0x0001E8A8 File Offset: 0x0001CAA8
private int pageCountLoop(int page)
{
int num = (this.GetThumbnailLength() + this.MAX_THUMBNAILS_COUNT - 1) / this.MAX_THUMBNAILS_COUNT;
return (page + num) % num;
}
// Token: 0x06000733 RID: 1843 RVA: 0x0001E8D4 File Offset: 0x0001CAD4
protected sealed override string GetBGMName()
{
return "sysbgm_cgmemory";
}
// Token: 0x06000734 RID: 1844 RVA: 0x0001E8DC File Offset: 0x0001CADC
protected sealed override void OnAwake()
{
this.m_chara = UIValue.GalleryCharactor;
this.m_page = UIValue.GalleryPage;
this.BeforeInitGallerySelect();
if (this.GetThumbnailLength() <= this.m_page * this.MAX_THUMBNAILS_COUNT)
{
this.m_page = 0;
}
this.m_collect = this.GetCollect();
this.loading = false;
this.m_dir = 0;
}
// Token: 0x06000735 RID: 1845 RVA: 0x0001E940 File Offset: 0x0001CB40
protected sealed override string[] newSceneTextureNameArray()
{
this.m_chara = UIValue.GalleryCharactor;
int num = this.m_page * this.MAX_THUMBNAILS_COUNT;
return new string[]
{
"screen/cgmemory2/cgm_bg_1",
this.GetFilenameId(this.m_chara).ToString("screen/cgmemory/cgm_bnr_cha00"),
"screen/cgmemory/cgm_kumi0",
"screen/cgmemory/cgm_kumi1",
"screen/cgmemory/cgm_kumi2",
"screen/cgmemory/cgm_kumi3",
"screen/cgmemory/cgm_kumi4",
"screen/cgmemory/cgm_kumi5",
"screen/cgmemory/cgm_kumi6",
"screen/cgmemory/cgm_kumi7",
"screen/cgmemory/cgm_kumi8",
"screen/cgmemory/cgm_kumi9",
"screen/common/cancel",
"screen/cgmemory/cgm_arwl",
"screen/cgmemory/cgm_arwr",
this.GetThumbnailName(num),
this.GetThumbnailName(num + 1),
this.GetThumbnailName(num + 2),
this.GetThumbnailName(num + 3),
this.GetThumbnailName(num + 4),
this.GetThumbnailName(num + 5),
this.GetThumbnailName(num + 6),
this.GetThumbnailName(num + 7),
this.GetThumbnailName(num + 8),
this.GetThumbnailName(num + 9),
this.GetThumbnailName(num + 10),
this.GetThumbnailName(num + 11)
};
}
// Token: 0x06000736 RID: 1846 RVA: 0x0001EAA0 File Offset: 0x0001CCA0
protected sealed override void BeforeInit()
{
}
// Token: 0x06000737 RID: 1847 RVA: 0x0001EAA4 File Offset: 0x0001CCA4
protected sealed override void AfterInit()
{
this.SetArrowAnimation("ArrowL", -1f);
this.SetArrowAnimation("ArrowR", 1f);
}
// Token: 0x06000738 RID: 1848 RVA: 0x0001EAD4 File Offset: 0x0001CCD4
protected sealed override BaseWindow.UIComponent[] newComponentArray()
{
List<BaseWindow.UIComponent> list = new List<BaseWindow.UIComponent>();
list.Add(new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/cgmemory2/cgm_bg_1", false, true));
list.Add(new BaseWindow.UIImage("Header", 0, 0, this.wndz + 1, this.GetFilenameId(this.m_chara).ToString("screen/cgmemory/cgm_bnr_cha00"), false, true));
int num = this.m_collect / 100;
int num2 = (this.m_collect - num * 100) / 10;
int num3 = this.m_collect - num * 100 - num2 * 10;
list.Add(new BaseWindow.UIImage("Per100", 581, 17, this.wndz + 2, num.ToString("screen/cgmemory/cgm_kumi0"), false, true));
list.Add(new BaseWindow.UIImage("Per010", 611, 17, this.wndz + 2, num2.ToString("screen/cgmemory/cgm_kumi0"), false, true));
list.Add(new BaseWindow.UIImage("Per001", 641, 17, this.wndz + 2, num3.ToString("screen/cgmemory/cgm_kumi0"), false, true));
int num4 = this.m_page + 1;
int num5 = num4 / 10;
int num6 = num4 - num5 * 10;
list.Add(new BaseWindow.UIImage("Page010", 792, 17, this.wndz + 2, num5.ToString("screen/cgmemory/cgm_kumi0"), false, true));
list.Add(new BaseWindow.UIImage("Page001", 822, 17, this.wndz + 2, num6.ToString("screen/cgmemory/cgm_kumi0"), false, true));
for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++)
{
int x_ = 33 + i % 4 * 224;
int y_ = 122 + i / 4 * 140;
int num7 = i + this.m_page * this.MAX_THUMBNAILS_COUNT;
string text = i.ToString("Thumbnail00");
list.Add(new BaseWindow.UIImage(text, x_, y_, this.wndz + 2, this.GetThumbnailName(num7), true, num7 < this.GetThumbnailLength()));
list.Add(new BaseWindow.UIImage("Dummy" + text, x_, y_, this.wndz + 2, this.GetThumbnailName(num7), false, false));
}
list.Add(new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 3, "screen/common/cancel", true, true, 1, 2, 0));
list.Add(new BaseWindow.UIImage("ArrowL", 33, 80, this.wndz + 3, "screen/cgmemory/cgm_arwl", false, true));
list.Add(new BaseWindow.UIImage("ArrowR", 848, 80, this.wndz + 3, "screen/cgmemory/cgm_arwr", false, true));
if (this.IsFont())
{
for (int j = 0; j < this.MAX_THUMBNAILS_COUNT; j++)
{
int x_2 = 245 + j % 4 * 224;
int y_2 = 238 + j / 4 * 140;
int index = j + this.m_page * this.MAX_THUMBNAILS_COUNT;
string fontText = this.GetFontText(index);
list.Add(new BaseWindow.UIText(j.ToString("Text00"), x_2, y_2, this.wndz + 3, fontText, 22, UnityTextSprite.PositionType.BottomRight, UnityTextSprite.PositionType.BottomRight, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue));
}
}
return list.ToArray();
}
// Token: 0x06000739 RID: 1849 RVA: 0x0001EE30 File Offset: 0x0001D030
protected override void OnBaseWindowUpdate()
{
if (this.loading)
{
if (!this.LoadCompleted())
{
return;
}
this.OnLoadCompleted();
this.loading = false;
this.m_dir = 0;
}
if (this.action)
{
return;
}
INPUT_STATUS status = UnityApp.Input.Status;
if (status == INPUT_STATUS.DRAG || status == INPUT_STATUS.FLICK)
{
SLIDE_VECTOR slideDragVector = UnityApp.Input.SlideDragVector;
if (slideDragVector != SLIDE_VECTOR.LEFT)
{
if (slideDragVector == SLIDE_VECTOR.RIGHT)
{
base.PlaySE_Select();
this.OnAllow(-1);
}
}
else
{
base.PlaySE_Select();
this.OnAllow(1);
}
}
}
// Token: 0x0600073A RID: 1850 RVA: 0x0001EEDC File Offset: 0x0001D0DC
protected sealed override void OnBaseWindowOnButton(string obj)
{
if (this.loading)
{
return;
}
if (obj != null)
{
if (this.dict == null)
{
this.dict = new Dictionary<string, int>(13)
{
{
"Thumbnail00",
0
},
{
"Thumbnail01",
0
},
{
"Thumbnail02",
0
},
{
"Thumbnail03",
0
},
{
"Thumbnail04",
0
},
{
"Thumbnail05",
0
},
{
"Thumbnail06",
0
},
{
"Thumbnail07",
0
},
{
"Thumbnail08",
0
},
{
"Thumbnail09",
0
},
{
"Thumbnail10",
0
},
{
"Thumbnail11",
0
},
{
"Cancel",
1
}
};
}
int num;
if (this.dict.TryGetValue(obj, out num))
{
if (num != 0)
{
if (num == 1)
{
base.PlaySE_Cancel();
SceneManager.BackScene();
}
}
else
{
int index = this.m_page * this.MAX_THUMBNAILS_COUNT + this.ButtonNameToThumbnailId(obj);
if (this.IsSelectable(index))
{
this.action = true;
base.PlaySE_Ok();
this.OnSelect(index);
}
}
}
}
}
// Token: 0x0600073B RID: 1851 RVA: 0x0001F020 File Offset: 0x0001D220
private void SetArrowAnimation(string name, float dir)
{
float delay = 0f;
int repeat = 0;
float speed = 0.5f;
ImageObject component = base.GetGameObject(name).GetComponent<ImageObject>();
component.AddImageAnimation(new ImageAnimationLocalPosition(repeat, speed, delay, MoveType.LoopSin000to180, new Vector3(0f, 0f, 0f), new Vector3(25f * dir, 0f, 0f)));
}
// Token: 0x0600073C RID: 1852 RVA: 0x0001F084 File Offset: 0x0001D284
private void OnAllow(int dir)
{
this.loading = true;
this.m_dir = dir;
int num = this.pageCountLoop(this.m_page + this.m_dir);
for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++)
{
int index = i + num * this.MAX_THUMBNAILS_COUNT;
string name = i.ToString("DummyThumbnail00");
base.SetTexture(name, this.GetThumbnailName(index));
}
}
// Token: 0x0600073D RID: 1853 RVA: 0x0001F0F0 File Offset: 0x0001D2F0
private bool LoadCompleted()
{
for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++)
{
string name = i.ToString("DummyThumbnail00");
if (!this.LoadCompleted(base.GetGameObject(name)))
{
return false;
}
}
return true;
}
// Token: 0x0600073E RID: 1854 RVA: 0x0001F138 File Offset: 0x0001D338
private void OnLoadCompleted()
{
this.m_page = this.pageCountLoop(this.m_page + this.m_dir);
UIValue.GalleryPage = this.m_page;
int num = this.m_page + 1;
int num2 = num / 10;
int num3 = num - num2 * 10;
base.SetTexture("Page010", num2.ToString("screen/cgmemory/cgm_kumi0"));
base.SetTexture("Page001", num3.ToString("screen/cgmemory/cgm_kumi0"));
for (int i = 0; i < this.MAX_THUMBNAILS_COUNT; i++)
{
int num4 = i + this.m_page * this.MAX_THUMBNAILS_COUNT;
string name = i.ToString("Thumbnail00");
base.SetTexture(name, this.GetThumbnailName(num4));
base.GameObjectShow(name, num4 < this.GetThumbnailLength());
if (this.IsFont())
{
int x = 245 + i % 4 * 224;
int y = 238 + i / 4 * 140;
this.SetFontStr(base.GetTextSprite(i.ToString("Text00")), this.GetFontText(num4), x, y);
}
}
}
// Token: 0x0600073F RID: 1855 RVA: 0x0001F258 File Offset: 0x0001D458
private bool LoadCompleted(GameObject go)
{
ImageObject component = go.GetComponent<ImageObject>();
return component == null || component.LoadCompleted;
}
// Token: 0x06000740 RID: 1856 RVA: 0x0001F280 File Offset: 0x0001D480
private void SetFontStr(UnityTextSprite text, string str, int x, int y)
{
text.ClearText();
text.AddText(str, 22);
text.CalcSize();
text.x = x - text.w;
text.y = y - text.h;
text.Update(960, 544, -3f);
}
// Token: 0x06000741 RID: 1857 RVA: 0x0001F2D8 File Offset: 0x0001D4D8
private int GetFilenameId(int i)
{
return i + 1;
}
// Token: 0x06000742 RID: 1858 RVA: 0x0001F2E0 File Offset: 0x0001D4E0
private int ButtonNameToThumbnailId(string obj)
{
switch (obj)
{
case "Thumbnail00":
return 0;
case "Thumbnail01":
return 1;
case "Thumbnail02":
return 2;
case "Thumbnail03":
return 3;
case "Thumbnail04":
return 4;
case "Thumbnail05":
return 5;
case "Thumbnail06":
return 6;
case "Thumbnail07":
return 7;
case "Thumbnail08":
return 8;
case "Thumbnail09":
return 9;
case "Thumbnail10":
return 10;
case "Thumbnail11":
return 11;
}
return -1;
}
// Token: 0x0400069D RID: 1693
protected readonly int MAX_THUMBNAILS_COUNT = 12;
// Token: 0x0400069E RID: 1694
private int m_chara;
// Token: 0x0400069F RID: 1695
private int m_page;
// Token: 0x040006A0 RID: 1696
private int m_collect;
// Token: 0x040006A1 RID: 1697
private bool loading;
// Token: 0x040006A2 RID: 1698
private bool action;
// Token: 0x040006A3 RID: 1699
private int m_dir;
// Token: 0x040006A4 RID: 1700
private readonly int wndz;
}