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.
320 lines
8.0 KiB
C#
320 lines
8.0 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Qoo;
|
|
using Qoo.Application;
|
|
using Qoo.Def;
|
|
using Qoo.Game;
|
|
using Qoo.Input;
|
|
using Qoo.Select;
|
|
using Qoo.SoundSystem;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x020000BD RID: 189
|
|
public class SelectWnd : Singleton<SelectWnd>
|
|
{
|
|
// Token: 0x170000CF RID: 207
|
|
// (get) Token: 0x060005A2 RID: 1442 RVA: 0x000169CC File Offset: 0x00014BCC
|
|
// (set) Token: 0x060005A3 RID: 1443 RVA: 0x000169D4 File Offset: 0x00014BD4
|
|
private static int SelectNo
|
|
{
|
|
get
|
|
{
|
|
return SelectWnd.m_nSelectNo;
|
|
}
|
|
set
|
|
{
|
|
SelectWnd.m_nSelectNo = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170000D0 RID: 208
|
|
// (get) Token: 0x060005A4 RID: 1444 RVA: 0x000169DC File Offset: 0x00014BDC
|
|
// (set) Token: 0x060005A5 RID: 1445 RVA: 0x000169E4 File Offset: 0x00014BE4
|
|
public bool IsRun { get; private set; }
|
|
|
|
// Token: 0x060005A6 RID: 1446 RVA: 0x000169F0 File Offset: 0x00014BF0
|
|
private void Awake()
|
|
{
|
|
this.Init();
|
|
base.enabled = false;
|
|
}
|
|
|
|
// Token: 0x060005A7 RID: 1447 RVA: 0x00016A00 File Offset: 0x00014C00
|
|
private void Update()
|
|
{
|
|
if (SelectWnd.m_SelectBtn.Count == 0)
|
|
{
|
|
return;
|
|
}
|
|
if (this.IsSelectEnd())
|
|
{
|
|
return;
|
|
}
|
|
if (KsInput.IsMenu)
|
|
{
|
|
return;
|
|
}
|
|
if (base.QooGraph.IsFade)
|
|
{
|
|
return;
|
|
}
|
|
if (KsInput.State == INPUT_STATE.JUMP_NEXT)
|
|
{
|
|
return;
|
|
}
|
|
foreach (SelectBtn selectBtn in SelectWnd.m_SelectBtn)
|
|
{
|
|
selectBtn.Restore();
|
|
selectBtn.Show(true);
|
|
}
|
|
switch (UnityApp.Input.Status)
|
|
{
|
|
case INPUT_STATUS.PUSH:
|
|
foreach (SelectBtn selectBtn2 in SelectWnd.m_SelectBtn)
|
|
{
|
|
selectBtn2.Select(selectBtn2.IsHit(UnityApp.Input.Start));
|
|
}
|
|
break;
|
|
case INPUT_STATUS.CLICK:
|
|
for (int num = 0; num != SelectWnd.m_SelectBtn.Count; num++)
|
|
{
|
|
SelectWnd.m_SelectBtn[num].Select(false);
|
|
}
|
|
for (int num2 = 0; num2 != SelectWnd.m_SelectBtn.Count; num2++)
|
|
{
|
|
SelectBtn selectBtn3 = SelectWnd.m_SelectBtn[num2];
|
|
if (selectBtn3.IsHit(UnityApp.Input.End))
|
|
{
|
|
this.Select(num2);
|
|
return;
|
|
}
|
|
}
|
|
break;
|
|
case INPUT_STATUS.DRAG_ON:
|
|
break;
|
|
default:
|
|
foreach (SelectBtn selectBtn4 in SelectWnd.m_SelectBtn)
|
|
{
|
|
selectBtn4.Select(false);
|
|
}
|
|
break;
|
|
}
|
|
if (Qoo.Debug.IsAutoKsDebug)
|
|
{
|
|
this.Select(App.GetRandom(SelectWnd.m_SelectBtn.Count));
|
|
}
|
|
}
|
|
|
|
// Token: 0x060005A8 RID: 1448 RVA: 0x00016C44 File Offset: 0x00014E44
|
|
private void Select(int index)
|
|
{
|
|
Sound.SE_Ok();
|
|
SelectBtn selectBtn = SelectWnd.m_SelectBtn[index];
|
|
selectBtn.Select(true);
|
|
Qoo.Debug.Print("Select:" + index);
|
|
base.enabled = false;
|
|
if (this.m_isAuto)
|
|
{
|
|
KsInput.State = INPUT_STATE.AUTO;
|
|
Singleton<MsgWnd>.Instance.IsAutoSkip = true;
|
|
}
|
|
base.StartCoroutine(this.WaitEnd(index, App.QooSelect.IsAnim(index)));
|
|
}
|
|
|
|
// Token: 0x060005A9 RID: 1449 RVA: 0x00016CBC File Offset: 0x00014EBC
|
|
private IEnumerator WaitEnd(int select, bool IsAnim)
|
|
{
|
|
if (IsAnim)
|
|
{
|
|
this.m_LoveAnim = Man2D.Sprite("sys_love.png");
|
|
Point2 pos = SelectWnd.m_SelectBtn[select].GetPos();
|
|
if (App.QooSelect.IsGrp())
|
|
{
|
|
pos.x += 50;
|
|
pos.y += 186;
|
|
}
|
|
else
|
|
{
|
|
pos.x += 364;
|
|
pos.y += -18;
|
|
}
|
|
this.m_LoveAnim.SetPos(pos.x, pos.y, 783);
|
|
this.m_LoveAnim.SetPtnNum(7, 2);
|
|
this.m_LoveAnim.SetPtnPos(0, 0);
|
|
this.m_LoveAnim.RepeatUVAnim(false);
|
|
this.m_LoveAnim.SetUVAnimWait(4);
|
|
this.m_LoveAnim.EnableUVAnim(true);
|
|
while (this.m_LoveAnim.IsEnableUVAnim())
|
|
{
|
|
yield return 0;
|
|
if (this.m_LoveAnim == null)
|
|
{
|
|
IL_198:
|
|
Singleton<Man2D>.Instance.RemoveSprite(this.m_LoveAnim);
|
|
this.m_LoveAnim = null;
|
|
goto IL_1DB;
|
|
}
|
|
}
|
|
goto IL_198;
|
|
}
|
|
yield return new WaitForSeconds(1f);
|
|
IL_1DB:
|
|
SelectWnd.SelectNo = select;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x060005AA RID: 1450 RVA: 0x00016CF4 File Offset: 0x00014EF4
|
|
public void OnDestroy()
|
|
{
|
|
this.Init();
|
|
}
|
|
|
|
// Token: 0x060005AB RID: 1451 RVA: 0x00016CFC File Offset: 0x00014EFC
|
|
public void Init()
|
|
{
|
|
this.ReleaseBtn();
|
|
SelectWnd.SelectNo = -1;
|
|
if (Singleton<Man2D>.IsReady && this.m_LoveAnim != null)
|
|
{
|
|
Singleton<Man2D>.Instance.RemoveSprite(this.m_LoveAnim);
|
|
}
|
|
this.m_LoveAnim = null;
|
|
}
|
|
|
|
// Token: 0x060005AC RID: 1452 RVA: 0x00016D44 File Offset: 0x00014F44
|
|
public void ReleaseBtn()
|
|
{
|
|
foreach (SelectBtn selectBtn in SelectWnd.m_SelectBtn)
|
|
{
|
|
selectBtn.Release();
|
|
}
|
|
SelectWnd.m_SelectBtn.Clear();
|
|
}
|
|
|
|
// Token: 0x060005AD RID: 1453 RVA: 0x00016DB4 File Offset: 0x00014FB4
|
|
public void Begin(bool p, bool bReaded, string nameTable)
|
|
{
|
|
Qoo.Debug.Assert(App.QooSelect.Count > 0, "選択肢が登録されていません");
|
|
this.Init();
|
|
this.m_isAuto = KsInput.IsAuto;
|
|
if (this.m_isAuto)
|
|
{
|
|
Singleton<MsgWnd>.Instance.IsAutoSkip = false;
|
|
KsInput.Clear();
|
|
}
|
|
UnityApp.Input.Clear();
|
|
UnityApp.Input.IsOnePushDelete = true;
|
|
UnityTask.SetSubTask(this.CreateSelectBtn(bReaded, nameTable));
|
|
this.IsRun = true;
|
|
}
|
|
|
|
// Token: 0x060005AE RID: 1454 RVA: 0x00016E30 File Offset: 0x00015030
|
|
private IEnumerator CreateSelectBtn(bool bReaded, string nameTable)
|
|
{
|
|
foreach (SelectItem item in App.QooSelect.SelectAr)
|
|
{
|
|
if (item.IsGrpFile)
|
|
{
|
|
Man2D.ReadyTexture(item.Select, true);
|
|
}
|
|
}
|
|
yield return 0;
|
|
foreach (SelectItem item2 in App.QooSelect.SelectAr)
|
|
{
|
|
if (item2.IsGrpFile)
|
|
{
|
|
while (!Man2D.IsUseTexture(item2.Select))
|
|
{
|
|
yield return base.StartCoroutine(Singleton<TaskManager>.Instance.RunReadTask());
|
|
}
|
|
}
|
|
}
|
|
Point2[] pos = SelectDef.GetBtnPos(nameTable, App.QooSelect.IsGrp(), App.QooSelect.Count);
|
|
int count = 0;
|
|
foreach (SelectItem item3 in App.QooSelect.SelectAr)
|
|
{
|
|
SelectBtn btn = new SelectBtn();
|
|
if (item3.IsGrpFile)
|
|
{
|
|
btn.CreateGrpBtn(item3.Select, bReaded && SysData.IsReadedMark(item3.Ks, item3.Label), count);
|
|
}
|
|
else
|
|
{
|
|
btn.CreateTxtBtn(item3.Select, bReaded && SysData.IsReadedMark(item3.Ks, item3.Label));
|
|
}
|
|
btn.SetPos(pos[SelectWnd.m_SelectBtn.Count]);
|
|
SelectWnd.m_SelectBtn.Add(btn);
|
|
count++;
|
|
}
|
|
base.enabled = true;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x060005AF RID: 1455 RVA: 0x00016E68 File Offset: 0x00015068
|
|
public void End()
|
|
{
|
|
Qoo.Debug.Assert(App.QooSelect.SelectAr.Count > 0, "選択肢が登録されていません");
|
|
App.QooSelect.Clear();
|
|
this.ReleaseBtn();
|
|
if (Singleton<Man2D>.IsReady && this.m_LoveAnim != null)
|
|
{
|
|
Singleton<Man2D>.Instance.RemoveSprite(this.m_LoveAnim);
|
|
}
|
|
this.m_LoveAnim = null;
|
|
this.IsRun = false;
|
|
}
|
|
|
|
// Token: 0x060005B0 RID: 1456 RVA: 0x00016ED8 File Offset: 0x000150D8
|
|
public int GetSelectNo()
|
|
{
|
|
return SelectWnd.SelectNo;
|
|
}
|
|
|
|
// Token: 0x060005B1 RID: 1457 RVA: 0x00016EE0 File Offset: 0x000150E0
|
|
public int GetSelectNum()
|
|
{
|
|
return App.QooSelect.SelectAr.Count;
|
|
}
|
|
|
|
// Token: 0x060005B2 RID: 1458 RVA: 0x00016EF4 File Offset: 0x000150F4
|
|
public bool IsGrp()
|
|
{
|
|
return App.QooSelect.IsGrp();
|
|
}
|
|
|
|
// Token: 0x060005B3 RID: 1459 RVA: 0x00016F00 File Offset: 0x00015100
|
|
public string GetSelectKs()
|
|
{
|
|
Qoo.Debug.Assert(App.QooSelect.SelectAr.Count > 0, "選択肢が登録されていません");
|
|
Qoo.Debug.Assert(SelectWnd.SelectNo >= 0 && SelectWnd.SelectNo < App.QooSelect.SelectAr.Count, "選択結果が選択肢の範囲に収まっていません");
|
|
return App.QooSelect.SelectAr[SelectWnd.SelectNo].Ks;
|
|
}
|
|
|
|
// Token: 0x060005B4 RID: 1460 RVA: 0x00016F70 File Offset: 0x00015170
|
|
public string GetSelectLabel()
|
|
{
|
|
Qoo.Debug.Assert(App.QooSelect.SelectAr.Count > 0, "選択肢が登録されていません");
|
|
Qoo.Debug.Assert(SelectWnd.SelectNo >= 0 && SelectWnd.SelectNo < App.QooSelect.SelectAr.Count, "選択結果が選択肢の範囲に収まっていません");
|
|
return App.QooSelect.SelectAr[SelectWnd.SelectNo].Label;
|
|
}
|
|
|
|
// Token: 0x060005B5 RID: 1461 RVA: 0x00016FE0 File Offset: 0x000151E0
|
|
public bool IsSelectEnd()
|
|
{
|
|
return SelectWnd.SelectNo >= 0;
|
|
}
|
|
|
|
// Token: 0x04000422 RID: 1058
|
|
private static List<SelectBtn> m_SelectBtn = new List<SelectBtn>();
|
|
|
|
// Token: 0x04000423 RID: 1059
|
|
private static int m_nSelectNo = -1;
|
|
|
|
// Token: 0x04000424 RID: 1060
|
|
private bool m_isAuto;
|
|
|
|
// Token: 0x04000425 RID: 1061
|
|
private UnitySprite m_LoveAnim;
|
|
}
|