Files
Assembly-CSharp/Assembly-CSharp/KaleidxScopeTotalResultState.cs
2026-06-12 12:58:31 +08:00

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();
}
}
}