828 lines
32 KiB
C#
828 lines
32 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using DB;
|
|
using Mai2.Mai2Cue;
|
|
using MAI2.Util;
|
|
using MAI2System;
|
|
using Manager;
|
|
using Manager.MaiStudio;
|
|
using Manager.UserDatas;
|
|
using Process;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x02000160 RID: 352
|
|
public class KaleidxScopeTotalResultState : StateMachineBase<KaleidxScopeTotalResultState, KaleidxScopeTotalResultState.StateType>
|
|
{
|
|
// Token: 0x17000143 RID: 323
|
|
// (get) Token: 0x06000C8B RID: 3211 RVA: 0x0003A701 File Offset: 0x00039901
|
|
// (set) Token: 0x06000C8A RID: 3210 RVA: 0x0003A6F8 File Offset: 0x000398F8
|
|
public bool timeUp { get; set; }
|
|
|
|
// Token: 0x17000144 RID: 324
|
|
// (get) Token: 0x06000C8D RID: 3213 RVA: 0x0003A712 File Offset: 0x00039912
|
|
// (set) Token: 0x06000C8C RID: 3212 RVA: 0x0003A709 File Offset: 0x00039909
|
|
public bool moveToNextProcess { get; private set; }
|
|
|
|
// Token: 0x17000145 RID: 325
|
|
// (get) Token: 0x06000C8F RID: 3215 RVA: 0x0003A723 File Offset: 0x00039923
|
|
// (set) Token: 0x06000C8E RID: 3214 RVA: 0x0003A71A File Offset: 0x0003991A
|
|
public KaleidxScopeTotalResultState.NextProcessType nextProcess { get; private set; }
|
|
|
|
// Token: 0x17000146 RID: 326
|
|
// (get) Token: 0x06000C91 RID: 3217 RVA: 0x0003A734 File Offset: 0x00039934
|
|
// (set) Token: 0x06000C90 RID: 3216 RVA: 0x0003A72B File Offset: 0x0003992B
|
|
public bool skipUnlockMusic { get; private set; }
|
|
|
|
// Token: 0x06000C92 RID: 3218 RVA: 0x0003A73C File Offset: 0x0003993C
|
|
public void Initalize(List<KaleidxScopeTotalResultMonitor> _monitorList, ProcessDataContainer _container)
|
|
{
|
|
this.monitorList = _monitorList;
|
|
this.container = _container;
|
|
this.timeUp = false;
|
|
this.moveToNextProcess = false;
|
|
this.nextProcess = KaleidxScopeTotalResultState.NextProcessType.KaleidxScopeUnlock;
|
|
this.skipUnlockMusic = false;
|
|
base.ChangeState(new KaleidxScopeTotalResultState.Fade(this, KaleidxScopeTotalResultState.StateType.Fade));
|
|
}
|
|
|
|
// Token: 0x06000C93 RID: 3219 RVA: 0x0003A778 File Offset: 0x00039978
|
|
private void ShowWaitWindowLower(int monitorIndex)
|
|
{
|
|
ProcessManager processManager = this.container.processManager;
|
|
if (!processManager.IsOpening(monitorIndex, WindowPositionID.Lower))
|
|
{
|
|
processManager.EnqueueMessage(monitorIndex, WindowMessageID.PlayPreparationWait, WindowPositionID.Lower, null);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000C94 RID: 3220 RVA: 0x0003A7A8 File Offset: 0x000399A8
|
|
private void HideWaitWindowLower(int monitorIndex)
|
|
{
|
|
ProcessManager processManager = this.container.processManager;
|
|
if (!processManager.IsOpening(monitorIndex, WindowPositionID.Lower))
|
|
{
|
|
return;
|
|
}
|
|
processManager.ForcedCloseWindow(monitorIndex);
|
|
}
|
|
|
|
// Token: 0x040009D1 RID: 2513
|
|
private List<KaleidxScopeTotalResultMonitor> monitorList = new List<KaleidxScopeTotalResultMonitor>();
|
|
|
|
// Token: 0x040009D2 RID: 2514
|
|
private ProcessDataContainer container;
|
|
|
|
// Token: 0x040009D6 RID: 2518
|
|
public List<int> rewardMusicID = new List<int>();
|
|
|
|
// Token: 0x02000A29 RID: 2601
|
|
public enum StateType
|
|
{
|
|
// Token: 0x04006334 RID: 25396
|
|
Fade,
|
|
// Token: 0x04006335 RID: 25397
|
|
Update,
|
|
// Token: 0x04006336 RID: 25398
|
|
UnlockMusic,
|
|
// Token: 0x04006337 RID: 25399
|
|
TimeUp,
|
|
// Token: 0x04006338 RID: 25400
|
|
Release
|
|
}
|
|
|
|
// Token: 0x02000A2A RID: 2602
|
|
public enum NextProcessType
|
|
{
|
|
// Token: 0x0400633A RID: 25402
|
|
KaleidxScopeUnlock,
|
|
// Token: 0x0400633B RID: 25403
|
|
TotalResult
|
|
}
|
|
|
|
// Token: 0x02000A2B RID: 2603
|
|
public class Fade : StateBase<KaleidxScopeTotalResultState, KaleidxScopeTotalResultState.StateType>
|
|
{
|
|
// Token: 0x06004E27 RID: 20007 RVA: 0x001A0E8C File Offset: 0x001A008C
|
|
public Fade(KaleidxScopeTotalResultState _stateMachine, KaleidxScopeTotalResultState.StateType _enumState)
|
|
: base(_stateMachine, _enumState)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E28 RID: 20008 RVA: 0x001A0E98 File Offset: 0x001A0098
|
|
public override void OnEnter()
|
|
{
|
|
ProcessDataContainer container = this.stateMachine.container;
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (!kaleidxScopeTotalResultMonitor.entry)
|
|
{
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50004, new object[] { i, true }));
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50006, new object[] { i, false }));
|
|
}
|
|
else
|
|
{
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50004, new object[] { i, false }));
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50006, new object[] { i, true }));
|
|
UserData userData = Singleton<UserDataManager>.Instance.GetUserData((long)i);
|
|
kaleidxScopeTotalResultMonitor.kaleidxScopePhase = Singleton<KaleidxScopeManager>.Instance.GetUserKaleidxScopePhase(userData);
|
|
}
|
|
}
|
|
bool flag = Singleton<KaleidxScopeManager>.Instance.IsEntryBanUser();
|
|
bool flag2 = Singleton<KaleidxScopeManager>.Instance.gateTypeID != GateTypeID.Normal;
|
|
this.stateMachine.skipUnlockMusic = flag2 && flag;
|
|
if (!(bool)container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50010, Array.Empty<object>())))
|
|
{
|
|
HashSet<CommonProcess.MovieType> necessaryKaleidxScopeMovieSet = Singleton<KaleidxScopeManager>.Instance.GetNecessaryKaleidxScopeMovieSet(!this.stateMachine.skipUnlockMusic);
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50011, new object[] { necessaryKaleidxScopeMovieSet }));
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004E29 RID: 20009 RVA: 0x00003598 File Offset: 0x00002798
|
|
public override void OnUpdateInput()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E2A RID: 20010 RVA: 0x001A1048 File Offset: 0x001A0248
|
|
public override void OnUpdate()
|
|
{
|
|
ProcessDataContainer container = this.stateMachine.container;
|
|
if (!(bool)container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50007, Array.Empty<object>())))
|
|
{
|
|
return;
|
|
}
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
UserData userData = Singleton<UserDataManager>.Instance.GetUserData((long)i);
|
|
switch (Singleton<KaleidxScopeManager>.Instance.GetUserKaleidxScopePhase(userData))
|
|
{
|
|
case KaleidxScopeManager.KaleidxScopePhase.Normal:
|
|
case KaleidxScopeManager.KaleidxScopePhase.FoundCenterTower:
|
|
case KaleidxScopeManager.KaleidxScopePhase.AllClear:
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50013, new object[]
|
|
{
|
|
i,
|
|
CommonProcess.MovieType.Kaleidx_01
|
|
}));
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50014, new object[] { CommonProcess.MovieType.Kaleidx_01 }));
|
|
break;
|
|
case KaleidxScopeManager.KaleidxScopePhase.CenterTowerCleared:
|
|
case KaleidxScopeManager.KaleidxScopePhase.AfterLoseEvent:
|
|
case KaleidxScopeManager.KaleidxScopePhase.OpenHopeGate:
|
|
case KaleidxScopeManager.KaleidxScopePhase.ClearHopeGate:
|
|
case KaleidxScopeManager.KaleidxScopePhase.LastBoss:
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50013, new object[]
|
|
{
|
|
i,
|
|
CommonProcess.MovieType.Kaleidx_02
|
|
}));
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50014, new object[] { CommonProcess.MovieType.Kaleidx_02 }));
|
|
break;
|
|
default:
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50013, new object[]
|
|
{
|
|
i,
|
|
CommonProcess.MovieType.Kaleidx_01
|
|
}));
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50014, new object[] { CommonProcess.MovieType.Kaleidx_01 }));
|
|
break;
|
|
}
|
|
}
|
|
container.processManager.SendMessage(new Message(ProcessType.CommonProcess, 50008, Array.Empty<object>()));
|
|
this.stateMachine.container.processManager.NotificationFadeIn(false);
|
|
this.stateMachine.ChangeState(new KaleidxScopeTotalResultState.Update(this.stateMachine, KaleidxScopeTotalResultState.StateType.Update));
|
|
}
|
|
|
|
// Token: 0x06004E2B RID: 20011 RVA: 0x001A122A File Offset: 0x001A042A
|
|
public override void OnExit()
|
|
{
|
|
base.OnExit();
|
|
}
|
|
}
|
|
|
|
// Token: 0x02000A2C RID: 2604
|
|
public class Update : StateBase<KaleidxScopeTotalResultState, KaleidxScopeTotalResultState.StateType>
|
|
{
|
|
// Token: 0x06004E2C RID: 20012 RVA: 0x001A0E8C File Offset: 0x001A008C
|
|
public Update(KaleidxScopeTotalResultState _stateMachine, KaleidxScopeTotalResultState.StateType _enumState)
|
|
: base(_stateMachine, _enumState)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E2D RID: 20013 RVA: 0x001A1234 File Offset: 0x001A0434
|
|
public override void OnEnter()
|
|
{
|
|
this.timer = 0f;
|
|
this.bothSkip = false;
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
kaleidxScopeTotalResultMonitor.Skip = !kaleidxScopeTotalResultMonitor.entry;
|
|
if (kaleidxScopeTotalResultMonitor.entry)
|
|
{
|
|
KaleidxScopeTotalResultController kaleidxScopeTotalResultController = kaleidxScopeTotalResultMonitor.GetKaleidxScopeTotalResultController();
|
|
kaleidxScopeTotalResultController.monitorIndex = i;
|
|
int restLife = Singleton<KaleidxScopeManager>.Instance.GetRestLife(i);
|
|
UserData userData = Singleton<UserDataManager>.Instance.GetUserData((long)i);
|
|
List<UserKaleidxScope> validKaleidxScopeList = Singleton<KaleidxScopeManager>.Instance.GetValidKaleidxScopeList(userData);
|
|
bool flag = false;
|
|
bool flag2 = false;
|
|
foreach (UserKaleidxScope userKaleidxScope in validKaleidxScopeList)
|
|
{
|
|
if (userKaleidxScope.gateId == Singleton<KaleidxScopeManager>.Instance.gateId && userKaleidxScope.isGateFound && userKaleidxScope.isKeyFound && !this.stateMachine.skipUnlockMusic)
|
|
{
|
|
flag = true;
|
|
flag2 = userKaleidxScope.isClear;
|
|
break;
|
|
}
|
|
}
|
|
if (flag && restLife > 0)
|
|
{
|
|
kaleidxScopeTotalResultController.PlayAnimation(KaleidxScopeTotalResultController.AnimState.InClear);
|
|
kaleidxScopeTotalResultMonitor.skipButtonWaitTime = 5f;
|
|
if (Singleton<KaleidxScopeManager>.Instance.IsEqualsGateType(GateTypeID.Hope) || Singleton<KaleidxScopeManager>.Instance.IsEqualsGateType(GateTypeID.LastBoss))
|
|
{
|
|
kaleidxScopeTotalResultController.SetVisibleFrame(false);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
kaleidxScopeTotalResultController.PlayAnimation(KaleidxScopeTotalResultController.AnimState.In);
|
|
kaleidxScopeTotalResultMonitor.skipButtonWaitTime = 3f;
|
|
kaleidxScopeTotalResultController.SetVisibleFrame(true);
|
|
}
|
|
if (Singleton<KaleidxScopeManager>.Instance.IsChallengeExLife)
|
|
{
|
|
kaleidxScopeTotalResultController.PlayLifeAnimation(KaleidxScopeTotalResultController.LifeAnimState.Special_Result_In);
|
|
}
|
|
else
|
|
{
|
|
kaleidxScopeTotalResultController.PlayLifeAnimation(KaleidxScopeTotalResultController.LifeAnimState.Result_In);
|
|
}
|
|
KaleidxScopeResultTextController resultTextController = kaleidxScopeTotalResultController.GetResultTextController();
|
|
if (flag && restLife > 0)
|
|
{
|
|
resultTextController.SetClearTextVisable(true);
|
|
resultTextController.SetFailedTextVisable(false);
|
|
resultTextController.SetEffectVisable(true);
|
|
SoundManager.PlaySE(Cue.SE_KALEID_CLEAR, i);
|
|
}
|
|
else if (flag && restLife <= 0)
|
|
{
|
|
resultTextController.SetClearTextVisable(false);
|
|
resultTextController.SetFailedTextVisable(true);
|
|
resultTextController.SetEffectVisable(false);
|
|
}
|
|
else
|
|
{
|
|
resultTextController.SetClearTextVisable(false);
|
|
resultTextController.SetFailedTextVisable(false);
|
|
resultTextController.SetEffectVisable(false);
|
|
}
|
|
if (flag && restLife > 0 && !flag2)
|
|
{
|
|
kaleidxScopeTotalResultMonitor.unlockMusic = true;
|
|
Singleton<KaleidxScopeManager>.Instance.firstClearList[i] = true;
|
|
}
|
|
}
|
|
}
|
|
for (int j = 0; j < 2; j++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor2 = this.stateMachine.monitorList[j];
|
|
if (kaleidxScopeTotalResultMonitor2.entry)
|
|
{
|
|
kaleidxScopeTotalResultMonitor2.GetKaleidxScopeTotalResultController().GetResultListController().SetTrackDatasVisable(Singleton<GamePlayManager>.Instance.GetScoreListCount());
|
|
}
|
|
}
|
|
for (int k = 0; k < 2; k++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor3 = this.stateMachine.monitorList[k];
|
|
if (kaleidxScopeTotalResultMonitor3.entry)
|
|
{
|
|
KaleidxScopeResultListController resultListController = kaleidxScopeTotalResultMonitor3.GetKaleidxScopeTotalResultController().GetResultListController();
|
|
List<KOP_ResultTrackData> resultTrackDatas = resultListController.GetResultTrackDatas();
|
|
uint num = 0U;
|
|
int num2 = 0;
|
|
int scoreListCount = Singleton<GamePlayManager>.Instance.GetScoreListCount();
|
|
for (int l = 0; l < scoreListCount; l++)
|
|
{
|
|
GameScoreList gameScore = Singleton<GamePlayManager>.Instance.GetGameScore(k, l);
|
|
int musicId = gameScore.SessionInfo.musicId;
|
|
MusicData music = Singleton<DataManager>.Instance.GetMusic(musicId);
|
|
int difficulty = gameScore.SessionInfo.difficulty;
|
|
string str = music.name.str;
|
|
ConstParameter.ScoreKind scoreKind = GameManager.GetScoreKind(musicId);
|
|
Texture2D jacketThumbTexture2D = this.stateMachine.container.assetManager.GetJacketThumbTexture2D(music.thumbnailName);
|
|
uint achivement = Singleton<GamePlayManager>.Instance.GetAchivement(k, l);
|
|
int deluxeScore = (int)Singleton<GamePlayManager>.Instance.GetDeluxeScore(k, l);
|
|
Notes notes = music.notesData[difficulty];
|
|
int level = notes.level;
|
|
MusicLevelID musicLevelID = (MusicLevelID)notes.musicLevelID;
|
|
bool flag3 = false;
|
|
if (Singleton<KaleidxScopeManager>.Instance.IsEqualsGateType(GateTypeID.Boss))
|
|
{
|
|
flag3 = gameScore.IsSpecialMusic;
|
|
}
|
|
else if (Singleton<KaleidxScopeManager>.Instance.IsEqualsGateType(GateTypeID.LastBoss))
|
|
{
|
|
flag3 = gameScore.IsSpecialMusic && Singleton<GamePlayManager>.Instance.IsSkipGame();
|
|
}
|
|
resultTrackDatas[l].Initialize(flag3);
|
|
resultTrackDatas[l].SetDisplay(true);
|
|
resultTrackDatas[l].SetMusicData(l, str, scoreKind, jacketThumbTexture2D, Singleton<DataManager>.Instance.IsLong(music.longMusic));
|
|
resultTrackDatas[l].SetDeluxeScore(deluxeScore);
|
|
resultTrackDatas[l].SetDifficultyLevel(level, musicLevelID, difficulty);
|
|
resultTrackDatas[l].SetAchievementData(achivement);
|
|
num += achivement;
|
|
num2 += deluxeScore;
|
|
}
|
|
resultListController.SetTotalAchievement(num);
|
|
resultListController.SetTotalDeluxeScore(num2);
|
|
resultListController.SetKaleidxScopeLife(Singleton<KaleidxScopeManager>.Instance.restLifeList[k]);
|
|
Singleton<KaleidxScopeManager>.Instance.totalAchievementList[k] = num;
|
|
Singleton<KaleidxScopeManager>.Instance.totalDeluxeScoreList[k] = num2;
|
|
}
|
|
}
|
|
for (int m = 0; m < 2; m++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor4 = this.stateMachine.monitorList[m];
|
|
if (kaleidxScopeTotalResultMonitor4.entry)
|
|
{
|
|
KaleidxScopeTotalResultController kaleidxScopeTotalResultController2 = kaleidxScopeTotalResultMonitor4.GetKaleidxScopeTotalResultController();
|
|
KaleidxScopeResultCharaController resultCharaController = kaleidxScopeTotalResultController2.GetResultCharaController();
|
|
KaleidxScopeResultCharaController.SpriteType spriteType = this.ConvertGateIdToCharaSpriteType(Singleton<KaleidxScopeManager>.Instance.gateId);
|
|
resultCharaController.ChangeSprite(spriteType);
|
|
KaleidxScopeResultIconController resultIconController = kaleidxScopeTotalResultController2.GetResultIconController();
|
|
KaleidxScopeResultIconController.SpriteType spriteType2 = this.ConvertGateIdToIconSpriteType(Singleton<KaleidxScopeManager>.Instance.gateId);
|
|
resultIconController.ChangeSprite(spriteType2);
|
|
}
|
|
}
|
|
Singleton<KaleidxScopeManager>.Instance.PlayBGMUserKaleidxScopePhase(this.stateMachine.monitorList[0].entry, this.stateMachine.monitorList[1].entry, this.stateMachine.monitorList[0].kaleidxScopePhase, this.stateMachine.monitorList[1].kaleidxScopePhase, true);
|
|
}
|
|
|
|
// Token: 0x06004E2E RID: 20014 RVA: 0x001A17A4 File Offset: 0x001A09A4
|
|
public override void OnUpdateInput()
|
|
{
|
|
if (this.stateMachine.timeUp)
|
|
{
|
|
return;
|
|
}
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (kaleidxScopeTotalResultMonitor.entry && kaleidxScopeTotalResultMonitor.skipButtonWaitTime <= 0f && !kaleidxScopeTotalResultMonitor.Skip && InputManager.GetButtonDown(i, InputManager.ButtonSetting.Button04))
|
|
{
|
|
kaleidxScopeTotalResultMonitor.Skip = true;
|
|
KaleidxScopeTotalResultButtonController buttonController = kaleidxScopeTotalResultMonitor.GetButtonController();
|
|
buttonController.SetButtons(KaleidxScopeTotalResultButtonController.ButtonControlType.NextOut);
|
|
buttonController.SetAnimationActive(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004E2F RID: 20015 RVA: 0x001A1820 File Offset: 0x001A0A20
|
|
public override void OnUpdate()
|
|
{
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (kaleidxScopeTotalResultMonitor.entry)
|
|
{
|
|
float skipButtonWaitTime = kaleidxScopeTotalResultMonitor.skipButtonWaitTime;
|
|
if (kaleidxScopeTotalResultMonitor.skipButtonWaitTime > 0f)
|
|
{
|
|
kaleidxScopeTotalResultMonitor.skipButtonWaitTime -= Time.deltaTime;
|
|
}
|
|
if (skipButtonWaitTime > 0f && kaleidxScopeTotalResultMonitor.skipButtonWaitTime <= 0f)
|
|
{
|
|
kaleidxScopeTotalResultMonitor.GetButtonController().SetButtons(KaleidxScopeTotalResultButtonController.ButtonControlType.NextIn);
|
|
}
|
|
}
|
|
}
|
|
if (this.timer < 30f)
|
|
{
|
|
this.timer += Time.deltaTime;
|
|
}
|
|
if (this.timer >= 30f)
|
|
{
|
|
this.stateMachine.timeUp = true;
|
|
}
|
|
this.bothSkip = this.stateMachine.monitorList[0].Skip && this.stateMachine.monitorList[1].Skip;
|
|
if (!this.bothSkip)
|
|
{
|
|
for (int j = 0; j < 2; j++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor2 = this.stateMachine.monitorList[j];
|
|
if (kaleidxScopeTotalResultMonitor2.entry && kaleidxScopeTotalResultMonitor2.Skip)
|
|
{
|
|
this.stateMachine.ShowWaitWindowLower(j);
|
|
}
|
|
}
|
|
}
|
|
if (this.stateMachine.timeUp || this.bothSkip)
|
|
{
|
|
if (this.stateMachine.monitorList[0].unlockMusic || this.stateMachine.monitorList[1].unlockMusic)
|
|
{
|
|
this.stateMachine.ChangeState(new KaleidxScopeTotalResultState.UnlockMusic(this.stateMachine, KaleidxScopeTotalResultState.StateType.UnlockMusic));
|
|
return;
|
|
}
|
|
this.stateMachine.ChangeState(new KaleidxScopeTotalResultState.TimeUp(this.stateMachine, KaleidxScopeTotalResultState.StateType.TimeUp));
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004E30 RID: 20016 RVA: 0x001A122A File Offset: 0x001A042A
|
|
public override void OnExit()
|
|
{
|
|
base.OnExit();
|
|
}
|
|
|
|
// Token: 0x06004E31 RID: 20017 RVA: 0x001A19C8 File Offset: 0x001A0BC8
|
|
private KaleidxScopeResultCharaController.SpriteType ConvertGateIdToCharaSpriteType(int gateId)
|
|
{
|
|
KaleidxScopeResultCharaController.SpriteType spriteType = KaleidxScopeResultCharaController.SpriteType.Kaleidx_01;
|
|
KaleidxScopeGateData kaleidxScopeGate = Singleton<DataManager>.Instance.GetKaleidxScopeGate(gateId);
|
|
if (kaleidxScopeGate != null)
|
|
{
|
|
if (kaleidxScopeGate.gateType == GateTypeID.LastBoss)
|
|
{
|
|
if (Singleton<KaleidxScopeManager>.Instance.IsSpecialGate())
|
|
{
|
|
spriteType = (KaleidxScopeResultCharaController.SpriteType)kaleidxScopeGate.designDataId;
|
|
}
|
|
else
|
|
{
|
|
spriteType = KaleidxScopeResultCharaController.SpriteType.Kaleidx_11;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
spriteType = (KaleidxScopeResultCharaController.SpriteType)kaleidxScopeGate.designDataId;
|
|
}
|
|
}
|
|
return spriteType;
|
|
}
|
|
|
|
// Token: 0x06004E32 RID: 20018 RVA: 0x001A1A14 File Offset: 0x001A0C14
|
|
private KaleidxScopeResultIconController.SpriteType ConvertGateIdToIconSpriteType(int gateId)
|
|
{
|
|
KaleidxScopeResultIconController.SpriteType spriteType = KaleidxScopeResultIconController.SpriteType.Kaleidx_01;
|
|
KaleidxScopeGateData kaleidxScopeGate = Singleton<DataManager>.Instance.GetKaleidxScopeGate(gateId);
|
|
if (kaleidxScopeGate != null)
|
|
{
|
|
spriteType = (KaleidxScopeResultIconController.SpriteType)kaleidxScopeGate.designDataId;
|
|
}
|
|
return spriteType;
|
|
}
|
|
|
|
// Token: 0x0400633C RID: 25404
|
|
private const float TimeLimit = 30f;
|
|
|
|
// Token: 0x0400633D RID: 25405
|
|
private float timer;
|
|
|
|
// Token: 0x0400633E RID: 25406
|
|
private bool bothSkip;
|
|
|
|
// Token: 0x0400633F RID: 25407
|
|
private const float SkipWaitTimeIn = 3f;
|
|
|
|
// Token: 0x04006340 RID: 25408
|
|
private const float SkipWaitTimeInClear = 5f;
|
|
}
|
|
|
|
// Token: 0x02000A2D RID: 2605
|
|
public class UnlockMusic : StateBase<KaleidxScopeTotalResultState, KaleidxScopeTotalResultState.StateType>
|
|
{
|
|
// Token: 0x06004E33 RID: 20019 RVA: 0x001A0E8C File Offset: 0x001A008C
|
|
public UnlockMusic(KaleidxScopeTotalResultState _stateMachine, KaleidxScopeTotalResultState.StateType _enumState)
|
|
: base(_stateMachine, _enumState)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E34 RID: 20020 RVA: 0x001A1A3C File Offset: 0x001A0C3C
|
|
public override void OnEnter()
|
|
{
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (!kaleidxScopeTotalResultMonitor.entry)
|
|
{
|
|
kaleidxScopeTotalResultMonitor.Skip = true;
|
|
}
|
|
else if (kaleidxScopeTotalResultMonitor.unlockMusic)
|
|
{
|
|
this.stateMachine.HideWaitWindowLower(i);
|
|
kaleidxScopeTotalResultMonitor.Skip = false;
|
|
KaleidxScopeCourseData kaleidxScopeCourse = Singleton<DataManager>.Instance.GetKaleidxScopeCourse(Singleton<KaleidxScopeManager>.Instance.courseId);
|
|
if (Singleton<KaleidxScopeManager>.Instance.IsEqualsGateType(GateTypeID.Hope))
|
|
{
|
|
int[] hope_GATE_EX_REWARD = Singleton<KaleidxScopeManager>.Instance.HOPE_GATE_EX_REWARD;
|
|
for (int j = 0; j < hope_GATE_EX_REWARD.Length; j++)
|
|
{
|
|
this.stateMachine.rewardMusicID.Add(hope_GATE_EX_REWARD[j]);
|
|
}
|
|
}
|
|
this.stateMachine.rewardMusicID.Add(kaleidxScopeCourse.getMusicName.id);
|
|
this.InitMusicWindow(this.stateMachine.rewardMusicID[this.rewardMusicIndex], i);
|
|
}
|
|
else
|
|
{
|
|
this.stateMachine.ShowWaitWindowLower(i);
|
|
kaleidxScopeTotalResultMonitor.Skip = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004E35 RID: 20021 RVA: 0x001A1B40 File Offset: 0x001A0D40
|
|
private void InitMusicWindow(int musicID, int monitorIndex)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[monitorIndex];
|
|
MusicData music = Singleton<DataManager>.Instance.GetMusic(musicID);
|
|
string str = music.name.str;
|
|
Texture2D jacketTexture2D = this.stateMachine.container.assetManager.GetJacketTexture2D(music.jacketFile);
|
|
Sprite sprite = Sprite.Create(jacketTexture2D, new Rect(0f, 0f, (float)jacketTexture2D.width, (float)jacketTexture2D.height), new Vector2(0.5f, 0.5f));
|
|
MusicWindow musicWindow = kaleidxScopeTotalResultMonitor.GetMusicWindow();
|
|
musicWindow.gameObject.SetActive(true);
|
|
musicWindow.Set(sprite, str);
|
|
musicWindow.Play(null);
|
|
SoundManager.PlaySE(Cue.JINGLE_MAP_GET, monitorIndex);
|
|
this.rewardMusicIndex++;
|
|
}
|
|
|
|
// Token: 0x06004E36 RID: 20022 RVA: 0x001A1BFC File Offset: 0x001A0DFC
|
|
public override void OnUpdateInput()
|
|
{
|
|
if (this.timeUp)
|
|
{
|
|
return;
|
|
}
|
|
if (this.timer < 1f)
|
|
{
|
|
return;
|
|
}
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (kaleidxScopeTotalResultMonitor.entry && !kaleidxScopeTotalResultMonitor.Skip && InputManager.GetButtonDown(i, InputManager.ButtonSetting.Button04))
|
|
{
|
|
kaleidxScopeTotalResultMonitor.Skip = true;
|
|
kaleidxScopeTotalResultMonitor.GetMusicWindow().Skip();
|
|
KaleidxScopeTotalResultButtonController buttonController = kaleidxScopeTotalResultMonitor.GetButtonController();
|
|
buttonController.SetButtons(KaleidxScopeTotalResultButtonController.ButtonControlType.NextOut);
|
|
buttonController.SetAnimationActive(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004E37 RID: 20023 RVA: 0x001A1C80 File Offset: 0x001A0E80
|
|
public override void OnUpdate()
|
|
{
|
|
float num = this.timer;
|
|
if (this.timer < 5f)
|
|
{
|
|
this.timer += Time.deltaTime;
|
|
}
|
|
int i = 0;
|
|
while (i < 2)
|
|
{
|
|
if (this.timer < 5f)
|
|
{
|
|
goto IL_00C5;
|
|
}
|
|
if (this.stateMachine.rewardMusicID.Count <= this.rewardMusicIndex)
|
|
{
|
|
this.timeUp = true;
|
|
goto IL_00C5;
|
|
}
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (kaleidxScopeTotalResultMonitor.entry && kaleidxScopeTotalResultMonitor.unlockMusic)
|
|
{
|
|
this.timer = 0f;
|
|
this.stateMachine.monitorList[i].Skip = false;
|
|
this.InitMusicWindow(this.stateMachine.rewardMusicID[this.rewardMusicIndex], i);
|
|
goto IL_00C5;
|
|
}
|
|
IL_0172:
|
|
i++;
|
|
continue;
|
|
IL_00C5:
|
|
if (!this.stateMachine.monitorList[i].Skip)
|
|
{
|
|
goto IL_0172;
|
|
}
|
|
if (this.stateMachine.rewardMusicID.Count <= this.rewardMusicIndex)
|
|
{
|
|
this.stateMachine.monitorList[i].Skip = true;
|
|
goto IL_0172;
|
|
}
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor2 = this.stateMachine.monitorList[i];
|
|
if (kaleidxScopeTotalResultMonitor2.entry && kaleidxScopeTotalResultMonitor2.unlockMusic)
|
|
{
|
|
this.timer = 0f;
|
|
this.stateMachine.monitorList[i].Skip = false;
|
|
this.InitMusicWindow(this.stateMachine.rewardMusicID[this.rewardMusicIndex], i);
|
|
goto IL_0172;
|
|
}
|
|
goto IL_0172;
|
|
}
|
|
for (int j = 0; j < 2; j++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor3 = this.stateMachine.monitorList[j];
|
|
if (kaleidxScopeTotalResultMonitor3.entry && kaleidxScopeTotalResultMonitor3.unlockMusic && num < 1f && this.timer >= 1f)
|
|
{
|
|
kaleidxScopeTotalResultMonitor3.GetButtonController().SetButtons(KaleidxScopeTotalResultButtonController.ButtonControlType.NextIn);
|
|
}
|
|
}
|
|
this.bothSkip = this.stateMachine.monitorList[0].Skip && this.stateMachine.monitorList[1].Skip;
|
|
if (!this.bothSkip)
|
|
{
|
|
for (int k = 0; k < 2; k++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor4 = this.stateMachine.monitorList[k];
|
|
if (kaleidxScopeTotalResultMonitor4.entry && kaleidxScopeTotalResultMonitor4.Skip)
|
|
{
|
|
this.stateMachine.ShowWaitWindowLower(k);
|
|
}
|
|
}
|
|
}
|
|
if (this.timeUp || this.bothSkip)
|
|
{
|
|
this.stateMachine.ChangeState(new KaleidxScopeTotalResultState.TimeUp(this.stateMachine, KaleidxScopeTotalResultState.StateType.TimeUp));
|
|
}
|
|
}
|
|
|
|
// Token: 0x06004E38 RID: 20024 RVA: 0x001A1F0C File Offset: 0x001A110C
|
|
public override void OnExit()
|
|
{
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
KaleidxScopeTotalResultMonitor kaleidxScopeTotalResultMonitor = this.stateMachine.monitorList[i];
|
|
if (kaleidxScopeTotalResultMonitor.entry && kaleidxScopeTotalResultMonitor.unlockMusic && !kaleidxScopeTotalResultMonitor.Skip)
|
|
{
|
|
kaleidxScopeTotalResultMonitor.GetMusicWindow().Skip();
|
|
KaleidxScopeTotalResultButtonController buttonController = kaleidxScopeTotalResultMonitor.GetButtonController();
|
|
buttonController.SetButtons(KaleidxScopeTotalResultButtonController.ButtonControlType.NextOut);
|
|
buttonController.SetAnimationActive(0);
|
|
}
|
|
}
|
|
base.OnExit();
|
|
}
|
|
|
|
// Token: 0x04006341 RID: 25409
|
|
private const float TimeLimit = 5f;
|
|
|
|
// Token: 0x04006342 RID: 25410
|
|
private const float ShowButtonTime = 1f;
|
|
|
|
// Token: 0x04006343 RID: 25411
|
|
private float timer;
|
|
|
|
// Token: 0x04006344 RID: 25412
|
|
private bool bothSkip;
|
|
|
|
// Token: 0x04006345 RID: 25413
|
|
private bool timeUp;
|
|
|
|
// Token: 0x04006346 RID: 25414
|
|
private int rewardMusicIndex;
|
|
}
|
|
|
|
// Token: 0x02000A2E RID: 2606
|
|
public class TimeUp : StateBase<KaleidxScopeTotalResultState, KaleidxScopeTotalResultState.StateType>
|
|
{
|
|
// Token: 0x06004E39 RID: 20025 RVA: 0x001A1F74 File Offset: 0x001A1174
|
|
public TimeUp(KaleidxScopeTotalResultState _stateMachine, KaleidxScopeTotalResultState.StateType _enumState)
|
|
: base(_stateMachine, _enumState)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E3A RID: 20026 RVA: 0x001A1F8C File Offset: 0x001A118C
|
|
public override void OnEnter()
|
|
{
|
|
if (this.stateMachine.monitorList[0].unlockMusic || this.stateMachine.monitorList[1].unlockMusic)
|
|
{
|
|
this.stateMachine.nextProcess = KaleidxScopeTotalResultState.NextProcessType.KaleidxScopeUnlock;
|
|
return;
|
|
}
|
|
this.stateMachine.nextProcess = KaleidxScopeTotalResultState.NextProcessType.TotalResult;
|
|
}
|
|
|
|
// Token: 0x06004E3B RID: 20027 RVA: 0x00003598 File Offset: 0x00002798
|
|
public override void OnUpdateInput()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E3C RID: 20028 RVA: 0x001A1FE5 File Offset: 0x001A11E5
|
|
public override void OnUpdate()
|
|
{
|
|
if (this.waitTime > 0f)
|
|
{
|
|
this.waitTime -= Time.deltaTime;
|
|
return;
|
|
}
|
|
this.stateMachine.ChangeState(new KaleidxScopeTotalResultState.Release(this.stateMachine, KaleidxScopeTotalResultState.StateType.Release));
|
|
}
|
|
|
|
// Token: 0x06004E3D RID: 20029 RVA: 0x001A2020 File Offset: 0x001A1220
|
|
public override void OnExit()
|
|
{
|
|
for (int i = 0; i < 2; i++)
|
|
{
|
|
if (this.stateMachine.monitorList[i].entry)
|
|
{
|
|
UserData userData = Singleton<UserDataManager>.Instance.GetUserData((long)i);
|
|
UserKaleidxScope userKaleidxScope = Singleton<KaleidxScopeManager>.Instance.GetValidKaleidxScopeList(userData).Find((UserKaleidxScope a) => a.gateId == Singleton<KaleidxScopeManager>.Instance.gateId);
|
|
if (userKaleidxScope != null && !this.stateMachine.skipUnlockMusic)
|
|
{
|
|
userKaleidxScope.lastPlayDate = TimeManager.GetNowDateString();
|
|
if (userKaleidxScope.isGateFound && userKaleidxScope.isKeyFound)
|
|
{
|
|
uint num = Singleton<KaleidxScopeManager>.Instance.totalAchievementList[i];
|
|
int num2 = Singleton<KaleidxScopeManager>.Instance.totalDeluxeScoreList[i];
|
|
int num3 = Singleton<KaleidxScopeManager>.Instance.restLifeList[i];
|
|
bool isClear = userKaleidxScope.isClear;
|
|
bool flag = Singleton<KaleidxScopeManager>.Instance.restLifeList[i] > 0;
|
|
bool flag2 = (long)userKaleidxScope.totalAchievement < (long)((ulong)num);
|
|
bool flag3 = false;
|
|
if (!isClear && flag)
|
|
{
|
|
flag3 = true;
|
|
}
|
|
else if (flag && flag2)
|
|
{
|
|
flag3 = true;
|
|
}
|
|
else if (!isClear && !flag && flag2)
|
|
{
|
|
flag3 = true;
|
|
}
|
|
if (flag3)
|
|
{
|
|
userKaleidxScope.totalAchievement = (int)num;
|
|
userKaleidxScope.totalDeluxscore = num2;
|
|
userKaleidxScope.totalRestLife = num3;
|
|
}
|
|
if ((long)userKaleidxScope.bestAchievement < (long)((ulong)num))
|
|
{
|
|
userKaleidxScope.bestAchievement = (int)num;
|
|
userKaleidxScope.bestAchievementDate = TimeManager.GetNowDateString();
|
|
}
|
|
if (userKaleidxScope.bestDeluxscore < num2)
|
|
{
|
|
userKaleidxScope.bestDeluxscore = num2;
|
|
userKaleidxScope.bestDeluxscoreDate = TimeManager.GetNowDateString();
|
|
}
|
|
userKaleidxScope.playCount++;
|
|
if (!isClear && flag)
|
|
{
|
|
userKaleidxScope.isClear = true;
|
|
userKaleidxScope.clearDate = TimeManager.GetNowDateString();
|
|
for (int j = 0; j < this.stateMachine.rewardMusicID.Count; j++)
|
|
{
|
|
userData.AddUnlockMusic(UserData.MusicUnlock.Base, this.stateMachine.rewardMusicID[j]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.stateMachine.moveToNextProcess = true;
|
|
base.OnExit();
|
|
}
|
|
|
|
// Token: 0x04006347 RID: 25415
|
|
private float waitTime = 1f;
|
|
}
|
|
|
|
// Token: 0x02000A2F RID: 2607
|
|
public class Release : StateBase<KaleidxScopeTotalResultState, KaleidxScopeTotalResultState.StateType>
|
|
{
|
|
// Token: 0x06004E3E RID: 20030 RVA: 0x001A0E8C File Offset: 0x001A008C
|
|
public Release(KaleidxScopeTotalResultState _stateMachine, KaleidxScopeTotalResultState.StateType _enumState)
|
|
: base(_stateMachine, _enumState)
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E3F RID: 20031 RVA: 0x00003598 File Offset: 0x00002798
|
|
public override void OnEnter()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E40 RID: 20032 RVA: 0x00003598 File Offset: 0x00002798
|
|
public override void OnUpdateInput()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E41 RID: 20033 RVA: 0x00003598 File Offset: 0x00002798
|
|
public override void OnUpdate()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06004E42 RID: 20034 RVA: 0x001A122A File Offset: 0x001A042A
|
|
public override void OnExit()
|
|
{
|
|
base.OnExit();
|
|
}
|
|
}
|
|
}
|